1 Model-driven development of SOA with Web services – using QVT technology Master thesis by Berge Stillingen Department of Informatics, University of Oslo.

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
The role of OCL in the Model Driven Architecture Jos Warmer Klasse Objecten
IAAnalyzer: Towards a Model-Driven Modeling and Analysis Framework for C ONNECT(ors) Massimo Tivoli, University of L’Aquila (UNIVAQ)
1Model Driven Architecture – 3. März 2008 – Siegfried Nolte 1.UML – What is it and what is it good for ? 2.MDA – What is it and what is it good for ? 3.MDA.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
Modeling with the ECCF SS ● UML Profile for ECCF ● UML Redefinition Semantics ● Compliance ● Consistency ● Conformance ● Validation ● Transformation ●
OMG‘s MDA: An Overview copyright © 2001, MATHEMA AG OMG‘s MDA: An Overview OMG‘s MDA: An Overview Markus Völter
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
7 July 2003 MDA presentation Dennis Wagelaar 1 Model-Driven Architecture The current state of affairs.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
OMG Meeting, Helsinki Model Driven Architecture An Alternative Implementation Approach Werner Froidevaux
IBM Software Group © 2005 IBM Corporation University of Nantes Eclipse dayMarch 2005 The Eclipse Modeling Framework and the IBM Model Transformation Framework.
LUCENTIA Research Group Department of Software and Computing Systems Using i* modeling for the multidimensional design of data warehouses Jose-Norberto.
MDD Tutorial for managers Eclipse ECESIS Project A presentation of MDD basics Model-driven development (MDD) tutorial for managers EUROPEAN SOFTWARE INSTITUTE,
Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,
Framework for Model Creation and Generation of Representations DDI Lifecycle Moving Forward.
© 2011 IBM Corporation Overview on Modeling RESTful Services August, 2011 Manoj Paul, Software Developer, Rational,
International Telecommunication Union ITU-T Study Group 17, Moscow, 30 March – 8 April 2005 New Recommendations on ODP Arve Meisingset Rapporteur Q15.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
Agenda 23 April, 2007 T Service-Oriented Architecture and Software Engineering 1 Service Oriented and Model Driven Architectures Pankaj Saharan.
Secure Systems Research Group - FAU A Pattern-Driven Process for Secure Service-Oriented Applications Ph.D Dissertation Defense Candidate: N. A. Delessy,
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
3 April SOA: Services Oriented Architecture MDA: Model Driven Architecture.
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
Introduction to MDA (Model Driven Architecture) CYT.
Secure Systems Research Group - FAU Securing Service-Oriented Architectures using a Model-driven Approach Nelly A Delessy.
Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.
Modeling Tools for Healthcare Technical Overview April 8, 2009.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
Diagram Definition A Case Study with the UML Class Diagram MoDELS 2011, Wellington, NZ By Maged Elaasar 1,2 (Presenter) and Yvan Labiche.
ISO/IEC CD and WD : Core Model and Model Mapping ISO/IEC JTC1/SC32/WG September 2005, Toronto SC32/WG2 Japan (Kanrikogaku Ltd) Masaharu.
SaveUML System design. System overview Possible...
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
XASTRO Metamodel. CCSDS SAWG2 Presentation Outline XASTRO-1 Metamodel XASTRO-2 Metamodel Alignment with Model Driven Architecture.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
December 4, ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:
© Siemens AG, CT SE 2 C O R P O R A T E T E C H N O L O G Y 1 Model-Driven Development for Pluggable Collaborations Iris Groher, Stephan Bleicher, Christa.
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
Modeling the ODP Computational Viewpoint with UML 2.0: The Templeman Library Example José Raúl Romero, Antonio Vallecillo Universidad de Málaga, Spain.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
Small is Beautiful Building a flexible software factory using small DSLs and Small Models 1 Jos Warmer Partner, Ordina
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Architecture MDA SE-548 Lale Doğan
Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool Teaching material for the book Model-Driven.
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
Healthcare-oriented Modeling Environment ( HoME ) Managed jointly by: Veterans Health Administration (VHA) IBM modeling-mdt.projects.openhealthtools.org.
SysML v2 Formalism: Requirements & Benefits
Web Application Modeling
Towards Automatic Model Synchronization from Model Transformation
Evaluating Compuware OptimalJ as an MDA tool
UML profiles.
Constructing MDA-based Application Using Rational XDE for .NET
Execute your Processes
Model Driven Software Development
Software Architecture & Design
Presentation transcript:

1 Model-driven development of SOA with Web services – using QVT technology Master thesis by Berge Stillingen Department of Informatics, University of Oslo 2005

2 Problem domain and scope SOA – Service Oriented Architecture Focus is set on Web services MDA – Model Driven Architecture Framework for model-driven development QVT – Query/Views/Transformations Upcoming standard for model-to-model transformations from OMG MOF2Text – MOF Model to Text Transformations Upcoming standard for model-to-text transformations from OMG Thesis approach: – Where is QVT today? – Is QVT the right answer when developing SOA using MDD?

3 Contents I: Feature analysis: QVT/MOF2Text candidates II: MOSUQ: SOA/QVT/MOF2Text framework – Concepts – Transformation assets for Java Web services III: Case study: Min/Max replenishment system specified using the framework

4 (I) Feature analysis Evaluating proposals to the QVT and MOF2Text standards and belonging software (proof of concept) – Analyze their features deriving criteria/requirements from the QVT and MOF2Text RFPs (Request For Proposals to standards) – Add additional tool-specific requirements for the proofs of concept – Give points for each criteria (e.g. 2/5) – The 2 alternatives: QVTMOF2Text Alt. 1:QVT-Merge Group ATL SINTEF/Softeam MOFScript Alt. 2:EXMOF OptimalJ MOF2Text-partners OptimalJ (TPL) – Sum up and use the “winning” alternative to specify transformations for a SOA-MDD framework and case study

