© 2005-2006 The ATHENA Consortium. 5-3. UML Profiles and Domain-Specific Languages (DSLs),

Slides:



Advertisements
Similar presentations
Copyright © 2006 Data Access Technologies, Inc. Open Source eGovernment Reference Architecture Approach to Semantic Interoperability Cory Casanave, President.
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
© 2008 by Borland Software Corp; made available under the EPL v1.0 | 17 March 2008 Introduction to the Graphical Modeling Framework Artem Tikhomirov, Borland.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
© The ATHENA Consortium From PIM4SOA to Web Services,
© The ATHENA Consortium. CI2: The ATHENA Interoperability Framework Module 2: e-Procurement Scenario Furniture Sector 2.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
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.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
Common Mechanisms in UML
IBM Software Group © 2005 IBM Corporation University of Nantes Eclipse dayMarch 2005 The Eclipse Modeling Framework and the IBM Model Transformation Framework.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
MTEI Methods & Tools for Enterprise Integration
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
© The ATHENA Consortium. CI2: The ATHENA Interoperability Framework Module 3: Collaborative Product Development Scenario Aeronautics and Aerospace.
© The ATHENA Consortium. EM1 - Enterprise Modelling as a way to achieve Interoperability Module 4 - How does Enterprise Modelling address these.
SEG4110 – Advanced Software Design and Reengineering
© The ATHENA Consortium From PIM4SOA to Peer-2-Peer (P2P),
© The ATHENA Consortium. AP5 – Principles of Model-Driven Interoperability Learn about model-driven interoperability, metamodelling, UML profiles.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
© The ATHENA Consortium Metamodelling,
© The ATHENA Consortium. CI2: The ATHENA Interoperability Framework Module 1: The ATHENA Interoperability Framework.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
Introduction to MDA (Model Driven Architecture) CYT.
Modeling Tools for Healthcare Technical Overview April 8, 2009.
© The ATHENA Consortium. CI3 - Practices of Interoperability in SMEs Carrier-Shipper Scenario.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
UML Profiles Eclipse ECESIS Project The UML Profile technology SOFTEAM 144 Ave des Champs Elysées Paris, France
© The ATHENA Consortium. EM1 - Enterprise Modelling as a way to achieve Interoperability Module 1 - What is Enterprise Modelling?
© The ATHENA Consortium. 6-3b. Atlas Transformation Language (ATL) Tutorial / Exercise,
SaveUML System design. System overview Possible...
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Selected Topics in Software Engineering - Distributed Software Development.
© The ATHENA Consortium. AP6 – Model-Driven Development of Interoperable Web Services, Agents and P2P Solutions Learn about model transformations.
Systems Analysis and Design in a Changing World, 3rd Edition
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
© The ATHENA Consortium. CI2: The ATHENA Interoperability Framework Module 5: Supply Chain Management (SCM) Automotive sector.
© The ATHENA Consortium. EM1 - Enterprise Modelling as a way to achieve Interoperability Module 5 - Enterprise modelling establishment methodology.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
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.
Part VII: Design Continuous
Graphical Modeling Framework (GMF) Richard C. Gronback Project Lead.
® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies.
© The ATHENA Consortium. EM1 - Enterprise Modelling as a way to achieve Interoperability Module 3 - What interoperability problems does Enterprise.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect, V7.5 Module 18: Applying Patterns and Transformations.
Based on material developed in ATHENA (IST ), INTEROP (IST ) and MODELWARE (IST ) 6-1b. Atlas Transformation Language (ATL) with RSM.
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.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
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.
© The ATHENA Consortium. CI3 - Practices of Interoperability in SMEs Proposed Solutions.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Architecture MDA SE-548 Lale Doğan
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
© The ATHENA Consortium. 5-2b. Eclipse Modeling Framework (EMF) Tutorial / Exercise,
Healthcare-oriented Modeling Environment ( HoME ) Managed jointly by: Veterans Health Administration (VHA) IBM modeling-mdt.projects.openhealthtools.org.
5-4b. Eclipse Process Framework (EPF) Tutorial / Exercise
Object Management Group Information Management Metamodel
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
UML profiles.
Analysis models and design models
Presentation transcript:

