590 likes | 737 Views
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. Overview of lectures today and Wednesday.
E N D
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
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
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
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)
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
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!
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
<<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
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
A glimpse into the storyIllustrative Example Mapping of Simple UML interactions models (e.g. to UML profile for CORBA)
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.
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.
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)
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)
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
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
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
Contents • Mission of WSMO • WSMO Standard
Mission of WSMO Web Service Modeling Ontology • WSMO is a conceptual model for relevant aspects related to Semantic Web Services
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)
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.
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.
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.