1 / 68

INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development”

INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development”. Lecture 1: 19.01.2009 Arne-J ørgen Berre. Welcome to INF5120 “Model based System development” (for SOA). Model based System Development Tidligere : Modellering med objekter, Modeling with objects

all
Télécharger la présentation

INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development”

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. INF5120”Modellbasert Systemutvikling””Modelbased System development” Lecture 1: 19.01.2009 Arne-Jørgen Berre

  2. Welcome to INF5120 “Model based System development” (for SOA) • Model based System Development • Tidligere: Modellering med objekter, Modeling with objects • http://www.uio.no/studier/emner/matnat/ifi/INF5120/v09/ • Ifi.uio.no/inf5120 • Lecturers: • Arne-Jørgen Berre, SINTEF and UIO • Gøran Olsen, SINTEF • Brian Elvesæter , SINTEF • Some guest lectures ... • Email: inf5120-forelesere@ifi.uio.no • Øvingsansvarlige: • Tore Vatnan, Hans Huru, Anthe Rugstad • Email: inf5120-oppgaver@ifi.uio.no

  3. 3 main parts of the course • MSOA I-V (Model Driven SOA/Services) • MDE I-V (Model Driven Engineering) • MDI I-II (Model Driven Interoperability)

  4. Objectives • Model based System Development • - through ”modelingwith objects and services” • 2 roles: • 1) Tool developer (Software Factory) • 2) Application developer, (user of Software Factory). • Objektoriented -> Componentbased-> Service oriented • Reuse • Learn techniques • Unified Modeling Language (UML 2.0) – for architecture • Meta Modeling and modelltransformation * • MDA – Modell drevet arkitektur – med modelltransformasjoner • SOA – Service (Tjeneste) orienterte arkitekturer • MDI – Model Driven Interoperability

  5. Lecture plan - 2009 • 1: 19/1: Introduction to MBSU, MDA, OO and Service/SOA modeling, Overall EA (AJB) • 2: 26/1: MS I: Business Process Modeling (CIM) - with BPMN and BMM (AJB), Objecteering UML Modeler • 3: 2/2: MS II: UML2 and SysML, Objecteering SOA and Scope, – Collaboration /Component models • 4: 9/2: MDE I: Metamodeling , DSL and UML profiles, MDA technologies (XMI, Eclipse, EMF/GMF) (GO/BRE) • 5: 16/2: MS III: SoaML I (PIM) and Requirements modeling , CIM->PIM, • 6: 23/2: MS IV: Method Engineering and SPEM / EPF (BRE) • 7: 2/3: MS V: SoaML II and Service Design (AJB) • 8: 9/3: MDE II: Model transformations with MOScript, (ATL and QVT) – and JEE (GO) • 9 :16/3:: MDE II: Code generation with MOFScript and other technologies (GO) • 10: 23/3: MDE IV: PIM and Web Services teknologi (PSM) for SOA with WSDL/XML/BPEL (PSM) (BRE) • 11: 30/3: MDI I: Model Driven Interoperability I (AJB) • EASTER • 12: 20/4: MDE V: Open ArchitectureWare/Kermeta, Microsoft OSLO etc. (Neil, Franck, Anthe) • 13: 27/4: MDI II: Model Driven Interoperability - II - Ontologies, Semantic web and Semantic Modeling (AJB) • 14: 4/5: Course summary • Exam: May 29th, 2009 (Friday) • AJB – Arne J. Berre • BRE – Brian Elvesæter • GO – Gøran Olsen

  6. Change in sequence from last year • Instead of working bottom up, with first learning MDE and then applying the principles for tools for Model driven SOA, we will this year work more top down. We will this year first learn about Model Driven SOA with tool support, based on an existing commercial tool (Objecteering), and then look at how MDE can be used to create similar tools (Open Source etc.), including use of transformation tools for generating models and code. • As we did last year, we will end with Model Driven Interoperability (MDI) and related topics.

  7. New since last year • Use of Objecteering commercial modeling tool – for UML2 and BPMN • New standards: SysML and SoaML (was UPMS)

  8. Which OMG modeling standards will you learn ? • UML 2.0 – what is new in version 2 • MDA – Model Driven Architecture • BPMN – Business Process Modeling Notation • BMM _ Business Motivation Model • SysML – Systems Engineering Modeling Language • SoaML – SOA Modeling Language • SPEM – Software Process Engineering Metamodel • QVT, MOF2Text – Query, View, Transformation • See www.omg.org

  9. Which tools/environments will you learn ? • Objecteering UML Modeler (BPMN, UML 2, SysML) • Objecteering SOA Solution (SoaML) • Eclipse EMF and XMI, Principles of GMF • MOFScript (Model2Text, Model2Model) • EPF/SPEM Software Process Modeler • Overview of ATL, KerMeta, OpenArchitectureWare-OAW, Microsoft OSLO

  10. OBLIG 1 and 2: – “Smart House” • Design a platform independent Smart house system: • 6 groups of 4 people: • 1. Alarm-system • 2. Temperature control • 3. Video surveillance • 4. Lightning and equipment control (X10) • 5. Media control – Music/picture/video server • 6. Integration group • Design for use of commercially available sensors and equipment, initially map to Java simulation, secondly map to technology platforms/device control

  11. OBLIG 1 – “Smart House Design” – increments with group presentations • CIM models (BPMN) • CIM models (Scope, Goal, Requirements) • Requirements models • SoaML models OBLIG 2 – “Smart House mappings and transformations” • MOFScript transformations to Java and potentially to different technologies/platforms • Discussion on Model Driven Interoperability

  12. Requirements for the course • Student at UIO • Only assumption is basic knowledge of UML (but not UML 2.0) and Java

  13. Course literature – available on web • Material from all lectures and OBLIG • Some selected articles and documents, and subset of standard documents from OMG • Handbook: ”MDE with Objecteering for SOA” , Softeam and A.J. Berre • Handbook: ”Model Driven Engineering - MDE” , A.J. Berre & B. Elvesæter • Handbook: ”Service Oriented Architectures - SOA” , A.J. Berre & B. Elvesæter • Handbook: ” MDE4SOA with COMET-SE” , A.J. Berre & B. Elvesæter • Handbook: ” Model Driven Interoperability - MDI”, A.J. Berre & B. Elvesæter • Practical use of tools (OBLIG): • Objecteering - www.objecteering.com • MOFScript -http://www.eclipse.org/gmt/mofscript/ • BPMN – http://www.eclipse.org/stp/bpmn • EMF - http://www.eclipse.org/modeling/emf/ • GMF - http://www.eclipse.org/gmf/ • Papyrus UML2 - http://www.papyrusuml.org • ATL - http://www.eclipse.org/gmt/atl/ og http://www.modelbased.net/ • JEE 5.0 - http://java.sun.com/javaee/technologies/

  14. Supporting literature • Book: Model-Driven Software Development: Technology, Engineering, Management (Paperback) by Thomas Stahl, Markus Voelter, Krzysztof Czarnecki ISBN: 978-0-470-02570-3 • Engineering Service Oriented Systems: A Model Driven Approach, Karakostas, Bill; Zorgios, Yannis ISBN10: 1599049686 ISBN13: 9781599049687Cover: Hardcover April 2008

  15. UML 2.0 • UML 2.0 and SysML Background and Reference material • See www.uml-forum.com/specs.htm • Også hos OMG: • http://www.omg.org/uml/ (UML) • http://www.omg.org/mda/ (MDA) • http://www.omg.org/cwm/ (MOF, XMI, CWM)

  16. UML 2.0 recommend books:UML 2.0 in a Nutshellby Dan Pilone (Author), Neil Pitman (Author) The Unified Modeling Language User Guide Second edition (ISBN 0-321-26797-4)(G, Booch, J. Rumbaugh, Jacobsson)

  17. Exam • Case-based (ref. tidligere eksamen) • All written material can be used • 09-12 (3 hours) – Friday 29 . May 2009

  18. OMG Model-Driven Architecture (MDA) www.omg.org/mda

  19. Automation in Software Development Requirements Requirements Requirements Manually implement Manually implement Manually implement High-level spec (functional and nonfunctional) Implement with Interactive, automated support Source in domain-specific language (DSL) Source in domain-specific language (DSL) Compile Compile Source in a general-purpose language, e.g., Java or C++ (may generate code in Java or C++) (may generate code in Java or C++) Compile Compile Compile Implementation Implementation Implementation

  20. MDA CIM, PIM and PSM/Code BPMN, POP*, ARIS, ArchiMate, GERAM, GRAI, Zachman, UEML, B.Rules CIM Computational Independent Model ATL PIM BPDM, SBVR, EDOC,UPMS, PIM4SOA, ODM Platform Independent Model ADM MOFScript UML profiles and metamodels for Java JEE, BPEL, WSDL, XML, XPDL, OWL-S, WSML, WSDL-S PSM Platform Specific Model/Code ADM BPEL, WSDL, XML, XPDL, OWL-S, WSML, WSDL-S Code, Java JEE, ….

  21. Extending COMET for SOA (1)

  22. Goals Business rules Business processes Business services E-contracts … EPC POP* BPDM, BPMN BMM … Flexible business models CIM Business metamodels Flexible business models Business metamodels Flexible business models Business metamodels according to source input transformation engine Transformer (engine) Transformation rules PIM Executable business processes Service interfaces Service contracts Service enactment Business rules SLAs Parameterized services … output target Unified and standardised metamodel for SOA & SHA Semantically-enabled heterogeneous SOA model SoaML according to What service-oriented aspects to capture in models Which metamodels and languages to use input source transformation engine Transformer (engine) Transformation rules PSM Executable artefacts XSD, WSDL, BPEL Teams and plans Resource management Semantic Web Services … output target Heterogeneousservice platforms WSA JXTA OGSA JACK, JADE WSMO, WSMX … Semantically-enabled heterogeneous SOA platform metamodels Semantically-enabled heterogeneous SOA platform models Heterogeneous SOA platforms metamodels Interconnected heterogeneous SOA platform models Interconnected heterogeneous SOA platform models Heterogeneous SOA platforms metamodels according to

  23. CIM Business Models BPMN BPDM BMM EPC UPMSHA PIM Models UPMSHA (core) UPMS (core) Service Variability PIMs for different Architectural Styles UPMS WSA PIM4 SWS PIM4 Agents P2P/Grid/ Components WS, WSMO, OWL-S, JACK, JADE, JXTA, OGSA, J2EE, CORBA PSM Models J2EE, NetWeaver, .Net Realisation Technologies

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

  25. BPMN ODM, Concepts BMM CIM PIM SoaML Information Services Process PSM Technologies/Realisation Persistence API EJB 3.0, Java, XML,, Metro/WSDL BPEL/XPDL OWL,WSML OWL-S/WSML SA/WSML ASM Jack, JADE Jack, JADE Jack, JADE SAP SAP SAP INF5120 OMG standard focus

  26. MDA reference model

  27. Part 3: MDI Model Driven Interoperabtiliy BPMN, POP*, ARIS, ArchiMate, GERAM, GRAI, Zachman, UEML, B.Rules CIM-K Organisational Interoperability CIM-K TR/QVT ADM TR/QVT ADM PIM-K BPDM, SBVR, EDOC,UPMS, PIM4SOA, ODM PIM-K Semantic Interoperability ADM TR/QVT ADM TR/QVT UML profiles and metamodels for BPEL, WSDL, XML, XPDL, OWL-S, WSML, WSDL-S PSM-K PSM-K Technical Interoperability TR/M2T ADM TR/M2T ADM BPEL, WSDL, XML, XPDL, OWL-S, WSML, WSDL-S BPEL, WSDL, XML, XPDL, OWL-S, WSML, WSDL-S Code Code

  28. What is Enterprise Modelling? • Enterprise Modelling (EM) is a capability for externalising, making and sharing enterprise knowledge. • EM tools can either be: • used stand-alone to produce various kinds of model views, • integrated as front-ends to other systems, • part of an environment providing a contextual user-environment.

  29. Why Enterprise Architecture? ? How can I use best practices to ensure the success of the business? How can I involve my people in improving the performance of the business ? ? How can I ensure that the IS technology helps the work of my people?

  30. EKA EKA - - EKA - POPS POPS POPS Representations of Architecture ARIS ZACHMAN GERAM EN/ISO 19439 NIST Athena OEA

  31. Three Views in DOD Architecture Framework and C4ISR-AF

  32. Hub Architectural Standards To-be Operational DoDAF Current To-Be Target To be As is architecture architecture Architectural models supported by the necessary tools. New Form of Service-Team Organization Organisation

  33. Zachman Framework – for Enterprise Architecture

  34. Business Motivation Model (BMM) with MeansRealizations

  35. What is BPMN (Business Process Modeling Notation) ?

  36. BPMN example

  37. System and objects A system is a part of the real world which we choose to regard as a whole, separated from the rest of the world during some period of consideration. A whole that we choose to consider as a collection of objects, each object being characterized by attributes and by actions which may involve itself and other objects. Mental modell Real-World phenomenon Manifest Model

  38. Object oriented modeling aRealWorld-Phenomena anImplementedSystem anObjectModel roleModels Model environment Environment Mental model System model Real-Worldphenomenon Manifest Model

  39. OO Programming Terminology • Encapsulation • Object • Message • Method • Class • Instance • Inheritance • Polymorphism • Dynamic (Late) Binding

  40. CRC Method, class, responsibilities, and collaborators • Method to learn the most basic OO concepts plus OO “thinking” • “The most effective way of teaching the idiomatic way of thinking with objects is to immerse the learner in the "object-ness" of the material. To do this we must remove as much familiar material as possible, expecting that details such as syntax and programming environment operation will be picked up quickly enough once the fundamentals have been thoroughly understood.” • Technique also very useful during informal and creative analysis and design • Created by Kent Beck and Ward Cunningham,Textronix, 1989

  41. The CRC-Cardan object of paper personalizing the object Class (Name): Responsibility: Collaborators:

  42. Class, responsibilities, and collaborators • ClassThe class name of an object creates a vocabulary for discussing a design. Indeed, many people have remarked that object design has more in common with language design than with procedural program design. We urge learners (and spend considerable time ourselves while designing) to find just the right set of words to describe our objects, a set that is internally consistent and evocative in the context of the larger design environment. • Responsibilities Responsibilities identify problems to be solved. The solutions will exist in many versions and refinements. A responsibility serves as a handle for discussing potential solutions. The responsibilities of an object are expressed by a handful of short verb phrases, each containing an active verb. The more that can be expressed by these phrases, the more powerful and concise the design. Again, searching for just the right words is a valuable use of time while designing. • CollaboratorsObjects which will send or be sent messages in the course of satisfying responsibilities. Collaboration is not necessarily a symmetric relation. For example in Smalltalk, View and Controller operate as near equals while OrderedCollection offers a service with little regard or even awareness of its client.

  43. Unified Modeling Language UML og ( R )UP Two parts of a Harmonized Whole Process • Convergence Today • Unification leads to “standards” • Convergence in the future • Process frameworks through consensus

  44. UML Structural Modeling • Class Diagram • Object Diagram • Component Diagram (new in UML 2.0) • Package Diagram • Deployment diagram

  45. UML Behavioral Modelling • Use Case Diagrams • Interactions • Sequence diagrams (enhanced in UML 2.0) • Timing diagrams (new in UML 2.0) • Interaction overview diagrams (new in UML 2.0) • Communication diagrams (i.e. collaboration diagram) • State machine diagrams (enhanced in UML 2.0) • Activity Diagrams (enhanced in UML 2.0)

  46. Different kind of models • Conceptual models • Specification models • Implementation models

  47. SOA – Service oriented architecture • From Objects (1967 – 1995+) • To Components (1990-2000+) • To Services (2000- 2010+)

  48. SOA • Services • Messages • Dynamic discovery • Web services

  49. Service Oriented Architecture (SOA) definition • A set of components which can be invoked, and whose interface descriptions can be published and discovered (W3C). • The policies, practices, frameworks that enable application functionality to be provided and consumed as sets of services published at a granularity relevant to the service consumer. Services can be invoked, published and discovered, and are abstracted away from the implementation using a single, standards-based form of interface. (CBDI) (www.cbdiforum.com)

  50. Extended service-oriented architecture Papazoglou and Georgakopoulos CACM, Oct. 2003

More Related