1 / 59

Model-Driven Development (MDA), Software-Oriented Architecture (SOA), and Semantic Web (WSMO)

This presentation provides an overview of Model-Driven Development (MDA) and Software-Oriented Architecture (SOA), with a focus on the use of semantic web technologies exemplified by Web Service Modeling Ontology (WSMO). It covers articles and concepts related to BPMN, BPEL, UML2.0, and augmented MDA.

audreyr
Download Presentation

Model-Driven Development (MDA), Software-Oriented Architecture (SOA), and Semantic Web (WSMO)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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 • A14White, 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

  3. BPMN – based on a presentation by Steven White

  4. Business process management (BPM) services

  5. CIM Business Context Models Model trans- formation PIM Software Specification Models Model trans- formation PSM Software Realisation Models Model-driven development (MDD) 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

  6. Current MDA Architecture OrgMM CIM models Enterprise modeling expert BSVR BPDM QVT OWL PIM System models Ontology ODM UML2.0 System modeling expert QVT PSM System models MOF2.0 MOF2Txt XMI2.0 System realisation installation expert ATL MOFScript EMF Java API MTF (IBM) System QVT (MOF2Txt)

  7. A17. France, R.B., Gosh, S. Dinh-Trong, T, and Solberg, A. Model-driven development using UML2.0: Promises and Pitfalls, IEEE Computer February 2006Navigating the metamuddle Arnor Solberg, Robert France, Raghu Reddy Colorado State University and SINTEF Norway

  8. 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!

  9. 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

  10. <<metamodel>> Transformation (e.g. MOF2.0 QVT) <<metamodel>> <<metamodel>> Target (e.g. CORBA UML profile) Source (e.g., UML domain/PF subset/profile) <<conforms_to>> <<source>> <<target>> <<conforms_to>> <<transformation>> <<conforms_to>> <<Model instance>> Source Source2Target Scheme <<Model instance>> Target <<conforms_to>> <<source>> <<target>> Transformation implementation Conceptual transformation model

  11. 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

  12. A glimpse into the storyIllustrative Example Mapping of Simple UML interactions models (e.g. to UML profile for CORBA)

  13. 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.

  14. Lifeline fragment (no obvious relation to Message)

  15. Messagefragment(no lifeline)

  16. 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.

  17. 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)

  18. 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 • Xactium • Megamodelling, ATL (Jean Bezivin) • Better • Tool that take UML models as input and automatically extract the metamodel for this set of input models • Implicit model checking (compliance checking)

  19. Conclusion

  20. Questions • How do we eliminate accidental complexity such as the one illustrated in this presentation • Other examples exists, e.g., the QVT 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

  21. Conclusion and further work • MDD framework that facilitates: • Horizontal separation • Handling crosscutting features distributed across a model • Emphasis on QoS during model specification and transformation • Simplify transformations • Vertical separation of concerns • Abstractions e.g., to manage diversity and evolution of platforms • Future work • 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

  22. WSMO overviewAs 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

  23. Contents • Mission of WSMO • WSMO Standard

  24. Mission of WSMO Web Service Modeling Ontology • WSMO is a conceptual model for relevant aspects related to Semantic Web Services

  25. 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)

  26. 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.

  27. 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.

  28. 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.

  29. WSMO Standard - Mediators

More Related