5 Requirements/Evaluation criteria Model-to-model trans. (QVT) Declarative transformation definitions/Model querying – Based on OCL Incremental transformations Reuse of existing OMG specifications – OCL, UML, MOF (Meta Object Facility) MOF 2.0 based transformations/models Additional transformation data Traceability – Importing for debugging Graphical and textual notation …

6 Requirements/Evaluation criteria Model-to-text trans. (MOF2Text) Reuse of existing OMG language specifications MOF 2.0 based mappings/source models Functions for string manipulation Combining model data with clear text Complex text transformation mappings – Most mappings are one-to-one (isomorphic) – More non-trivial mappings may occurs Multiple models and support for UML extensibility mechanism …

7 Requirements/Evaluation criteria Other requirements. (tool-specific) Note: Applies to the proofs-of-concept in both alternatives and both QVT and MOF2Text. OMG standards – UML 2.0 and XMI 2.0 support Explicit UML profile support using multiple files Code assistance Debugging facilities Testing well-formedness

8 Feature analysis results Alternative 1 wins with a 63% score (alt.2 gets a 55% score) – Low scores, especially on model-to-model transformations Results worst for the tool-specific req. (other req.) – OptimalJ: Gives Alt 2. a better score. A more “easy to use” tool than ATL/MOFScript QVTMOF2Text Alt. 1:QVT-Merge Group ATL SINTEF/Softeam MOFScript Alt. 2:EXMOF OptimalJ MOF2Text-partners OptimalJ (TPL)

9 (II) MOSUQ – SOA QVT Framework Model-driven development Of Service Oriented Architectures Using QVT – Implies use of the MOF2Text standard as well Combined QVT and MOF2Text usage – Serve conceptual guidelines for MDD of SOA using the two standards Specified concretely for Java Web services Transformations assets: – QVT Merge relations (graphical) – QVT Merge mappings (textual) – ATL transformations – COMET’s Service Architecture modeling

10 MOSUQ concepts Draw a COMET based Service Architecture Model – Use COMET stereotypes Define a PSM domain for a SOA based platform (main platform) Define wanted artifacts at the code level Identify “sub-platforms” for the PSM domain – Defined by UML profiles or MOF metamodels Refine the PSM domain – Add transformations between the abstraction layers – Use 3 or more abstraction layers

11 MDD Java Web services 4 sub-platforms identified – WSDL (using MOF metamodel) – JAX-RPC – Java – Sun/J2EE – Details of the three latter reflected in a UML profile PSM domain refined 4 transformations added refined

12 Metamodels for the PSMs (1) UML 2.0 MM With Java Web services UML profile

13 Metamodels for the PSMs (2) WSDL metamodel

14 implementing realizing MDD Java Web services Transformation assets: – QVT Merge relations – QVT Merge mappings – ATL code – MOFScript code

15 Implementing transformations - Working environment Eclipse based IDE: Rational Software Modeler + ATL transformation engine + MOFScript XMI Source metamodel (EMF) Target metamodel (EMF) ATL engine Service Model Platform model (UML profile or MOF metamodel based) XMI Source metamodel (EMF) ATL code MOFScript code Code/ text artefacts Code/ text artefacts MOFScript engine XMI

16 Case study: Min/Max Replenishment - applying the MOSUQ framework

17 Case study: Min/Max Replenishment - Service Architecture Model (COMET) Component model Interface Model Information Model PIM Data types

18 Case study: Min/Max Replenishment - Platform models (1) WS UML model – Trans 1. applied

19 Case study: Min/Max Replenishment - Platform models (2) WSDL model – Shown as object diagram – Trans. 2 applied

20 Case study: Min/Max Replenishment - Code artefacts Java Code – Transformation 3 applied Value object classes Web service interface classes Web service implementation classes Validated with Eclipse’s Java compiler WSDL (XML) – Transformation 4 applied Example with Rpc/literal messaging style Validated with a WDSL XML Schema instance

21 Why use MOSUQ? - especially concerning the generation of Java code and WSDL documents No PSM (traditional) approach: – PIM to text transformation (code generation) Annotation of PIMs (stereotypes, tagged values) – w/Additional transformation data No intermediate PSMs One transformation per target artefact at the implementation level (code etc.) Only one language to use MOSUQ (more MDA adherent): – PIM to PSM transformations – PSM to text and/or PSM to PSM transformations Commit to multiple ways (languages) of specifying transformation assets Ensures correcting structuring of target specifications reflecting code/text at the implementation level – Given a well-defined metamodel. – Less chance of generating text artefacts violating syntax Separation of concerns – Formalizing the details of identified platforms by using MM

22 Conclusions - summary of contributions Evaluation of proposals to QVT and MOF2Text with their belonging proofs-of-concept – Feature analysis: 63% score on alt. 1 (QVT Merge/ATL/MOFScript) Still work to be done, especially on the tool side MOSUQ – SOA/QVT framework – Transformations assets Subject to reuse/alterations – ATL code (difficult and time-consuming) – MOFScript code – QVT Merge specifications – Has proven that the QVT and MOF2Text standards can be combined to realize MDD of SOA An alternative to MDD of SOA

23 Future work Alternative QVT-tools: – AMW/AMMA (INRIA) Lets you define correspondence specifications in the form of weaving models between model artefacts Capable of expressing symmetric rules Transformations in different languages can be generated (XSLT, ATL) – Model Transformation Framework (MTF) Consistency-checking capabilities MOSUQ enhancements – Apply other PSM profiles for SOA impl.: BPEL/BPMN Configuration files (DD etc) CORBA/IDL XML registries and UDDI dot NET platform