Download presentation
Presentation is loading. Please wait.
1
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 Position Paper Bernhard Bauer
2
© Bernhard Bauer, all rights reserved 2006 Semantic-Enabled Software Engineering Motivation + Introduction Problems of Todays SE Application Areas An Idea of a Semantic-Enabled Software Engineering IDE
3
© Bernhard Bauer, all rights reserved 2006 Motivation Economic Trends Mergers and Split of Enterprises Outsourcing / Offshoring Industrialisation of SW Development Technology Trends Model-Driven Development Generation and Transformation Semantic Web Technologies Necessary Interoperability Semantic-based Integration of heterogenuous Systems Automation of SW Development Software Engineering + Semantic Technologies
4
© Bernhard Bauer, all rights reserved 2006 Model-Driven Software Development Model Driven Development: Computational Independent Model (CIM) describes the business (logic) defines business processes and domain specifics Platform-Independent Model (PIM) describes a software system that supports some business independent from any implementation technology Platform-Specific Model (PSM) developed/generated from the PIM depends on the underlying technology Target platform implementation mappings to multiple middleware platforms Agent Model Java/EJB Model BPEL Model PIM Agent Impl Java/EJB Impl BPEL Impl Other Impl PSM CIM An old-fashioned figure
5
© Bernhard Bauer, all rights reserved 2006 Semantic Technolologies You know Them!
6
© Bernhard Bauer, all rights reserved 2006 Problems of Today‘s Software Development Methodologies: Methodologies (e.g. RUP, Agile Development Methodologies, V-model XT) customized to enterprises Guidelines und document templates not supported in the necessary detail Interoperability issues: mainly at run-time mergers arise problems build-time model-driven integration of systems neglected. Search and composition of components / models: 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. Syntactic-based model transformations: Model transformations on the basis of meta-models, no semantics reuse of model transformations and adjusting model transformations to new versions of meta-models.
7
© Bernhard Bauer, all rights reserved 2006 Possible Solution Mainstream Software Engineering (UML + MDSD) + Semantic Technologies (Ontologies, Reasoning, etc.) = Semantic-Enabled Software Engineering
8
© Bernhard Bauer, all rights reserved 2006 Ideas for Semantic-Enabled Software Engineering UML + Semantics – not really innovative Requirements Engineering / Knowledge Acquisition Develop Domain Ontologies Re-use this ontologies through the whole development process Use Case Diagram Define your roles in an ontology Prepare use cases with IOPE Activity Diagram / Interaction Overview Diagram Model your process with IOPE Define static and dynamic (!) semantics of process Class Diagram Add additional ontological concepts to class diagrams … Starting point for further exploiration of Semantic Technologies
9
© Bernhard Bauer, all rights reserved 2006 Ideas for Semantic-Enabled Software Engineering Semantic-Enabled Model Transformation MM2MM1 Reference Ontology Bootstrap Model Transformation Binding (sem. Annotation) Model Transformations Metamodels v1.5 v1.6 Metamodels v2.0 v2.1 Binding (sem. Annotation) Inference Component Ontology-based Model Transformation Model Manipulator Sem-MT-Component Source Target input relationship (binding)
10
© Bernhard Bauer, all rights reserved 2006 Ideas for Semantic-Enabled Software Engineering Model Analysis Model Analysis, e.g. Does the model satisfy / not satisfy specific properties Formalization of the semantics wrt. previous models in the development process „verification“ of the system Is the composed model consistent Is the model correct wrt. the modeling guidelines
11
© Bernhard Bauer, all rights reserved 2006 Ideas for Semantic-Enabled Software Engineering Model Synthesis Model Synthesis Integration of different models from different development teams Different enterprises In new models like Interaction Overview Diagrams Like service synthesis on the Semantic Web Service level for Components Models Processes Data Etc.
12
© Bernhard Bauer, all rights reserved 2006 Ideas for Semantic-Enabled Software Engineering Attribution of Meta-Models Modelling Guidelines are pre-requisite for Model Transformation Annotate the meta-model with additional information to describe guidelines allow meta-model optimization „data flow“ to handle dynamics of models
13
© Bernhard Bauer, all rights reserved 2006 Semantic Enabled IDE MM x MxMx ModelRep.Ontologies ApplOnt x Ref.Ontology Reasoner Model Manipulator Sem-X-Component RuleSet Sem-X-Tools SemIDE-Infrastructure Semantic enabled IDE 1 2 3 4 5...
14
© Bernhard Bauer, all rights reserved 2006 Conclusions Semantic Technologies allow to add semantics and meaning to models to analysis and synthesis models to generate initial model transformations to automate the software engineering process Solve Shortcomings of Today’s Software Engineering Methodologies Interoperability issues Search and composition of components / models model transformations
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.