Model-driven development (MDA), Software Oriented Architecture (SOA) and semantic web (exemplified by WSMO) Draft of presentation John Krogstie Professor, IDI, NTNU Senior Researcher, SINTEF ICT 1 Overview of lectures today and Wednesday Overview on SOA and MDA / MDD, based on material produced in the Athena EU-project More details based on the articles today Articles A14 White, S. A. Introduction to BPMN A15. Pasley, J. How BPEL and SOA is changing web services development, IEEE Internet computing May-June 2005 A16. de Bruijn, J, Fensel, D., Keller, U. and Lara, R. Using the web-service modelling ontology to enable semantic e- business, Communication of ACM Dec 2005 A17. France, R.B., Gosh, S. Dinh-Trong, T, and Solberg, A. Model-driven development using UML2.0: Promises and Pitfalls, IEEE Computer February 2006 A18. Jones, V., Rensik, A. and Briksma, E. Modelling mobile health systems: an application of augmented MDA for the extended healthcare enterprise 2 1 1
BPMN based on a presentation by Steven White 3 Business process management (BPM) services 4 2 2
5 6 3 3
7 8 4 4
9 10 5 5
11 12 6 6
13 14 7 7
15 16 8 8
17 18 9 9
19 20 10 10
21 22 11 11
23 24 12 12
25 Model-driven development (MDD) Model transformation Model transformation CIM CIM Business Context Models PIM PIM Software Specification Models PSM PSM Software Realisation Models Model-driven approach to system engineering where models are used in understanding design construction deployment operation maintenance modification Model transformation tools and services are used to align the different models. Business-driven approach to system engineering where models are refined from business needs to software solutions Computation independent model (CIM) capturing business context and business requirements Platform independent model (PIM) focusing on software services independent of IT technology Platform specific model (PSM) focusing on the IT technology realisation of the software services 26 13 13
Current MDA Architecture Enterprise modeling expert System modeling expert VT VT CIM models PIM System models PSM System models BSVR UML2.0 OrgMM MOF2.0 BPDM OWL Ontology ODM System realisation installation expert MOF2Txt System 27 VT (MOF2Txt) XMI2.0 ATL MOFScript EMF Java API MTF (IBM) A17. France, R.B., Gosh, S. Dinh-Trong, T, and Solberg, A. Model-driven development using UML2.0: Promises and Pitfalls, IEEE Computer February 2006 Navigating the metamuddle Arnor Solberg, Robert France, Raghu Reddy Colorado State University and SINTEF Norway 28 14 14
Claim The complexity of the current UML 2 metamodel make the understanding, using, extending and evolving the metamodel difficult 1000 + pages specification large and fragmented Available as a model in Rational Rose Only for visualization, no manipulation features available (e.g. queries) Poorly documented This is a risk factor for MDD in general and MDA in particular! 29 This is a problem since.. MDD require development teams to understand, use and extend metamodels Configuring and tailoring MDD frameworks need to be done for each domain and even System Family to be able to succeed with MDD. Defining domain specific modeling concepts (for example by means of profiles), specification of metamodel mappings (transformations) and model composition will be main tasks Task for Domain and System Family architects. No out of the box tools to buy from vendors. Tailoring is needed 30 15 15
Conceptual transformation model <<metamodel>> Transformation (e.g. MOF2.0 VT) <<metamodel>> Source (e.g., UML domain/pf subset/profile) <<conforms_to>> <<source>> <<metamodel>> Target (e.g. CORBA UML profile) <<target>> <<conforms_to>> <<transformation>> Source2Target Scheme <<conforms_to>> <<Model instance>> Source <<conforms_to>> <<Model instance>> Target <<source>> Transformation implementation <<target>> 31 Good news and bad news Good news is In practice only part of the UML is used Subset of diagrams Subset of concepts -> Should not need to have the full knowledge of the UML metamodel to use your part of UML Bad news Need to manually navigate the metamuddle to extract the concepts you want to use 32 16 16
A glimpse into the story Illustrative Example Mapping of Simple UML interactions models (e.g. to UML profile for CORBA) 33 Simple metamodel for UML interactions Want to extract the Lifeline and Message concepts and their relationships. These are core concepts for modeling interactions so you would expect to find their properties and relationships quite easily in the standard Examination of the Interactions section in the UML specification, reveals that the information required in this simple view is not available in one place in the metamodel. 34 17 17
Lifeline fragment (no obvious relation to Message) 35 Message fragment (no lifeline) 36 18 18
Problems of UML Large and complex Specification fragmented Leads to accidental complexity As opposed to inherent problem complexity This is a risk factor for the MDA vision! Furthermore how do you evolve the UML model in a consistent manner? How can one be sure that required changes are incorporated consistently across the metamodel? How can one determine the impact that a change will have on other metamodel elements? In particular, how can one ensure that the changes do not result in a metamodel that defines inconsistent or nonsensical language constructs? It will be extremely difficult to evolve the UML 2.0 metamodel to reflect changes in the UML standard using only manual techniques. 37 Suggestions Need user oriented views into the metamuddle At least a simple view of the metamodel for each diagram type that describes only the concepts and relationships that appears in the diagram Use aspect oriented techniques e.g. to Provide views of the set of diagram types that only contain concepts that are visible in the diagrams (abstract concepts such as NamedElement will not appear in such diagrams, but derived properties will) Define aspects presenting views of abstract concepts reflecting language and UML-specific concerns such as name space management, element typing, connectivity of elements, and execution semantics. Make it easier to evolve (e.g., change aspects, new aspects) 38 19 19
Tool support At least Tool that allows developers to query the metamodel, to extract views of the metamodel E.g., get all relationships and properties of a metamodel concept Including the derived ones Some tools provide some of this capability already Better Xactium Megamodelling, ATL (Jean Bezivin) Tool that take UML models as input and automatically extract the metamodel for this set of input models Implicit model checking (compliance checking) 39 Conclusion 40 20 20
uestions How do we eliminate accidental complexity such as the one illustrated in this presentation Other examples exists, e.g., the VT specification Is this a unavoidable for new, immature fields? Problem is to include the users in the evolution of the field when there is too much accidental complexity involved when using it 41 Conclusion and further work MDD framework that facilitates: Horizontal separation Handling crosscutting features distributed across a model Emphasis on os during model specification and transformation Simplify transformations Vertical separation of concerns Future work Abstractions e.g., to manage diversity and evolution of platforms More case studies Different platforms, Repository of models and mappings of common middleware concerns Profile for specifying model weaving Usage of framework for adaptive systems and adaptive middleware (E.g., Madam middleware) Increase flexibility and ease evolution of adaptive systems 42 21 21
WSMO overview As basis for A16. de Bruijn, J, Fensel, D., Keller, U. and Lara, R. Using the web-service modelling ontology to enable semantic e-business, Communication of ACM Dec 2005 43 Contents Mission of WSMO WSMO Standard 44 22 22
Mission of WSMO Web Service Modeling Ontology WSMO is a conceptual model for relevant aspects related to Semantic Web Services 45 WSMO Standard Specify objectives that a client may have when consulting a Web Service Provide the formal semantics of the information used by all other components Semantic description of Web Services: - Capability (functional) - Interface (usage) Connectors between components with mediation facilities (de-coupling) 46 23 23
WSMO Standard - Ontologies Non functional properties Used mediators Importing / re-using ontologies as modular approach for ontology design. OO Mediators: handles all ontology management issues (access, namespaces, etc.) ontology integration (merging / alignment) => Modularization & De-coupling Axioms The set of axioms that belong to the represented ontology. Concepts The set of concepts that belong to the represented ontology. Relations The set of relations that belong to the represented ontology. Instances The set of instances that belong to the represented ontology. 47 WSMO Standard - Goals Non functional properties Used mediators import ontologies using OO Mediators. GG Mediator: Goal definition by reusing an already existing goal. Post-conditions describe the state of the information space that is desired. Effects Effects describe the state of the world that is desired. 48 24 24
WSMO Standard - Mediators Principle of De-coupling for handling complexity & heterogeneity => Mediators: WSMO components are never allowed to touch each other without a mediator in-between. 49 WSMO Standard - Mediators 50 25 25
WSMO Standard - Mediators Non functional properties Source component the connected entity / entities Target component the connecting entity / entities Mediation Service links to Mediation Facility needed to resolve heterogeneity Reduction describes the differences between the connected entities only in WG or GG 51 WSMO Standard Web Service Semantic Description of Web Services to allow (semi-)automated usage of Web Services Non functional properties Used mediators OO Mediators for importing ontologies as the formalized terminology for describing the Web Service Capability functional description (WHAT), 1:1 Interfaces description of usability & composition (HOW), 1:n 52 26 26
WSMO Standard Capability Non functional properties Used mediators OO Mediator: importing ontologies as terminology definition WG Mediator: link to a Goal that is solved by the Web Service Pre-conditions what a web service expects in order to be able to provide its service, i.e. conditions over the input Assumptions Conditions on the state of the world that has to hold before the Web Service can be executed Post-conditions describes the computational result in relation to the input of the Web Service, and conditions on it Effects Conditions on the state of the world that hold after execution of the Web Service (i.e. changes in the state of the world) 53 WSMO Standard Interfaces describes how the functionality of the service can be achieved provides a twofold view on the operationalization of the Web Service: 1. Choreography defines how to communicate with the web service in order to consume its functionality. 2. Orchestration defines how the overall functionality is achieved by the cooperation of more elementary service providers. Choreography & Orchestration = different decompositions of process/capabilities to the top (service requester) and to the bottom (other service providers). This distinction reflects the difference between communication and cooperation. 54 27 27
WSMO Standard Interfaces 55 WSMO Standard Interfaces Non functional properties Used mediators OO Mediators for importing ontologies as terminology definitions Choreography provides the necessary information for the user to communicate with the web service. described by an instantiated Message Exchange Pattern Orchestration describes a service makes use of other web service or goals in order to achieve it's capability. specifies the composition of Web Services used by a Web Service described as an instantiated Problem Solving Pattern. 56 28 28
WSMO Standard Language F-Logic combines the advantages of conceptual high-level approaches typical for frame-based language and the expressiveness, the compact syntax, and the well defined semantics from logics. it provides a standard model theory it is a full first order logic language it provides second order syntax while staying in the first order logic semantics it has a minimal model semantics implemented inference engines are already available. 57 WSMO Working drafts at: http://www.wsmo.org/2004/ 58 29 29
Model-driven development (MDA), Software Oriented Architecture (SOA) and semantic web (exemplified by WSMO) John Krogstie Professor, IDI, NTNU Senior Researcher, SINTEF ICT 59 30 30