Invited Talk on "Semantic Model-driven Engineering" at the Microsoft Research Software Summit 2011, Paris, France, April 13-15, 2011; View video at http://research.microsoft.com/apps/video/default.aspx?id=150058
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Semantic Model-driven Engineering
1. Web Science & Technologies
University of Koblenz ▪ Landau, Germany
Semantic Model-driven Engineering
Steffen Staab
Acknowledgements to students and colleagues@MOST project
http://most-project.eu
2. New level in Software Engineering
Ontology-Driven Software Development (ODSD)
2030
Consistency-based
2020 Guided development
development with ontology
with advising languages
languages
2010
2000 Constraint-safe development with constraint languages
1990
1980 Type-safe development with typed languages
1970
1960 Development with untyped languages
1950
[ODSD]
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 2 of 25 2
3. Marrying Ontologies and Software Technology
Software Ontology
Engineer Expert
Software
Ontology
Modeling
World
World
(OntologyWare)
(ModelWare)
EMOF
OWL
…
RDF
MOF
[ODSD]
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 3 of 25
4. Marrying Ontologies and Software Technology
Software Ontology
Engineer Expert
Terminologies
with 103 to
106 entities
Software
Ontology
Modeling Gene
World
World Ontology
(OntologyWare)
(ModelWare)
Snomed
EMOF
OWL
…
RDF FMA
MOF
500+ terminologies in
[ODSD]
the B2B world
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 4 of 25
5. Marrying Ontologies and Software Technology
Software Ontology
Engineer Expert
Terminologies
with 103 to
106 entities
Software
Ontology
Modeling Gene
World
World Ontology
(OntologyWare)
(ModelWare)
Snomed
EMOF
OWL
…
RDF FMA
MOF
ontology 500+ terminologies in
[ODSD]
technologies the B2B world
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 5 of 25
6. The MOST Project
ODSD with Process
Guidance
Consistency
Preservation
In ODSD
Foundational
ODSD technology
Basic technology
[ODSD]
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 6 of 25
7. The MOST Project
Software
Modeling World Ontology World
(ModelWare) (OntologyWare)
ODSD with Process
Guidance
Consistency
Preservation
In ODSD
Foundational Integration of Ontology-based
ODSD technology Traceability Metamodels configuration
and Ontologies
Basic technology MDSD
Case Studies Ontologies
[ODSD]
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 7 of 25
8. The MOST Project
Software
Modeling World Ontology World
(ModelWare) (OntologyWare)
ODSD with Process Ontology-
Ontology- TwoUse:
Guided
Guidance Integrated A Platform for
Software
Modeling ODSD
Development
Consistency
Consistency Consistency
Checking for
Preservation Bridges Checking for
Structural
Processes
In ODSD Models
Foundational Integration of Ontology-based
ODSD technology Traceability Metamodels configuration
and Ontologies
Basic technology MDSD
Case Studies Ontologies
[ODSD]
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 8 of 25
9. Semantic MDE
ONTOLOGY BASED
DOMAIN SPECIFIC LANGUAGES
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 9 of 25
10. Stakeholders
[MODELS09]
Metamodeling
Bridge Developer
specifies Language
uses
DSL
DSL Designer specifies defined in
Constraints
Metamodel
based on
uses
Guidance
DSL User Domain Model
builds and services
requires
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 10 of 25
11. Scenario at Comarch (PL)
• Modeling physical devices, e.g. Cisco network devices
[MODELS09]
Cisco 7603: Domain Model:
Configuration
Slot HotSwappableOSM
Device
Slot SupervisorEngine
Slot
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 DSL Designer
• A Configuration7603 has exactly 3 Slots in which either a
HotSwappableOSM or SPAInterface card is plugged in.
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 11 of 25
12. DSL User interacting with PDDSL
• Domain Model: (inconsistent)
DSL User
Configuration
HotSwappableOSM
Device
Error
• Requirements of DSL User:
• Consistency Checking
• Debugging of domain models
[MODELS09]
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 12 of 25
13. DSL User interacting with PDDSL
• Domain Model: (consistent)
DSL User
Configuration
Slot HotSwappableOSM
Device
Slot
Slot
• Requirements of DSL User:
• Consistency Checking
• Debugging of domain models
• Validate incomplete models
• Guidance and explanations how to complete the model
[MODELS09]
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 13 of 25
14. DSL User interacting with PDDSL
• Domain Model: (inconsistent)
DSL User
Configuration
Slot HotSwappableOSM
Device
Explanation:
Slot Configuration hasSlot someError and
SPAInterface Slot
hasCard some SupervisorEngine
Slot HotSwappableOSM
• Requirements of DSL User:
• Consistency Checking
• Debugging of domain models
• Validate incomplete models
• Guidance and explanations how to complete the model
[MODELS09]
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 14 of 25
15. DSL User interacting with PDDSL
• Domain Model: (consistent)
DSL User
Configuration7603
Configuration
Slot
Cisco7603
HotSwappableOSM
Device
Slot SupervisorEngine
Slot
• 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]
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 15 of 25
16. 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 ,
{
• Reasoning atrestrictionOn hasSlot with some
two levels
equivalentWith IntersectionOf(restrictionOn hasSlot with exactly 3 Slot,
• Class level restrictionOn hasCard with some
UnionOf(HotSwappableOSM, SPAInterface) {
} • Object Level
class Slot { • Sound and complete reasoning
}
• Pragmatically efficient
reference hasCard [1-*]: Card;
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 16 of 25
18. Evaluation: Stakeholders and measures
Actor Productivity Quality
GQM methodology reused
Bridge developer Not measured Not measured
Productivity
Compare development time
under comparable conditions
DSL designer manual, pure models Productivity
vs manual, hybrid measure
Quality
vs generalized, * bug ratio
Compare development time hybrid
spent on bug fixing
Assumption: development is
continued until no errors exist Domain expert/ Cisco 7600 with Productivity
Customer expert PDDSL vs. Without measure
PDDSL * bug ratio
[ECMFA10]
Domain user Survey customers Survey
customers
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 18 of 25
19. 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 Manual, hybrid Generalized,
models hybrid
Metamodel integration 0 6h 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
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 19 of 25
20. Semantic MDE
PROCESS REASONING
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 20 of 25
21. Supporting SAP Development of Processes
From business developer to software developer
BPMN at different levels of granularity
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 21 of 25
22. Transformation Bridge for Process Reasoning
Bridging Technology
‐ Transformation ‐
Ontoware TS Modelware TS
OWL2 target Transformation source Ecore
metamodel Definition metamodel Metametamodel M3
Metamodel
conformsTo
Tools Ontology Transformation
target Engine Tools
TBox model source DSL Metamodel M2
model Validation
Querying
Reasoning Constraint conformsTo
Technology Technology
target source
ABox model model
Model Model M1
[DKE10]
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 22 of 25
23. Mapping Process Steps
[DL 2009]
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 23 of 25
24. 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]
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 24 of 25
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
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 25 of 25
26. 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
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 26 of 25
27. Results per case study
Process refinement case study
Quality: QI = 57%, savq = 36%
Productivity: PI = 192%, savp = 66%
Process guidance case study
Quality: QI = 66%, savq = 40%
Productivity: PI = 254%, savp = 72%
Experiments performed by J. Lemcke & colleagues, SAP AG
WeST Steffen Staab Semantic MDE 27
staab@uni-koblenz.de 27 of 25
28. Calculation & overall results
Data gathered
CS, CN – correct answers with / without support
WS, WN – wrong answers with / without support
tS, tN – time for questions with / without support
Measure: Quality improvement
rq = = 1.6, QI = rq – 100% = 60%
Measure: Productivity improvement
rp = = 3.12, PI = rp – 100% = 212%
Savings: sav =
Quality: savq = 38%
Productivity: savp = 68%
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 28 of 25
29. Semantic MDE
CONCLUSION
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 29 of 25
30. Bridge Classification
Motivation Bridging definition layer
M3 layer M2 layer
Bridging Integration • Extended • Leveraging models by
expressiveness of ontologies
metamodeling • Knowledge
language represented
• Additional Restrictions independently of
for M1 models modeling language
Transformation • Replacement of • Transformations of
coexistence between models to formal
metamodels (+ ontological
conforming models) representations
and ontologies • Enabling formal
• Enabling ontology- semantics
based querying
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 30 of 25
31. Bridging Tools
Tools Bridging definition layer
M3 layer M2 layer
Bridging Integration OntoDSL: UML Profile for OWL:
Metamodeling with Modeling UML class diagrams
class Configuration7603 extends Configuration,
Ecore and OWL with OWL-based stereotypes
equivalentWith (hasSlot with exactly 3 Slot)
and (hasSlot some (hasCard some
(HotSwappableOSMOWLizer:
Transformation or SPAInterface) BPMN Refinement:
{ Transformations of Transformations of process
}
Ecore-based models to ontologies
... metamodels and
models to ontologies
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 31 of 25
32. 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
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 32 of 25
33. 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
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 33 of 25
34. 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.
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 34 of 25
35. 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.
WeST Steffen Staab Semantic MDE
staab@uni-koblenz.de 35 of 25
36. Web Science & Technologies
University of Koblenz ▪ Landau, Germany
Thank you for your attention!
Your Questions?