© The ATHENA Consortium UML Profiles and Domain-Specific Languages (DSLs),

2 © The ATHENA Consortium. ATHENA Model-Driven Interoperability (MDI) Framework MDA & Interoperability Metamodelling UML Profiles & DSLs Model Transformations Method Engineering Reusable MDI Assets Method chunks Tools and services Models and metamodels Model transformations DSLs and UML profiles Reference examples

3 © The ATHENA Consortium. Objective The objective of this part of the course is to: –Understand what a UML profile and a domain-specific language (DSL) are. –Be able to develop your first DSL in the Eclipse Graphical Modeling Framework (GMF) [optional exercise]

4 © The ATHENA Consortium. Outline UML profiles Metamodelling (revisited) Domain-specific languages (DSLs) Eclipse Graphical Modeling Framework (GMF) Examples –UML profile for PIM4SOA –UML profile for Web services (XSD, WSDL and BPEL) References

5 © The ATHENA Consortium. UML profiles

6 © The ATHENA Consortium. UML profiles They allow us to adapt the UML language to the needs of the analysts or the application domain Allows designers to model using application domain concepts. There are three extension mechanisms: –Stereotypes –Restrictions –Tagged values

7 © The ATHENA Consortium. Stereotype Extends the vocabulary of UML with new construction elements derived from existing UML but specific to a problem domain Can have associated restrictions and tagged values Possibility of assigning an icon for a better graphical representation DB Partners

8 © The ATHENA Consortium. Restriction Is a semantical condition represented by a textual expression Imposes some kind of condition or requisite on the element to which it is applied OCL – Object Constraint Language {An interface does not have attributes, only operations}

9 © The ATHENA Consortium. Tagged value Is a property associated to a model element Used to store information about the element –Management information, documentation, coding parameters,... Generally, the tools store this information but it is not shown in the diagrams

10 © The ATHENA Consortium. Metamodels and profiles MOFUML process generic Meta-model real-time model Workflow Meta-model UML For J2EE migration model Workflow model Migration oriented process Meta-model UML Real-time M3 M2 M1 extension relationship model meta-model relationship

11 © The ATHENA Consortium. Metamodelling (revisited)

12 © The ATHENA Consortium. Classification Dog Collie Animal Living Being Four Legged Object Celebrity Movie Star Lassie

13 © The ATHENA Consortium. Classification dimensions Collie Celebrity Four Legged Object Animal Dog Movie Star Model Element Instance Object Ontological classification (domain types) Linguistic classification (representation form)

14 © The ATHENA Consortium. Kinds of metamodels Two kinds of information of a set of models are modelled in metamodels –Form (linguistic aspects) OMG is predominantly occupied with this –Content (ontological aspects)

15 © The ATHENA Consortium. Linguistic metamodelling LassieCollie ClassObject Class represents linguistic ”instance-of” instance-of ontological instance-of L0 (called M0 in OMG) L1 (called M1 in OMG) L2 (called M2 in OMG) L3 (called M3 in OMG)

16 © The ATHENA Consortium. Ontological metamodelling Lassie Collie Class Breed represents linguistic instance-of O0 O1 O2 O3 Object Biological rank ontological ”instance-of” linguistic instance-of ontological ”instance-of” ontological ”instance-of” L1 L2

17 © The ATHENA Consortium. Domain-specific languages (DSLs)

18 © The ATHENA Consortium. UML – one size fits all? While the OMG MDA promotes UML as the visual “universal” glue suitable for modelling everything, we are also seeing a trend towards development and co-existence of several domain-specific modelling languages, e.g. supported by the Microsoft Domain-Specific Language (DSL) tools ( aspx). aspx Such approaches are now also being discussed in various OMG forums. UML is seen as a “general-purpose” language while DSLs may be more expressive for most purposes. A model-driven framework needs to acknowledge the existence of different models and views expressed in different modelling languages. The MDA technologies can help us to align these models through a common metamodelling language on which model transformations and model mappings can be defined.

