SemanticEnabled Software Engineering Position Paper Bernhard Bauer Programmierung
Semantic-Enabled Software Engineering Position Paper Bernhard Bauer Programmierung verteilter Systeme Lab Institut für Informatik Universität Augsburg Universitätsstraße 14, 86159 Augsburg Tel. : (+49) 821/598 -2174, Fax: -2175 URL: http: //www. informatik. uni-augsburg. de/vs
Semantic-Enabled Software Engineering n n Motivation + Introduction Problems of Todays SE Application Areas An Idea of a Semantic-Enabled Software Engineering IDE © Bernhard Bauer, all rights reserved 2006
Motivation n Economic Trends 4 Mergers and Split of Enterprises 4 Outsourcing / Offshoring 4 Industrialisation of SW Development n Technology Trends 4 Model-Driven Development 4 Generation and Transformation 4 Semantic Web Technologies Ø Necessary Ø Ø Interoperability Semantic-based Integration of heterogenuous Systems Automation of SW Development Software Engineering + Semantic Technologies © Bernhard Bauer, all rights reserved 2006
Model-Driven Software Development Model Driven Development: n Computational Independent Model (CIM) 4 4 n describes a software system that supports some business independent from any implementation technology ure g i f ned o i h fas d l o PIM Platform-Specific Model (PSM) 4 4 n An describes the business (logic) defines business processes and domain specifics Platform-Independent Model (PIM) 4 CIM developed/generated from the PIM depends on the underlying technology Target platform implementation 4 Agent Model Java/EJB Model BPEL Model PSM Agent Impl Java/EJB Impl BPEL Impl Other Impl mappings to multiple middleware platforms © Bernhard Bauer, all rights reserved 2006
Semantic Technolologies n You know Them! © Bernhard Bauer, all rights reserved 2006
Problems of Today‘s Software Development n Methodologies: 4 Methodologies (e. g. RUP, Agile Development Methodologies, V-model XT) customized to enterprises 4 Guidelines und document templates not supported in the necessary detail n Interoperability issues: 4 mainly at run-time 4 mergers arise problems 4 build-time model-driven integration of systems neglected. n Search and composition of components / models: 4 4 Re-use of COTS components and services difficult, on code-level manually lookups based on syntactical descriptions lack of semantic rich descriptions of e. g. functionality and quality attributes semi-automatic orchestration of components to value-added services difficult. n Syntactic-based model transformations: 4 Model transformations on the basis of meta-models, no semantics 4 reuse of model transformations and adjusting model transformations to new versions of meta-models. © Bernhard Bauer, all rights reserved 2006
Possible Solution Mainstream Software Engineering (UML + MDSD) + Semantic Technologies (Ontologies, Reasoning, etc. ) = Semantic-Enabled Software Engineering © Bernhard Bauer, all rights reserved 2006
Ideas for Semantic-Enabled Software Engineering UML + Semantics – not really innovative n Requirements Engineering / Knowledge Acquisition 4 Develop Domain Ontologies 4 Re-use this ontologies through the whole development process n Use Case Diagram 4 Define your roles in an ontology 4 Prepare use cases with IOPE n Activity Diagram / Interaction Overview Diagram 4 Model your process with IOPE 4 Define static and dynamic (!) semantics of process n Class Diagram 4 Add additional ontological concepts to class diagrams 4 … Ø Starting point for further exploiration of Semantic Technologies © Bernhard Bauer, all rights reserved 2006
Ideas for Semantic-Enabled Software Engineering Semantic-Enabled Model Transformation Reference Ontology Binding (sem. Annotation) Bootstrap Model Transformation Metamodels MM 1 v 1. 5 MM 2 v 1. 6 Source v 2. 1 v 2. 0 Ontology-based Model Transformation Inference Component Target Model Manipulator input Sem-MT-Component relationship (binding) Model Transformations © Bernhard Bauer, all rights reserved 2006
Ideas for Semantic-Enabled Software Engineering Model Analysis n Model Analysis, e. g. 4 Does the model satisfy / not satisfy specific properties 8 Formalization of the semantics wrt. previous models in the development process 8 „verification“ of the system 4 Is the composed model consistent 4 Is the model correct wrt. the modeling guidelines © Bernhard Bauer, all rights reserved 2006
Ideas for Semantic-Enabled Software Engineering Model Synthesis n Model Synthesis 4 Integration of different models 8 from different development teams 8 Different enterprises 8 In new models like Interaction Overview Diagrams 4 Like service synthesis on the Semantic Web Service level for 8 8 8 Components Models Processes Data Etc. © Bernhard Bauer, all rights reserved 2006
Ideas for Semantic-Enabled Software Engineering Attribution of Meta-Models n Modelling Guidelines are pre-requisite for Model Transformation n Annotate the meta-model with additional information 4 to describe guidelines 4 allow meta-model optimization 4 „data flow“ to handle dynamics of models © Bernhard Bauer, all rights reserved 2006
Semantic Enabled IDE Semantic enabled IDE Sem-X-Tools Model Manipulator 2 Sem-X-Component Rule. Set 3 1 4 Model. Rep. 5 Ontologies Reasoner MMx Mx Sem. IDE-Infrastructure Appl. Ontx Ref. Ontology . . . © Bernhard Bauer, all rights reserved 2006
Conclusions n Semantic Technologies allow 4 4 to add semantics and meaning to models to analysis and synthesis models to generate initial model transformations to automate the software engineering process n Solve Shortcomings of Today’s Software Engineering 4 4 Methodologies Interoperability issues Search and composition of components / models model transformations © Bernhard Bauer, all rights reserved 2006
- Slides: 14