620 likes | 640 Views
Welcome to INF5120 "Model based System Development". This course covers topics such as Service Innovation, Agile Service/Software Engineering, Model Driven Engineering, and Model Driven Interoperability. Lectures include Enterprise Architecture, Business Process Modeling, Metamodels, and Cloud Computing. The course also covers tools like EMF, GMF, BPMN, and SoaML. Exam is case-based, using written materials, on June 4, 2012. Course literature includes handbooks on MDE, SOA, MDI, and practical tool use. Guest lectures by Verna Allee and course materials available online.
E N D
INF5120”Modellbasert Systemutvikling””Modelbased System development” Lecture 1: 16.01.2012 Arne-Jørgen Berre arneb@ifi.uio.no and Arne.J.Berre@sintef.no
Welcome to INF5120 “Model based System development” • Model based System Development • http://www.uio.no/studier/emner/matnat/ifi/INF5120/v11/ • Earlier: Modellering med objekter, Modeling with objects • Lecturers: • Arne-Jørgen Berre • Franck Fleurey • Brian Elvesæter • Guest lecturers • Email: inf5120-forelesere@ifi.uio.no • Responsible for Obligatory exercises: • Tore Vatnan, Weiqing Zhang, … • Email: inf5120-oppgaver@ifi.uio.no
3 parts of the course • SSI (Service Innovation and Service Engineering) • MDE I-V (Model Driven Engineering) • MDI I-II (Model Driven Interoperability) • Each part will have separate handbook/material
INF5120 - Lecture plan - 2012 • Part I: SSI – Service Innovation and Agile Service/Software Engineering • Part II: SSMDE – Model Driven Engineering • Part III – Model Driven Interoperability and ADM • 1: 16/1: Introduction to Model Based System Development (INF5120) • 2: 23/1: SIE I: Service Innovation, Enterprise Architecture and Value Networks – Verna Allee (VNA) • 3: 30/1: SIE II:: Business Architecture and Business Process Modeling with BPMN 2.0 - Peter Lindgren (BMI) • 4: 6/2: SIE III: AT ONE – Service Design, Agile User-oriented design – with Use cases/stories and UI models • 5: 13/2: MDE I: Metamodels, Domain specific languages and UML profiles • 6: 20/2: SIE IV: Service modeling with SoaML – Service modeling - Design, patterns • 7: 27/2:SIE V: Information Modeling with UML and Design with DCI - Design, patterns • 8: 5/3: MDE II: Metamodeling, MDLE and DSL Tools (EMF, GMF, ATL, Kermeta) • 9: 12/3: MDE III: Model transformations - MOFScript, QVT • 10: 19/3: MDE IV: ThingML and CloudML with examples • 11: 26/3: MDE V: Internet Service Architectures - with BPM/BPEL and SOA/Cloud • 2/4, 9/4: EASTER • 12: 16/4: MDE VI: User Interface Modeling – IFML etc. - ESITO • 13: 23/4: MDI I: Semantic technologies, Ontologies and Semantic annotations , Rules/SBVR • 14: 30/4: MDI II: Model Driven Service Interoperability • 15: 7/5: MDI III: ADM and Migration to Cloud computing • 16: 13/5: Conclusion and Summary for INF5120 - Preparation of Exam • Exam: Monday June 4th, 2011, 1430-1830 (4 hours)
Next Lecture – Enterprise Architecture and Value Networks. January 23rd, 2012 • Enterprise Architecture • Business Architecture • IT Architecture • VNA – Value Network Analysis (Guest lecture by Verna Allee) • See online book: Value Netwoks and the true value of Collaboration – by Verna Allee (chapter 1 and 2) http://www.valuenetworksandcollaboration.com
Exam • Case-based (ref. earlier exams) • All written material can be used • 1330-1830 (4 hours) – Monday June 4th, 2012
Course literature – available on web • Material from all lectures and OBLIG 1 and 2 a/b • Some selected articles and documents, and subset of standard documents from OMG – see handbooks from last year(s). We are currently updating the handbooks for this year. • A.J. Berre & B. Elvesæter: Model Driven Engineering - MDE, Handbook. Part 1 - MDA. • A.J. Berre & B. Elvesæter: Service Science and Service Oriented Architectures - SOA, Handbook. Part 2 - SOA. • A.J. Berre & B. Elvesæter: Model Driven Interoperability - MDI, Handbook. Part 4 - MDI. • Practical use of tools (OBLIG): • EMF - http://www.eclipse.org/modeling/emf/ • GMF - http://www.eclipse.org/gmf/ • Kermeta: http://www.kermeta.org/ • Eugenia – http://www.eclipse.org/gmt/epsilon/doc/eugenia/ • See also: http://live.eclipse.org/node/575 • Modelio - http://www.modeliosoft.com/ • MOFScript -http://www.eclipse.org/gmt/mofscript/ • BPMN – http://www.eclipse.org/stp/bpmn • ATL - http://www.eclipse.org/gmt/atl/ og http://www.modelbased.net/ • SoaML - www.soaml.org
Course literature – available on web • Material from all lectures and OBLIG 1 and 2 a/b • Some selected articles and documents, and subset of standard documents from OMG • BPMN – www.omg.org/bpmn (BPMN v2 Beta 1) • SoaML – Latest standard document (SoaML Beta 2) – Articles by Jim Amsden, IBM, on SoaML (1 to 5), Article by Cory Casanave, Model Driven Solutions, • Some selected articles on MDI • 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. • Arne-Jørgen Berre, Fangning Liu, Jiucheng Xu, Brian Elvesæter: Model Driven Service Interoperability through use of Semantic Annotations, 2009. I-ESA paper. Fulltext.
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)
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)
Value Network Analysis http://www.valuenetworksandcollaboration.com
Agile Service Development (1/3) New book – in the publishing process until April 2012, Springer. We will use a publication preprint initially
Open Services Innovation Book: January 2011
Software engineering practices and methods • modelbased.net • practices.modelbased.net • A practices framework, SEMAT, www.semat.org
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
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
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
Change in course in 2012 • We will now start with the practical modeling part, Agile Service Engineering – before focusing on the MDE – Model Driven Engineering part – giving the introduction to modeling earlier in the course. • We will continue with the use of the Kermet Metamodel environment, on top of EMF, instead of only focusing on GMF. • In March we will focus on Model Driven Engineering, and in April we will introduce the additional topics of Semantic Web/services and Model Driven Interoperability (MDI) – and Architecture Driven Modernisation (ADM) – before a final conclusion of the course
New in 2012 • Continued focus on “Service Science” – with Service Innovation (with BI/NHH), Service Design (OAH) and Service Engineering (UIO) • VNA – Value Network Analysis, Verna Allee • New standard: OMG MDA standard: VDML, FACESEM • Service Design: AT ONE • Business Model Innovation: Osterwalder/Lindgren
New in 2011 • 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.
Which OMG modeling standards will you learn ? • VDML – Value Delivery Modeling Language – with VNA • 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
Which tools/environments will you learn ? • VNA – Value Network Analysis • BMI – Business Model Innovation/Generation • AT ONE – Service Design • Modelio UML Modeler (BPMN, UML 2, SysML) • Modelio SOA Solution (SoaML) • Eclipse EMF and XMI, Principles of GMF • EuGENia – for GMF • MOFScript (Model2Text, Model2Model) • EPF/SPEM Software Process Modeler • Overview of ATL, KerMeta, OpenArchitectureWare-OAW, Microsoft OSLO • Ref. also IBM RSA/RSM, Enterprise Architect, Magic Draw supporting SoaML and BPMN
OBLIG 1: – “Service Analysis and Design for University of Oslo – Institute for Informatics” – with group presentations • Value Network Analysis • Business Model Innovation • AT ONE – Service Design • Business Process Modeling – BPMN • Select Service Innovation area with potential IT support • Design and Specify Service • Service Modeling with SoaML
OBLIGS: – “MDE tools in practice” • Oblig 2 a/b: Design a Kermeta and GMF based editor in Eclipse with EMF and use of MOFScript etc. for transformations to Java. (TBD). • OBLIG 2a – Smart House– with BPMN/SoaML modeling. (TBD). • OBLIG 2b part 1/2 - MDI support etc. INF9120 – Extra Oblig: essay on Model based system development related to thesis topic – or similar
OBLIG 2a: – “MDE tools in practice” • Design a GMF based editor in Eclipse with EMF and use of MOFScript for transformations: • Practical use of • EMF • GMF • EuGENia • MOFScript • Compare with UML profiles • Individual work
OBLIG 2b – “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
Requirements for the course • Student at UIO • Only assumption is basic knowledge of UML and Java (but not necessarily UML 2.0)
Course literature – Update to become available on web • Material from all lectures and OBLIG • Some selected articles and documents, and subset of standard documents from OMG – to be updated • Handbook: ”Model Driven Engineering - MDE” , A.J. Berre & B. Elvesæter • Handbook: ”Service Innovation and Service Engineering ” , 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/
Exam • Case-based (ref. earlier exams) • All written material can be used • 4 hours – (Note, extended from 3 from previous years, we will, however, still keep the same amonunt of work) • Monday June 4th, 2012, 1430-1830
OMG Model-Driven Architecture (MDA) www.omg.org/mda
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
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, ….
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
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
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
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
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, …
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
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
SEMAT – Software Engineering Methods and Theory www.semat.org
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.