19 © The ATHENA Consortium. Software factory The Software Factories Web site ( defines the term Software Factory in the following way: “A Software Factory is a software product line that configures extensible development tools like Visual Studio Team System with packaged content like DSLs, patterns, frameworks and guidance, based on recipes for building specific kinds of applications. For example, we might set up a Software Factory for thin client Customer Relationship Management (CRM) applications using the.NET framework, C#, the Microsoft Business Framework, Microsoft SQL Server, and the Microsoft Host Integration Server. Equipped with this factory, we could rapidly punch out an endless variety of CRM applications, each containing unique features based on the unique requirements of specific customers. Better yet, we could use this factory to create an ecosystem, by making it available to third parties, who could extend it to rapidly build CRM applications incorporating their value added extensions.”

20 © The ATHENA Consortium. UML and DSLs The issue of the role of UML is often stated in overly simplistic terms: MDD advocates the use of UML for all domain modeling while the Software Factories approach advocates that UML never used. This is an incorrect statement of the positions of both camps. –While the MDD approach treats UML, with customization, as the modeling language of choice for most application modeling, it also acknowledges the value of custom languages in certain specialized circumstances. –This is the purpose of the OMG Meta-Object Facility (MOF) standard that plays an important role in MDD. UML itself is defined using MOF and there are MOF definitions of many other languages. –The MDD approach acknowledges the value of non-UML DSLs as a technique to be applied judiciously. –Further, the Software Factories approach does not reject UML entirely. It suggests that you use UML for developing sketches and documentation, where DSLs should be used for developing models from which code is generated.

21 © The ATHENA Consortium. Advantages of using UML profiles UML is an open standard modelling language for which there are many available books and training courses. UML profiles provide a lightweight approach that is easily implemented using readily available UML tooling. Models with UML profiles applied can be read by all UML tools even if they do not have any knowledge of the profile. Basing all DSLs on UML creates a set of related languages that share common concepts. UML can be used for high-level architectural models as well as detailed models from which code can be generated.

22 © The ATHENA Consortium. Disadvantages of using UML profiles UML profiles only permit a limited amount of customization. –It is not possible to introduce new modelling concepts that cannot be expressed by extending existing UML elements. The use of UML does require familiarity with modelling concepts.

23 © The ATHENA Consortium. Eclipse Graphical Modeling Framework (GMF)

24 © The ATHENA Consortium. Graphical Modelling Framework (GMF) The Eclipse Graphical Modeling Framework (GMF) provides a generative component and runtime infrastructure for developing graphical editors based on EMF and GEF. GMF v.1.0 released June 28, 2006

25 © The ATHENA Consortium. GMF overview GMF uses and depends on EMF and GEF –EMF: Core facility for defining models generates java code for manipulating and persisting model insances –GEF: Manipulates object models Simplifies combination of EMF and GEF Generates GEF editors for manipulating EMF models

26 © The ATHENA Consortium. Example #1: UML profile for PIM4SOA

27 © The ATHENA Consortium. PIM4SOA Implementation Alternatives Define a metamodel using a UML Profile –they allow the model to be manipulated with ‘industry standard’ modelling tools. –the metamodel could be severely affected by changes in the UML infrastructure. –The UML element semantics must be respected Define a metamodel using MOF –decouple the metamodel from the notation, therefore if the notation changes the metamodel is not severely affected. –A graphical interface to the metamodel must be developed

28 © The ATHENA Consortium. Metamodel and profile development 1. Metamodel Scope, concepts, style 3. Test Evaluate in user scenarios 2. UML profile Map metamodel concepts to UML 4. Feedback Add, remove, and modify concepts Understanding of SOA concepts and interoperability issues Initial (interoperability) requirements SOA concepts Partitioning of the metamodel into structures Architectural style for developing interoperable software systems Document the metamodel in RSM (.uml2) and develop it in EMF (.ecore) Define how SOA models should be specified using UML Map metamodel concepts to UML types Define UML stereotypes and tagged values Define new visual symbols Define model views Define validation rules Implement UML profile in RSM Evaluate and test UML profile in user scenarios Four ATHENA use cases (pilots) Feedback Iterative development Modifications according to test and evaluation

29 © The ATHENA Consortium. PIM4SOA profile implementation issues PIM4SOA GRIDP2PBDI Teams WSA PIM4SOA UML Profile ArisGraiMetisMoogoPOP* Business expert IT infrastructure GAP CIMPIM PSM Easier Transformations Modelling support 2 Transformations

30 © The ATHENA Consortium. PIM4SOA profile implementation platform PIM4SOA GRIDP2PBDI Teams WSA PIM4SOA UML Profile ArisGraiMetisMoogoPOP* Business expert IT infrastructure GAP CIMPIM PSM eCore, MTF RSM eCore, MTF EMF eCore

31 © The ATHENA Consortium. Sketches out the stereotypes and the base classes for the PIM4SOA elements The PIM4SOA metamodel is composed by four aspects: Service, Process, Information and quality of service aspects –Each aspect is related with a set of elements of the profile –For a clear profile description these elements will be described separately (followed by an example) UML extensions for Service Modelling UML Extensions for Process Modelling UML Extensions for Information Modelling UML Extensions for Quality of Service Modelling UML extensions for PIM4SOA modelling

32 © The ATHENA Consortium. UML extensions for PIM4SOA modelling UML extensions for Service Modelling UML Extensions for Process Modelling UML Profile for Information Modelling UML Extensions for QoS Modelling

33 © The ATHENA Consortium. UML extensions for service modelling StereotypeBase ClassDescription Collaboration This element represents the definition of a service. Each service description is viewed as a collaboration between roles CollaborationUseCollaborationUse (sometimes called CollaborationOccurence) A collaboration use represents the usage of a service. This service must to be defined previously. CollaborationUse specification must be encapsulated in a composition structure. This structure is provided by a collaboration definition or by a service provider. RoleBindingDependencyThis is not a mandatory feature. It is used to connect two roles in the structural part of a class or collaboration ServiceProviderClassThis element represent the service provider RolePartA role represents a structural part in a collaboration EndPointProperty [2] [2] An endpoint represent the address for a service RegistryPackageRegistry represents a container to know where the services are placed RegistryItemClass, PartRegistry Item is an entity to relate a collaboration and an address MessageOperationThe message concept is related with a role through an interface. ItemParameterItem represents the data managed by a role

34 © The ATHENA Consortium. UML extensions for process modelling StereotypeBase ClassDescription ProcessActivityA process represents an activity diagram. This activity diagram is contained by a service provider or collaboration TaskStructured Activity NodeA structured task is related with a collaboration use. This element contains a set of interactions InteractionInteraction, Call behaviorAction An interaction represents a reference to a message. It also contains a reference to an input pin or an output pin TagDefinition:JoinSpecification:string FlowControlFlowThis flow relates two interactions. TagDefinition: GuardSpecification:String ColaborationUsePathDependencyThis dependency relates a “structuredTask” (source) with a collaboration use (target). This relationship contains a parameter indicating the order of containment.

35 © The ATHENA Consortium. UML extensions for information modelling StereotypeBase ClassDescription >Class, PackageAssigned to class or package. Indicates root and packaging of a business document information model as a reusable asset. >PackageAssigned to package. Indicates the business logic >ClassAssigned to class. Represents elements used to describe complex types >PackageAssigned to package. Indicates packaging of a reusable type library.

36 © The ATHENA Consortium. UML extensions for quality of service modelling (1) Metamodel element StereotypeBase ClassDescription NFA Part, ClassEach collaboration is related with a NFA element to describe and model quality of service aspects QoSContext PackageQoSContext allows describing the context of quality expressions. QoSCategory PackageIt is mechanism of grouping QoSCharacteristics QoSOffered PackageQoSOffered inherits from the abstract class QoSConstraint. This constraint specifies the quality that the provider must achieve QoSRequired PackageQoSRequired inherits from the abstract class QoSConstraint. This constraint specifies the quality that the server must achieve

37 © The ATHENA Consortium. UML extensions for quality of service modelling (2) Metamodel element StereotypeBase ClassDescription QoSContract PackageQoSContract inherits from the abstract class QoSConstraint. This constraint specifies the agreement between constraints QoSCharacteristic ClassQoS Characteristics represents quantifiable characteristics of services QoSDimension Feature (structuralFeature)QoS Dimensions are dimensions for the quantification of QoS Characteristic QoSValue InstanceSpecificationQoS Value instantiate QoS Characteristic and fixes it with specific values of its value definitions (QoS DimensionSlot) QoSDimensionSlot Documentation [1] [1] QoS Dimension Slot represents the value of a primitive QoS Dimension or a reference to another QoS Value

38 © The ATHENA Consortium. RSM and UML profile for PIM4SOA

39 © The ATHENA Consortium. Example #2: UML profile for Web services

40 © The ATHENA Consortium. UML profile We have defined a basic metamodel for Web services that covers those basic aspects that all Web services have to fulfil, and two extended metamodels that extend the basic specification with important concepts for Web services technology, such as faults and security. Starting from these metamodels, we have defined three different UML profiles that try to make easy the specification and development of Web services.

41 © The ATHENA Consortium. UML profile for Web services Web Service Basic Profile –This plugin implements the base UML modelling support for how to specify and develop Web services. –This plugin can be extended with other specific Web service technology profiles (e.g. XSD, WSDL and BPEL) each covering different parts of the Web service stack. UML Profile for XSD –This plugin implements UML modelling support for XML schema definitions UML Library for XSD –This plugin defines XSD types to be used when modelling XML schema definitions in UML. UML Profile for WSDL –This plugin implements UML modelling support for WSDL. UML Profile for BPEL –This plugin implements UML modelling support for BPEL.

42 © The ATHENA Consortium. UML profile for XSD (1)

43 © The ATHENA Consortium. UML profile for XSD (2)

44 © The ATHENA Consortium. UML profile for XSD (3)

45 © The ATHENA Consortium. UML profile for WSDL (1)

46 © The ATHENA Consortium. UML profile for WSDL (2)

47 © The ATHENA Consortium. UML profile for WSDL (3) UML representationText representation

48 © The ATHENA Consortium. UML profile for BPEL (1)

49 © The ATHENA Consortium. UML profile for BPEL (2)

50 © The ATHENA Consortium. UML profile for BPEL (3)

51 © The ATHENA Consortium. RSM and UML profile for Web services

52 © The ATHENA Consortium. References

53 © The ATHENA Consortium. References [Atkinson and Kühne 2003] C. Atkinson and T. Kühne, "Model-Driven Development: A Metamodeling Foundation", IEEE Software, vol. 20, no. 5, pp , foundation.pdf foundation.pdf [Clark, et al. 2004] T. Clark, A. Evans, P. Sammut, and J. Willans, "Applied Metamodelling - A Foundation for Language Driven Development, Version 0.1", ct&id=1 ct&id=1 [Seidewitz 2003] E. Seidewitz, "What Models Mean", IEEE Software, vol. 20, no. 5, pp , [Swithinbank, et al. 2005] P. Swithinbank, M. Chessell, T. Gardner, C. Griffin, J. Man, H. Wylie, and L. Yusuf, "Patterns: Model-Driven Development Using IBM Rational Software Architect", IBM, Redbooks, December

54 © The ATHENA Consortium. This course has been developed under the funding of the EC with the support of the EC ATHENA-IP Project. Disclaimer and Copyright Notice: Permission is granted without fee for personal or educational (non-profit) use, previous notification is needed. For notification purposes, please, address to the ATHENA Training Programme Chair at In other cases please, contact at the same address for use conditions. Some of the figures presented in this course are freely inspired by others reported in referenced works/sources. For such figures copyright and all rights therein are maintained by the original authors or by other copyright holders. It is understood that all persons copying these figures will adhere to the terms and constraints invoked by each copyright