1 / 72

INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development”

INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development”. Lecture 1: 25.01.2010 Arne-J ørgen Berre. Welcome to INF5120 “Model based System development”. Model based System Development http://www.uio.no/studier/emner/matnat/ifi/INF5120/v10 /

nerice
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: 25.01.2010 Arne-Jørgen Berre

  2. Welcome to INF5120 “Model based System development” • Model based System Development • http://www.uio.no/studier/emner/matnat/ifi/INF5120/v10/ • Earlier: Modellering med objekter, Modeling with objects • Lecturers: • Arne-Jørgen Berre • Brian Elvesæter • Gøran Olsen, Jon Oldevik, and Guest lecturers • Email: inf5120-forelesere@ifi.uio.no • Responsible for Obligatory exercises: • Eivind Bergstøl, Tore Vatnan • Email: inf5120-oppgaver@ifi.uio.no

  3. INF5120 - Lecture plan - 2010 • 1: 25/1: Introduction to MBSU, MDA, OO and Service/SOA modeling, Overall EA, 4 parts: MDE/SSS/MS/MDI (AJB) • Part I: MDE – Model Driven Engineering • 2: 1/2: MDE I: Metamodeling. DSL and UML profiles, MDA technologies (XMI, Eclipse, EMF/GMF) (AJB/BRE) • 4: 15/2: MDE II: Model transformations with MOFScript, ATL and other technologies (GO/JO) • 5 :22/2: MDE III: Code generation with MOFScript, ATL and other technologies (GO/JO) • Part II: SSS – Service Science and Service/SOA technologies • 3: 8/2: SSS I: Service science - Service Innovation, Service Design and Service/SOA Engineering and Technologies (AJB) • Part III: MOS – Modeling of Services - with SoaML • 6: 1/3: MOS I: Business Process Modeling (CIM) - with BPMN 2.0, SoaML and BMM, EA with UPDM (AJB) • 7: 8/3: MOS II: UML2 and SysML, Modelio SOA and Scope, – Collaboration and Component models (AJB) • 8: 15/3: MOS III: SoaML (PIM) and Requirements modeling , CIM->PIM and SoaML (AJB) • 9: 22/3: MOS IV: Method Engineering and SPEM / EPF - for Service systems (BRE) • EASTER • Part IV – Model Driven Interoperability • 10: 12/4: MS V: SOA and Service Design, Migration to SOA/Cloud Patterns with ADM (AJB ) • 11: 19/4: MDI I: Semantic Web with Ontologies and Model Driven Interoperability (TIR) • 12: 26/4: MDI II: Semantic Services and Model Driven Interoperability (TIR) • 13: 3/5: MDE IV: Evolution and industrial practice of modelbased technologies (AJB++) • 14: 10/5: Course summary and preparation for Exam 31/5 (AJB) • Exam: May 31st, 2010 (Monday), 0900-1200 (3 hours) • AJB – Arne J. Berre • BRE – Brian Elvesæter • GO – Gøran Olsen • JO – Jon Oldevik • TIR – Titi Roman • Tjeneste innovasjon: BI/NHH, Tjeneste Design: OAH, Tjeneste Engineering: (INF5210-MS)

  4. Obligatory Exercises - 2010 • 1: 25/1: Introducing links to Eclipse, EMG and GMF • 2: 1/2: Introduction to Oblig 1, Individual - Eclipse and EMF tutorial • 3: 8/2: EMF and GMF tutorial • 4 :15/2: MOFScript in practice • 5: 22/2: Preparations/Questions for Oblig 1 delivery, Establish groups for Oblig 2 • 26/2: Delivery of Oblig 1 • 6: 1/3: BPMN and SoaML tools – Going through Oblig 1 • 7: 8/3: UML2, SoaML and SysML tools – Guest Lecture Service Science, Jørn Nordlund, IBM • 8: 15/3: Preparations /Questions for Oblig 2a delivery • 9: 22/3: Intro to SPEM / EPF tools • EASTER • 7/4: Delivery of Oblig 2a • 10: 12/4: Going through Oblig 2A • 11: 19/4: Semantic web/Ontology/MDI tools • 12: 26/4: Preparations /Questions for Oblig 2b delivery • 30/4: Delivery of Oblig 2b • 13: 3/5: Going through Oblig 2B • 14: 10/5: Going through old Exams • INF9120 – Extra Oblig: essay on Model based system development related to thesis topic – or similar • EB – Eivind Bergstøl • TV – Tore Vatnan • GL - Guest lectures

  5. 4 parts of the course • MDE I-V (Model Driven Engineering) • SSS (Service Science and Service technologies) • MOS I-V (Model Driven Service Systems) • MDI I-II (Model Driven Interoperability) • Each part will have a separate handbook

  6. Objectives • Model based System Development • - through ”modelingwith objects and services” • 2 roles: • 1) Tool developer (Software Factory) • 2) Application developer, (user of Software Factory). • Object-oriented -> Componentbased-> Service oriented • Reuse • Learn techniques • MDA – Model driven architecture • Meta Modeling and modelltransformation * • SOA – Service oriented architecture • Unified Modeling Language (UML 2.0) – for architecture • MDI – Model Driven Interoperability

  7. Change in sequence from 2009 • We will change back to the sequence from 2008 with a bottom up approach (rather than top down as we had in 2009) – with first learning the principles and technologies for MDE in February. We will also give a short introduction to the focus area of Service Science and Service Engineering, and related SOA technologies. • In March we will focus on how to practice a model driven approach to Services (MOS), and in April we will introduce the topic of Semantic Web/services and Model Driven Interoperability (MDI) – before a final conclusion of the course

  8. New since last year • Initial focus on Eclipse with EMF and GMF and transformation tools • Use of Modelio commercial modeling tool – for UML2 and BPMN 2.0 (This is a new version of Objecteering) • New focus on “Service Science” – with Service Innovation (with BI/NHH), Service Design (OAH) and Service Engineering (UIO) • New standards: Focus on OMG MDA standards, and on SoaML with links to BPMN 2.0, SysML and UPDM.

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

  10. Which tools/environments will you learn ? • Eclipse EMF and XMI, Principles of GMF • MOFScript (Model2Text, Model2Model) • EPF/SPEM Software Process Modeler • Modelio UML Modeler (BPMN, UML 2, SysML) • Modelio SOA Solution (SoaML) • Overview of ATL, KerMeta, OpenArchitectureWare-OAW, Microsoft OSLO • Ref. also IBM RSA/RSM, Enterprise Architect, Magic Draw supporting SoaML and BPMN

  11. OBLIG 1: – “MDE tools in practice” • Design a GMF based editor in Eclipse with EMF and use of MOFScript for transformations: • Practical use of • EMF • GMF • MOFScript • Compare with UML profiles • Individual work

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

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

  14. Course literature – available on web • Material from all lectures and OBLIG • Some selected articles and documents, and subset of standard documents from OMG • Handbook: ”Model Driven Engineering - MDE” , A.J. Berre & B. Elvesæter • Handbook: ”Service Science and Service Oriented Architectures - SOA” , A.J. Berre & B. Elvesæter • Handbook: ” Modeling services – with SoaML” , A.J. Berre & B. Elvesæter • Handbook: ” Model Driven Interoperability - MDI”, A.J. Berre & B. Elvesæter • Practical use of tools (OBLIG): • Modelio - http://www.modeliosoft.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/

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

  16. Supporting literature – EMF and GMF • Book: Eclipse Modeling Framework (2nd Edition) (Paperback) • Dave Steinberg (Author), Frank Budinsky (Author), Marcelo Paternostro (Author), Ed Merks (Author) • Book: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit (Paperback) • Richard C. Gronback

  17. 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)

  18. 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)

  19. Exam • Case-based (ref. earlier exams) • All written material can be used • 09-12 (3 hours) – Monday 31 . May 2010

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

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

  22. 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, ….

  23. Extending COMET for SOA (1)

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

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

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

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

  28. 2nd EC Review, Brussels, January 28th 2010 Flexible Business Modelling SHAPE Solution Overview CIM Business Models … BPMN EPC BMM SHA-ML PIM Core System Models Service Variability SoaML PIMs for different P2P/Grid/ PIM4 PIM4 Architectural Styles Agents Components/… SWS PSM WSDL, WSMO, OWL S, JACK, JADE, JXTA, OGSA, CORBA, … Implementation Models Execution Environments J2EE, NetWeaver , .Net, …

  29. SHAPE SolutionMDE Technologies Purpose / Benefit Problem / State-of-Art Solution developed Future Plans • Business-IT-Gap • Existing techn. not integrated Integrated & guided business modelling Flexible Business Modelling • BPMN 2.0 support • Cont. integration of bus. modelling • Backward analysis • Business-IT-Gap • Bus. Modeling techniques not integrated 1 Service & SOA Modelling • SoaML metamodel & profile • Modelling tools • Methodology Enable MDE for services & SOA • Disseminate SoaML • Commercialization • SoaML Extensions • MDE for SOA highly desired • UML does not support this 2 Integration of Agent Technology • Framework & Tools for integration with SoaML • Enhance AOSE Automated planning on top of services • Standardiz. (AMP) • Enhanced problem solving using services • Services are only passive infrastruc. • problem solving / planning on top 3 Integration of SWS Technologies • Hetero. & dynamics in larger systems • SWS not aligned with classic SE MDE for SWS: Framework, Tool, Methodology Handling Hetero-geneity + automate service usage • Standardization (OMG,W3C,OASIS) • MDE for Semantic Technologies 4 • New approach based on SPEL • Metamodel, Tool, Methodology Customization & personalization of services Service Customization • Standardiz. (CVL) • Continue towards comprehensive serv. customization • Complex services vs. indiv. user req. • adequate techn-iques not existing 5

  30. SHAPE Solution Matrix MDE Infrastructure Meta- Models Model Trans-formations SHAPE Tool Suite SHAPE Methodology Flexible Business Modelling CIM->CIM (mult.) CIM -> PIM (mult.) BPMN, EPC Data, Org., Rules BMM, Ontologies CIMFlex Modeling BPMN + UML Ontology Engin. CIMFlex Modelio 1 Technological Innovations SoaML -> WS SoaML -> JEE Service & SOA Modelling SoaML SoaML & WS Modelling Modelio Composition Studio 2 SoaML -> PIM4Agents PIm4Agents -> PSM Integration of Agent Technology SHAML – Agent Extension Agent Modelling (PIM ->PIM2PSM->PSM) PIM4Agents 3 Integration of SWS Technologies SoaML-> SWSPim SWSPim -> WSMO SWS Modelling (PIM ->PIM2PSM->PSM) SHAML – SWS Extension WSMT 4 SoaML-> SV-Spec. SV-Res. -> Soaml Service Customization Service Variability Metamodel Service Variability Modelling & Variant Creation Service Variability Tools 5

  31. Part 4: 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

  32. EPF Composer isa tool platform for process engineers,project leads, projectand program managerswho are responsiblefor mainteining and implementing processesfor development organizations or individual projects Aims to: provide for development practitioners a knowledge base of intelectual capital that allows them to browse, manage and deploy content. provide process engineering capabilities by supporting processe engineers and project managers in selecting, tailoring, and rapidly assembling processes for their concrete development process. EPF Composer

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

  34. 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?

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

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

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

  38. Zachman Framework – for Enterprise Architecture

  39. Business Motivation Model (BMM) with MeansRealizations

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

  41. BPMN example

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

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

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

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

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

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

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

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

  50. 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)

More Related