
INF5120 ”Modelbased System development” Lecture 12: 16.04.2018 Arne-Jørgen Berre [email protected] and [email protected] Telecom and Informatics 1 Course parts (16 lectures) - Part I-a2018 -(Introduction to Modeling): 15/1 - Start 1-15/1: Introduction to INF5120 Part I-b -(Introduction to Business Architecture and Business Modeling 2-22/1: Modeling structure and behaviour (UML and UML 2.0 and metamodeling) 3-29/1: Business Modeling – BMC, LSC, VDML/VDMBee, (w/meta model) - (Business Model Canvas, Value Proposition, Lean Canvas Part II - (Modeling – Server side – Node-RED + THingML + Sensors/IoT/Cloud - and the Smart X project): ) 4-5/2: BPMN process - UML Activ.Diagram + Flow modelling Node-RED - establish Oblig groups (3-4 persons) 5-12/2: Node-RED/IBM Bluemix/Cloud– getting started + Individual Oblig + VDMBee/VDML 6-19/2: Cognitive Services/AI – Watson services example (for Oblig 1 and 2) (IBM Cloud – presentation from IBM Norway) 7-26/2: ArchiMate 3.0 Modeling, TOGAF 9.0 + Design Thinking 8-5/3: Smart Office - Design Thinking workshop – IBM new office, Lakkegata 33, Oslo 5/3 - Oblig 1: Individual - Node-RED 9-12/3: Service Modeling with UML 2.X Collaboration Models and Composite Models and SoaML Extra: 13/2: TJBot – workshop at IBM, Lakkegata 53 , 1600 - 1900 10- 19/3: UML 2.x Sequence Diagrams, UML 2.x State Machines. ArchiMate ArchIsurance, ArhiMetal examples, 19/3 - Oblig 2: Specification Models Smart Office – Business Architecture – Business Canvases, + +, ArchiMate + IBM ChatBot Conversation (Individual) – Introduction Oblig 3 for 23/4 – ArchiMate + UML + BPMN EASTER – 26/3 and 2/4 Part IIi - (Modeling –Apps + EA/ArchiMate) 11- 9/4 UI – Server, UI Start lecture – incl. IFML – EA with ArchiMate - Oblig 2 (3) discussion/presentation Oblig 3: Smart Office – Realisation with Node-RED, IBM Watson/IoT services + ArchiMate/UML++ Application, Technology, Physical models – 10% Part IV - (MDE – Creating Your own Domain Specific Language – Eclipse, Xtext/SIRIUS): 12-16/4: MDE with Xtext and SIRIUS 16/4 - Oblig 3 - progress: Group presentations - discussions 13-23/4: MDE transformations, Non Functional requirements 23/4 – Oblig 3 - progress: Group presentations – discussions, Oblig 4 introduction 14-30/5 Guest lecture - CJML, ThingML 30/5 – Oblig 3 - Delivery 15-7/5 Guest lecture – ArDoq - https://ardoq.com/ 14/5 - Oblig 4 Delivery- Smart Office demonstrations + Your own Domain Specific Language – 2 (DSL-x) - 10% 16-14/5: Summary of the course Mandag 21/5 – PINSE 17-28/5: Conclusions, Previous exams – group collaborations Preparations for the Exam by old exams 15/6: Exam (4 hours), Friday June 15th, 1430-1830 - ) - 60% Content Introduction to Metamodels and UML Profiles Introduction to Eclipse, EMF and Sirius Introduction to Oblig 3 – for May 4th Telecom and Informatics 3 OMG Model-Driven Architecture (MDA) www.omg.org/mda Telecom and Informatics 4 Model-driven – a definition A system development process is model-driven if the development is mainly carried out using conceptual models at different levels of abstraction and using various viewpoints it distinguishes clearly between platform independent and platform specific models models play a fundamental role, not only in the initial development phase, but also in maintenance, reuse and further development models document the relations between various models, thereby providing a precise foundation for refinement as well as transformation Telecom and Informatics 5 MDA From 30.000 Feet J2EE .Net A PIM can be retargeted to different platforms Not the only reason why MDA might be of interest to you… Telecom and Informatics 6 Automation in Software Development Requirement Requirement Requirement s s s Manually Manually Manually implement implement implement High-level spec (functional and nonfunctional) Implement with Interactive, automated Source in Source in support domain-specific domain-specific language (DSL) language (DSL) Compile Compile Source in a (may generate (may generate general-purpose code in code in language, e.g., Java or C++) Java or C++) Java or C++ Compile Compile Compile Implementation Implementation Implementation Telecom and Informatics 7 Basic MDA Pattern • Additional Generic transformations PIM information Implement best practices, • Model markup architectural and design patterns, technology patterns (e.g., J3EE patterns), optimizations, etc. Additional information Adjust the transformation globally Similar to compiler options Generic Model markup Transformation transformation Direct the transformation of particular model elements Not part of the PIM Different platform mappings may require different markup Similar to compiler pragmas PSM Telecom and Informatics 8 Goals The three primary goals of MDA are portability, interoperability and reusability. The MDA starts with the well-known and long established idea of separating the specification of the operation of the system from the details of the way the system uses the capabilities of its software execution platform (e.g. JEE, CORBA, Microsoft .NET and Web services). MDA provides an approach for: specifying a system independently of the software execution platform that supports it; specifying software execution platforms; choosing a particular software execution platform for the system; transforming the system specification into one for a particular software execution platform; Telecom and Informatics 9 Basic concepts System Existing or planned system. System may include anything: a program, a single computer system, some combination of parts of different systems Model A model of a system is a description or specification of that system and its environment for some certain purpose. A model is often presented as a combination of drawings and text. Architecture The architecture of a system is a specification of the parts and connectors of the system and the rules for the interactions of the parts using the connectors. MDA prescribes certain kinds of models to be used, how those models may be prepared and the relationships of the different kinds of models. Viewpoint A viewpoint on a system is a technique for abstraction using a selected set of architectural concepts and structuring rules, in order to focus on particular concerns within that system. View A viewpoint model or view of a system is a representation of that system from the perspective of a chosen viewpoint. Platform A platform is a set of subsystems and technologies that provide a coherent set of functionality through interfaces and specified usage patterns, which any application supported by that platform can use without concern for the details of how the functionality provided by the platform is implemented. Telecom and Informatics 10 MDA – Three main abstraction levels Computation independent model (CIM) The computational independent viewpoint is focused on the environment of the system and on the specific requirements of the system. A CIM represents the computational independent viewpoint. The CIM hides the structural details and, of course, the details related to the targeted platform. Platform independent model (PIM) A platform independent model is a view of the system from a platform independent viewpoint. The platform independent viewpoint is focused on the operation of the system, hiding the platform specific details. A PIM exhibits platform independence and is suitable for use with a number of different platforms of similar types. The PIM gathers all the information needed to describe the behaviour of the system in a platform independent way. Platform specific model (PSM) A platform specific model is a view of the system from the platform specific viewpoint. A PSM combines the specifications in the PIM with the details that specify how the system uses a particular type of platform. The PSM represents the PIM taking into account the specific platform characteristics. Telecom and Informatics 11 Model-driven approach to system CIMCIM Business engineering where models are used in Context • understanding Models • design • construction ) D • deployment D • operation M ( Model • maintenance t trans- n • modification e formation m Model transformation tools and services p PIM o PIM are used to align the different models. l e Software v Specification e Models d Business-driven approach to system n engineering where models are refined e v i from business needs to software solutions r d • Computation independent model (CIM) - l Model e capturing business context and business d trans- requirements o formation M • Platform independent model (PIM) focusing on software services PSMPSM Software independent of IT technology Realisation • Platform specific model (PSM) focusing Models on the IT technology realisation of the software services Telecom and Informatics 12 Basic MDA Pattern The basic pattern can be applied multiple times PIMs and PSMs are relative notions “Someone’s PIM can be someone else’s PSM” Platform independence is relative, too It’s a scoping issue It’s a strategic decision Telecom and Informatics 13 Role of Models Capture design information that is usually absent from code and lost during development Basis for System generation Analysis Simulation Test generation Documentation generation … Domain-specificity of a modeling language strengthens its capabilities for generation, optimization, early error detection, etc. Telecom and Informatics 14 Viewpoints and Views System models are organized into multiple views Different abstraction
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages89 Page
-
File Size-