940 likes | 949 Views
INF5120 Modellbased System Development. F14: Course summary - with lecture notes structure Lecture 05.05.2008 Arne-Jørgen Berre. Lectures. 1: 21/1: Introduction to MBSU, MDA, OO and Service / SOA modeling (AJB) 2: 28/1: Business Process Modeling (CIM) - with BPMN (AJB)
E N D
INF5120Modellbased System Development F14: Course summary - with lecture notes structure Lecture 05.05.2008 Arne-Jørgen Berre
Lectures • 1: 21/1: Introduction to MBSU, MDA, OO and Service/SOA modeling (AJB) • 2: 28/1: Business Process Modeling (CIM) - with BPMN (AJB) • 3: 4/2: Metamodeling and UML profiles, MDA technologies (EMF/GMF) – BPMN example (BRE) • 4: 11/2: Language Engineering and DSL – SOA Example (BRE) • 5: 18/2: Model transformations with ATL and QVT – and JEE (GO) • 6: 25/2: SOA Architectures and UPMS (PIM) (AJB) • 7: 3/3: Method Engineering and Service Modeling/SEMET (BRE) • 8: 10/3: Code generation with MOFScript and other technologies (GO) • EASTER • 9 :31/3:: Service Design and Patterns (AJB) • 10: 7/4: PIM and Web Services technology (PSM) with WSDL/XML/BPEL (PSM) (BRE) • 11: 14/4: Web services and Model Driven Interoperability (BRE) • 12: 21/4: Architecture work at Telenor and Agent technologies (JOEA, Ismar) • 13: 28/4: Model Driven Semantic interoperability–with Ontologies, Semantic web and SOA (AJB) • 14: 5/5: Course summary, Lecture notes structure (AJB) • 15: 26/5 Preparation for exam, Course summary – QA and previous exams (AJB) • Exam: June 2nd, 2008… • AJB – Arne J. Berre, BRE – Brian Elvesæter, GO – Gøran Olsen
Text for Exam – Pensum – Spring 2008 • Text Material from all lectures and OBLIG • Lecture Notes INF5120 • Part I – MDE - Model Driven Engineering • Part II – SOA – Service Oriented Arcitectures • Part III – MDE for SOA – COMET-S med UPMS • Part IV – MDI – Model Driven Interoperability • Some selected articles on MDI • Andreas Limyr, Tor Neple, Arne-Jørgen Berre, and Brian Elvesæter: Semaphore – A Model-Based Semantic Mapping Framework, Semaphore.pdf • Arne-Jørgen Berre, Brian Elvesæter, Nicolas Figay, Claudia Guglielmina, Svein G. Johnsen, Dag Karlsen, Thomas Knothe and Sonia Lippe: The ATHENA Interoperability Framework,. AIF_IESA_v9.pdf. • Christian Hahn, Cristian Madrigal-Mora and Klaus Fischer: Interoperability through a Platform-Independent Model for Agents, IESA_HahnEtAl.pdf. • K. Arnarsdóttir, A.-J. Berre, A. Hahn, M. Missikoff, F. Taglino: Semantic mapping: ontology-based vs. model-based approach Alternative or complementary approaches?, EMOI06Ppaper.pdf. • From OBLIG • ATL User manual • MOFScript user manual
Lectures – with pensum • 1: 21/1:F1: Introduction to MBSU, MDA, OO and Service/SOA modeling (MDA Guide, COMET_S+, SOA, OO/CRC, UML) • 2: 28/1: F2: Business Process Modeling (CIM) - with BPMN (AJB) (BPMN) • 3: 4/2: F3: Metamodeling and UML profiles, MDA technologies (MDA, MDD, EMF/GMF) • 4: 11/2: F4: Language Engineering and DSL – SOA Example (UML profiles, DSL, SOA Ref.model/OASIS, UPMS) • 5: 18/2: F5: Model transformations with ATL and other technologies ((MOF, QVT, ATL starters guide, User manual!!) • 6: 25/2: F6: SOA Architectures and UPMS (PIM) (COMET-S, BM, Req Modeling, OOram, SOA-Profile, UPMS light) • 7: 3/3: F7: Method Engineering and Service Modeling (SPEM, EPF, COMET Serv.mod, - UPMS) • 8: 10/3: F8: Code generation with MOFScript and other technologies (MOFScript User guide, JEE) • EASTER • 9 :31/3:: F9: Service Design and Patterns (Design patterns, GRASP, OO/SOA articles Erl SOA Design patterns) • 10: 7/4: F10: SOA, Web services architecture, XML (IEEE Std 1471-2000, SOA, UDDI, SOAP, XML) • 11: 14/4: F11: Web services and Model Driven Interoperability (WSDL, BPEL, MDI, AIF, AIM) • 12: 21/4: F12: Multi Agent software technologies and Practical Architecture work at Telenor (PIM4Agents, EA) • 13: 28/4: F13: Model Driven Semantic interoperability–with Semantic web. Ontologies and semantic SOA (Semantic Web) • 14: 5/5: F14: Course summary, Lecture notes structure (AJB) • 15: 26/5 F15: Preparation for exam, – QA and previous exams (AJB) • Exam: June 2nd, 2008… • AJB – Arne J. Berre, BRE – Brian Elvesæter, GO – Gøran Olsen
Oblig 1 1 Introduction 2 Goal of the exercises 3 OBLIG 1-a: BPMN modelling – Webshop 3.1 Further Description 4 OBLIG 1-b: UPMS light in EMF/GMF and UML profile in Papyrus 4.1 Metamodel description 4.2 GMF Editor 4.2.1 UPMS light service diagram 4.2.2 UPMS light interface diagram 4.2.3 Quick guide 4.3 UML Profile in Papyrus 5 OBLIG 1-c: ATL transformation rules from UPMS Light to Java EE WS Metamodel 6 Files
Oblig 2 1 Introduction 2 Goal of the exercises 3 Description 3.1 OBLIG 2-a: MOFScript rules from UPMS light to JEE 3.1.1 Optional: Running the Services 3.2 OBLIG 2-b: MDI extension - Essay delivery
Exam Case based Ref. previous exams All written material is allowed 09-12 (3 hours) –Monday June 2nd, 2008
INF5120 – Model-Based System Development Lecture #3: Metamodelling and UML profiles, MDA technologies 04 February 2008 Brian Elvesæter, SINTEF ICT
OMG Model-Driven Architecture (MDA) www.omg.org/mda
Model-Driven Interoperability (MDI) Framework MDA & Interoperability • Reusable MDI Assets • Method chunks • Tools and services • Models and metamodels • Model transformations • DSLs and UML profiles • Reference examples Metamodelling UML Profiles & DSLs Model Transformations Method Engineering
CIM Business Context Models Model trans- formation PIM Software Specification Models Model trans- formation 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. Model-driven development (MDD) • 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
Three stages in the evolution ofmodelling techniques at the OMG. (a) (c) (b) MOF UML MOF UML SPEM Workflow etc. aModel UML Common Warehouse Metadata UML_for_CORBA aModel Action language aModel
The three modelling levels the MOF MMM M3 level CCM EDOC etc. M2 level the UPM MM (SPEM) the CWM MM the UML MM M1 level a UML model m another UML model m’ M0 level another use of m a particular use of m
Model -> Metamodel UML MM 1 Class * Attribute UML model Client Name: String entity meta-entity relationship model meta-model relationship
EMF Models and Ecore Ecore is the model used to represent EMF models Ecore is also an EMF model and therefore its own metamodel And its own meta-meta-….-model, but never mind Available elements are: EClass EAttributes EReference EDataType EEnum, EEnum Literal EPackage EOperation, EParameter Conceptually equal to OMGs Essential MOF (EMOF)
3 shades of EMF Generated Java files Ecore model Creation of an instance Book book = LibraryFactory.eINSTANCE.createBook(); book.setTitle(“How to be a meta role model”);
BPDM Packages Two complementary process models Activity Model BPMN Extensions Interaction Protocol Model Common Process Elements Happening (Event) Processing Behavior (Steps) Simple Interaction Common abstractions Composition Model Course Model Use of UML 2 basic infrastructure Element / Type Data Types Primitives Types Package Expressions BPMN
INF 5120 - Lecture #5 Model transformations with ATL and other technologies Gøran K. Olsen SINTEF ICT Cooperative and Trusted Systems
Families to Persons: writing the rules After the helpers we now write the rules: Member to Male Member to Female
Summary of the Transformation For each instance of the class "Member" in the IN model, create an instance in the OUT model. If the original "Member" instance is a "mother" or one of the "daughters" of a given "Family", then we create an instance of the "Female" class in the OUT model. If the original "Member" instance is a "father" or one of the "sons" of a given "Family", then we create an instance of the "Male" class in the OUT model. In both cases, the "fullname" of the created instance is the concatenation of the Member "firstName" and of the Family "lastName", separated by a blank. +
Metamodeling and use of ATL ! Read – and practice - ATL User Guide – Tutorial See http://www.eclipse.org/m2m/atl/doc/ http://www.eclipse.org/m2m/atl/doc/ATL_User_Manual[v0.7].pdf Examples: Person, Biblio, Table, … Many examples on metamodels and transformations in ATL Inventory (Zoo) http://www.eclipse.org/m2m/atl/atlTransformations/
Course Wiki – See reference to tutorials Internal tutorials BPMN Basic tutorialThis tutorial gives a basic introduction on how to develop a BPMN model with the BPMN editor in the Soa tool plugin for eclipse EMF and GMF - Basic TutorialThis tutorial gives a basic introduction on how to develop a metamodel with EMF, and a corresponding DSL with GMF EMF and GMF - Intermediate TutorialThis tutorial extends on the basic tutorial and introduces more elements into the metamodel and show how to reflect this in the DSL ATL basic tutorial. A simple tutorial for model to model transformation using ATL. See the resources section for links to a lot of other examples. MOFScript Basic Tutorial Also se external tutorials and MOFScript. ATL – Book2Publish, PIM4SOA to XSD ATL User manual
INF5120 – Model-Based System Development Lecture #4: Language Engineering and DSL – SOA Example 11 February 2008 Brian Elvesæter, SINTEF ICT
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 modelling 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 modelling language of choice for most application modelling, 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.
INF 5120 - Lecture #8 Code generation with MOFScript and other technologies Gøran K. Olsen SINTEF ICT Cooperative and Trusted Systems
MOFScript a model to text tool Provides the means of: Editing, compiling and executing Syntax high-lightning Content assist Outline MOFScript Console
Uml2Java Example //Context class self.ownedAttribute->forEach(p : uml.Property | p.association = null) { p.attributeGetterSetters() } // Generate Getter and Setters uml.Property::attributeGettersSetters () { 'public 'self.type.name' get'self.name.firstToUpper()' () {' 'return 'self.name';\n }\n' 'public void set'self.name.firstToUpper()'(' self.type.name' input ) { ' self .name' = input; \n } ' } publicString getBookTitle(){ return bookTitle; } public void setBookTitle(String input){ bookTitle = input; } public Integer getNumberOfPages(){ return numberOfPages } public void setNumberOfPages(Integer input){ numberOfPages = input; }
FamilyModel example uml.Class::outputGeneralization(){ self.generalization->forEach(g: uml.Generalization){ if(not g.target.isEmpty()){ g.target->forEach(c: uml.Class){ stdout.println("Generalization target name: "+ c.name ) } //g.target forEach }//if target if(not g.source.isEmpty()){ g.source->forEach(c:uml.Class){ stdout.println("Generalization source name: "+c.name) }//g.sourse forEach }//if source }//self.generalization }//outputGeneralization() Generalization target name: Individual Generalization source name: Male
INF5120 – Model-Based System Development Lecture #4: Language Engineering and DSL – SOA Example 11 February 2008 Brian Elvesæter, SINTEF ICT
Extended service-oriented architecture Papazoglou and Georgakopoulos CACM, Oct. 2003
OASIS Reference Model forService Oriented Architecture 1.0 OASIS http://www.oasis-open.org/home/index.php Abstract framework. Understanding significant entities and relationships between them within a service-oriented environment. Development of consistent standards or specifications supporting service-oriented environment. Based on unifying concepts of SOA and may be used by architects developing specific service-oriented architectures in training and explaining SOA. Reference model not directly tied to any standards, technologies or other concrete implementation details Provide a common semantics that can be used unambiguously across and between different implementations. The reference model focuses on the field of software architecture.
INF5120 – Model-based System Development Lecture #10: SOA, Web services architecture, XML, WSDL, BPEL 7 April 2008 Brian Elvesæter, SINTEF ICT Based on material developed in the ATHENA (IST-507849), COMBINE (IST-1999-20839), INTEROP (IST-508011), and MODELWARE (IST-511731) research projects.
IEEE Std 1471-2000 IEEE Std 1471-2000 IEEE Recommended Practice for Architectural Description of Software-Intensive Systems Adopted September 2000 Architecture definition Structure(s) of a system in terms of components, their externally visible properties, their relations, and the underlying principles Common frame of reference for architectural descriptions Common terminology architecture, architectural description, model, view, viewpoint, system, stakeholder, concern, …
Stakeholder Architectural description fulfills 1..* influences Mission has an provides Rationale inhabits has described by System 1..* Architecture Environment identifies is important to 1..* 1..* is addressed to 1..* participates in 1..* 1..* has identifies organized by selects 1..* 1..* conforms to used to cover Concern Viewpoint View 1..* participates in 1..* 1..* consists of 0..1 has source aggregates 1..* Library viewpoint establishes methods for Model 1..* The fundamental organisation of a system embodied in its components, their relationships to each other and to the environment, and the principles guiding its design and evolution. The expression of a systems architecture with respect to a particular viewpoint. Addresses one or more of the concerns of the system stakeholder. Has interest in, or concerns relative to the system. Developed using the methods established by its viewpoint, consisting of views expressing an architectural description. Those interests which pertain the system’s development, operation and other aspects that are critical or otherwise important to one or more stakeholders.
Web services stack Conceptualstack Technologystack
INF5120 – Model-based System Development Lecture #11: WSDL, BPEL and Model-driven interoperability 14 April 2008 Brian Elvesæter, SINTEF ICT Based on material developed in the ATHENA (IST-507849), COMBINE (IST-1999-20839), INTEROP (IST-508011), and MODELWARE (IST-511731) research projects.
WSDL 1.1 metamodel A container for data type definitions WSDL Component WSDL Document Include 0..1 0..1 + Location Import + NameSpace Schema A collection of related endpoints Types + Location + TargetNameSpace 0..* 0..* 0..1 0..1 Definition Element Service + Name + Name + Name + TargetNameSpace + BaseType 0..* 0..* + MinOccurs An abstract, typed definition of the data being communicated A single endpoint defined as a combination of a binding and a network address + MaxOccurs 1..* 1..* Port 0..* 0..* Part + Name 0..* 0..* Message + Name 1 1 + Name + Type + Element 0..1 0..1 0..1 0..1 0..1 0..1 +fault +output 0..* 0..* 1 1 0..* 0..* +input Binding Port Type + Name + Name 1 1 1 1 A concrete protocol and data format specification for a particular port type 1..* 1..* Operation + Name An abstract, description of an action supported by the service An abstract set of operations supported by one or more endpoints
BPEL process and scope activities Partner Links Message variables shared by activities in <scope/> <process/> only Partners Variables Correlation sets for associating messages with process/activity instances Correlation Sets Fault Handlers Install special purpose activities in scope Compensation of completed scopes Compensation Handler Event Handlers PrimaryActivity
INF5120”Modellbasert Systemutvikling””Modelbased System development” Lecture 12: Multi Agent technologies / PIM4Agents
INF5120Modellbasert systemutvikling COMET-S Business Modelling COMET-S Requirements Modelling UPMS SOA profile COMET-S: COMET with Standards, for Services See COMET, www.modelbased.net/comet Forelesning F06 - 25.02.2008 Arne J. Berre
BPMN, POP*, ARIS, ArchiMate, GERAM, GRAI, Zachman, UEML, B.Rules. .. CIM-K Ontologies Bus.Process Bus.Rules Goals NFA/Qualities Org BPDM, SBVR, EDOC,UPMS, PIM4SOA, ODM PIM-K Information Process Services Rules NFA UI UML profiles and metamodels for BPEL, WSDL, XML, XPDL, OWL-S, WSML, WSDL-S PSM-K Data Wflow/Comp Interfaces Rules NFA UI Technologies/Realisation-K Technology Reliastion Code XML, BPEL/XPDL, WSDL, SWRL, Security, AJAX OWL, OWL-S/WSML WSDL-S, Induction, … QoS Legacy and New systems/services, ERPs/ESAs