Web Science & Technologies University of Koblenz Landau, Germany Semantic Model-driven Engineering Acknowledgements to students and colleagues@most project http://most-project.eu
New level in Software Engineering 2030 Ontology-Driven Software Development (ODSD) 2020 2010 Consistency-based development with ontology languages Guided development with advising languages 2000 Constraint-safe development with constraint languages 1990 1980 Type-safe development with typed languages 1970 1960 Development with untyped languages 1950 [ODSD] 2of 25 2
Marrying Ontologies and Software Technology Software Engineer Ontology Expert Software Modeling World (ModelWare) Ontology World (OntologyWare) EMOF MOF OWL RDF [ODSD] 3of 25
Marrying Ontologies and Software Technology Software Engineer Ontology Expert Terminologies with 10 3 to 10 6 entities Software Modeling World (ModelWare) EMOF MOF Ontology World (OntologyWare) OWL RDF Gene Ontology Snomed FMA [ODSD] 500+ terminologies in the B2B world 4of 25
Marrying Ontologies and Software Technology Software Engineer Ontology Expert Terminologies with 10 3 to 10 6 entities Software Modeling World (ModelWare) EMOF MOF Ontology World (OntologyWare) OWL RDF Gene Ontology Snomed FMA [ODSD] ontology technologies 500+ terminologies in the B2B world 5of 25
The MOST Project ODSD with Process Guidance Consistency Preservation In ODSD Foundational ODSD technology Basic technology [ODSD] 6of 25
The MOST Project Software Modeling World (ModelWare) Ontology World (OntologyWare) ODSD with Process Guidance Consistency Preservation In ODSD Foundational ODSD technology Traceability Integration of Metamodels and Ontologies Ontology-based configuration Basic technology MDSD Case Studies Ontologies [ODSD] 7of 25
The MOST Project Software Modeling World (ModelWare) Ontology World (OntologyWare) ODSD with Process Guidance Ontology- Integrated Modeling TwoUse: A Platform for ODSD Ontology- Guided Software Development Consistency Preservation In ODSD Consistency Checking for Structural Models Bridges Consistency Checking for Processes Foundational ODSD technology Traceability Integration of Metamodels and Ontologies Ontology-based configuration Basic technology MDSD Case Studies Ontologies [ODSD] 8of 25
ONTOLOGY BASED DOMAIN SPECIFIC LANGUAGES 9of 25
Stakeholders [MODELS09] Bridge Developer specifies Metamodeling Language uses DSL Designer specifies DSL Metamodel defined in Constraints uses based on DSL User builds Domain Model Guidance and services requires 10 of 25
Scenario at Comarch (PL) Modeling physical devices, e.g. Cisco network devices Cisco 7603: Domain Model: [MODELS09] Device Configuration Slot Slot Slot HotSwappableOSM SupervisorEngine Restrictions modeling a Cicso7603 device: Every Cisco7603 has at least 1 Configuration7603 Every Configuration has at least 1 Slot in which a SupervisorEngine card is plugged in A Configuration7603 has exactly 3 Slots in which either a HotSwappableOSM or SPAInterface card is plugged in. DSL Designer 11 of 25
DSL User interacting with PDDSL Domain Model: Device Configuration HotSwappableOSM (inconsistent) Error DSL User Requirements of DSL User: Consistency Checking Debugging of domain models [MODELS09] 12 of 25
DSL User interacting with PDDSL Domain Model: Device Configuration Slot Slot Slot (consistent) HotSwappableOSM DSL User Requirements of DSL User: Consistency Checking Debugging of domain models Validate incomplete models Guidance and explanations how to complete the model [MODELS09] 13 of 25
DSL User interacting with PDDSL Domain Model: Device Configuration Slot Slot Slot (inconsistent) DSL User HotSwappableOSM Explanation: SPAInterface Configuration hasslot some Error Slot and hascard some SupervisorEngine HotSwappableOSM Requirements of DSL User: Consistency Checking Debugging of domain models Validate incomplete models Guidance and explanations how to complete the model [MODELS09] 14 of 25
DSL User interacting with PDDSL Domain Model: Cisco7603 Device Configuration7603 Configuration Slot Slot Slot (consistent) HotSwappableOSM SupervisorEngine DSL User Requirements of DSL User: Consistency Checking Debugging of domain models Validate incomplete models Guidance and explanations how to complete the model Suggestions of suitable domain concepts Use of services without any extra effort [MODELS09] 15 of 25
Integrated Modeling Modeling PDDSL class Device { reference hasconfiguration [1-*]: Configuration; } DSL Designer class Cisco7603 extends Device {, equivalentwith restrictionon hasconfiguration with min 1 Configuration7603 { } class Configuration equivalentwith { IntersectionOf(restrictionOn hasslot with min 1 Slot, restrictionon hasslot some restrictionon hascard some SupervisorEngine) { reference hasslot : Slot; } Description Logics Subset of first order logics class Configuration7603 extends Configuration, { equivalentwith IntersectionOf(restrictionOn hasslot with exactly 3 Slot, Reasoning at two levels restrictionon hasslot with some Class level restrictionon hascard with some UnionOf(HotSwappableOSM, SPAInterface) { } Object Level Sound and complete reasoning Pragmatically efficient class Slot { reference hascard [1-*]: Card; } 16 of 25
Integration Bridge: Metamodelling PDDSL Bridge Developer Bridging Technology Integration Ontoware TS OWL2 Metamodel integration Integrated (Meta )Metamodel integration Modelware TS Ecore Metametamodel M3 Tools Querying Reasoning Technology Ontology TBox ABox projection projection Hybrid (Meta )model ontoware modelware Model projection projection DSL Metamodel Model Model Tools Validation Constraint Technology conformsto M2 conformsto M1 [DKE10] 17 of 25
Evaluation: Stakeholders and measures GQM methodology reused Actor Productivity Quality Bridge developer Not measured Not measured Productivity Compare development time under comparable conditions Quality Compare development time spent on bug fixing DSL designer manual, pure models vs manual, hybrid vs generalized, hybrid Productivity measure * bug ratio Assumption: development is continued until no errors exist Domain expert/ Customer expert Cisco 7600 with PDDSL vs. Without PDDSL Productivity measure * bug ratio [ECMFA10] Domain user Survey customers Survey customers 18 of 25
Evaluation DSL developer productivity & quality Implement consistency guidance services for DSL users/domain experts Instance validation Types validation Suggestions Includes abstract syntax integration Excludes concrete syntax integration Excludes requirements analysis Component/Approach Manual, pure models Manual, hybrid Generalized, hybrid Metamodel integration 0 6 h Re-use Projection to OWL 0 40 h (mostly) automated Services implementation 98 h 28 h Finished Apr 30 Testing& Bugfixing 34 h 18 h Finished Apr 30 Productivity improvement - 40 h = 30% Finished Apr 30 Quality improvement - 16 h = 47% Finished Apr 30 19 of 25
PROCESS REASONING 20 of 25
Supporting SAP Development of Processes From business developer to software developer BPMN at different levels of granularity 21 of 25
Transformation Bridge for Process Reasoning Bridging Technology Transformation Ontoware TS OWL2 Metamodel target metamodel Transformation Definition source metamodel Modelware TS Ecore Metametamodel M3 Tools Querying Reasoning Technology Ontology TBox ABox target model target model Transformation Engine source model source model DSL Metamodel Model Model Tools Validation Constraint Technology conformsto M2 conformsto M1 [DKE10] 22 of 25
Mapping Process Steps [DL 2009] 23 of 25
Transformation Bridge 1. Eliminating parallel gateways: Executions remain the same Exponential complexity (O(n!)) 2. Reduce execution sets to predecessor and successor sets: Predecessor sets: PS(b11) = {a11}; PS(a21) = {b11}, etc. Successor sets: SS(b11) = {a21,b22}; SS(a21) = {b21}, etc. Execution sets subsumption can be reduced to PS/SS sets subsumptions [DL2009] 24 of 25
Example for survey question without support 3 processes in a refinement hierarchy Model real-life business processes from Curran et al. (1999): SAP R/3 Business Blueprint: Understanding Enterprise Supply Chain Management Some models have multiple errors Multiple-choice: 2-4 answer options, multiple correct options possible Experiments performed by J. Lemcke & colleagues, SAP AG 25 of 25
Example for survey question with support 2 main surveys Survey 1 with no support to modeller Survey 2 with error highlights in the BPMN diagrams or guidance comments, respectively Experiments performed by J. Lemcke & colleagues, SAP AG 26 of 25
Results per case study Process refinement case study Quality: QI = 57%, sav q = 36% Productivity: PI = 192%, sav p = 66% Process guidance case study Quality: QI = 66%, sav q = 40% Productivity: PI = 254%, sav p = 72% Experiments performed by J. Lemcke & colleagues, SAP AG 27 of 25 27
Calculation & overall results Data gathered C S, C N correct answers with / without support W S, W N wrong answers with / without support t S, t N time for questions with / without support Measure: Quality improvement r q = = 1.6, QI = r q 100% = 60% Measure: Productivity improvement r p = = 3.12, PI = r p 100% = 212% Savings: sav = Quality: sav q = 38% Productivity: sav p = 68% 28 of 25
CONCLUSION 29 of 25
Bridge Classification Motivation Bridging Integration Bridging definition layer M3 layer Extended expressiveness of metamodeling language Additional Restrictions for M1 models M2 layer Leveraging models by ontologies Knowledge represented independently of modeling language Transformation Replacement of coexistence between metamodels (+ conforming models) and ontologies Enabling ontologybased querying Transformations of models to formal ontological representations Enabling formal semantics 30 of 25
Bridging Tools Tools Bridging Integration Transformation Bridging definition layer M3 layer OntoDSL: Metamodeling with Ecore and OWL class Configuration7603 extends Configuration, equivalentwith (hasslot with exactly 3 Slot) and (hasslot some (hascard some { }... (HotSwappableOSM or SPAInterface) OWLizer: Transformations of Ecore-based metamodels and models to ontologies M2 layer UML Profile for OWL: Modeling UML class diagrams with OWL-based stereotypes BPMN Refinement: Transformations of process models to ontologies 31 of 25
Marriage of Ontology and Software Technologies Original Contributions: Ontology Reasoning Defined for class diagrammes before [BCG05], but also Domain-specific languages Process languages Lessons Learned Marriage is nontrivial formalization not straightforward, but re-useable! terminological problems need to be reconciled between the two pillars: E.g. open/closed world vs. draft/deployed models Productivity gains 32 of 25
Ongoing Research and Outlook Knowledge by the User & for the User Domain models must be included, maintained and aligned with other models in the lifecycle Families of business processes [CAiSE 2011] Software product lines [submitted] Terminologies and Ontologies are undervalued re-useable artefacts in software development Knowledge not contained within one software project alone Semantic Web can span many projects! [TKB10;under development] Semantic technologies respond to these needs 33 of 25
Core publications for this talk http://west.uni-koblenz.de/projects/twouse Transforming and Weaving Ontologies and Uml for Software Engineering [DKE10] F. S. Parreiras, S. Staab. Using Ontologies with UML Class-based Modeling: The TwoUse Approach. In: Data & Knowledge Engineering, 69(11): 1194-1207, Elsevier. [CAiSE11] G. Gröner, C. Wende, M. Boskovic, F. S. Parreiras, T. Walter, F. Heidenreich, D. Gasevic, S. Staab. Validation of Families of Business Processes. In: Proc. of CAiSE - 23rd Int. Conf. Advanced Inf. Systems Engineering, Springer, 2011. [ECMFA10] T. Walter, F. S. Parreiras, S. Staab, J. Ebert. Joint Language and Domain Engineering. In: Proc. of ECMFA-2010 6th European Conference on Modelling Foundations and Applications, Springer, 2010. [MODELS09] T. Walter, F. Silva Parreiras, S. Staab. OntoDSL: An Ontology-based Development Environment for Domain-specific Languages. In: Models - ACM/IEEE 12th Int. Conf. on Model Driven Eng., Languages & Systems. Springer, 2009. [DL 2009] Y. Ren, G. Gröner, J. Lemcke, T. Rahmani, A. Friesen, Y. Zhao, J. Z. Pan, S. Staab. Validating Process Refinement with Ontologies. In: The 22nd International Workshop on Description Logics (DL2009). 27 to 30 July 2009, Oxford, UK. [ODSD] U. Assmann, J. Pan, S. Staab, Y. Zhao (eds.). Ontology-driven Software Development, Springer, to appear. 34 of 25
Further core publications for this area [BCG05] Berardi, D., Calvanese, D., Giacomo, G.D.: Reasoning on UML class diagrams. Artif. Intell. 168(1) (2005) 70-118. [GDD09] Gasevic, D., Djuric, D., Devedzic, V.: Model Driven Engineering and Ontology Development, 2nd Ed. Springer (2009) [TKB10] J. Tappolet, C. Kiefer, A. Bernstein. Semantic web enabled software analysis, Journal of Web Semantics: Science, Services and Agents on the World Wide Web 8, July 2010 [Par11] F. S. Parreiras. Marrying Model-Driven Engineering and Ontology Technologies: The TwoUse Approach, Wiley, to appear. 35 of 25
Web Science & Technologies University of Koblenz Landau, Germany Thank you for your attention! Your Questions?