INF5120 ”Modellbasert Systemutvikling” ”Modelbased System Development”
Total Page:16
File Type:pdf, Size:1020Kb
INF5120 ”Modellbasert Systemutvikling” ”Modelbased System development” Lecture 10: 18.03.2013 Arne-Jørgen Berre [email protected] or [email protected] Telecom and Informatics 1 Content n Oblig 1 and 2 – details n MOF and EMF n Model transformations, EMFText, MOFScript, Java n Model to Model, ATL, Java n Enterprise Architecture - MagicDraw n ISO RM/ODP n UPDM for MODAF/DODAF n SysML Telecom and Informatics 2 INF5120 - Lecture plan - 2013 n 1 (14/1): Introduction – overview Enterprise Architecture with UML and BPMN and DSLs n 2 (21/1): Service Innovation and Design, AT ONE method/workshop – myServiceFellow (Marika Lüders) n 3: (28/1): Value Networks/VDML BPMN, vs. UML Activity diagrams - Oryx n 4 (4/2): User experience and Touchpoints/UI Design – Balsamiq – (Amela Karahasanovic) n 5 (11/2): UML and Req.Modeling –Agile User stories versus Use cases n 6 (18/2): Business-SoaML, Requirements Modeling, Goal Modeling, BMM, and Non Functional requirements n 7 (25/2): Model driven engineering – Metamodels, DSL, UML Profiles etc. NAV on NFR n 8 (4/3): UML Service Modeling – SoaML, UML 2.0 Service composition, MagicDraw n 9 (11/3): Method Engineering, SW Process frameworks , SPEM/EPF, ISO 24744, FACESEM/ESSENCE (Brian Elvesæter) n 10(18/3): Model driven engineering, transformation technologies, (USDL, ISO 19119) n 11(8/4): MDE and DSL in practice, i.e. CloudML/ThingML – Franck Fleurey n 12(15/4): BPMN and Business Process Management and CMMN and Case Management n 13(22/4): UML and Entity and Information modeling, UML, ISO 19103 n 14(29/4): UML and Semantic models, Facts, SBVR, Ontologies, Rules n 15(6/5): UML and Platform models, realisation, migration, Java, Apps, CloudML n 16(13/5): Conclusion and Summary for INF5120 - Preparation for Exam n Exam: Monday June 3rd, 2013, (4 hours) Telecom and Informatics 3 INF5120 – Oblig plan - 2013 n 1 (14/1): Introduction n 2 (21/1): myServiceFellow/Service Design n 3: (28/1): Oryx n 4 (4/2): Balsamiq n 5 (11/2): Use cases 2.0 n 6 (18/2): Oblig 1 – Group work n 7 (25/2): EMF and Eclipse – Group (3) presentation – Business Model, Business-SoaML n 8 (4/3): Oryx– Group (3) presentation - User stories/use cases, UI, NFR n 9 (11/3): Group presentation(s) on Oblig 1: User stories/use cases, UI/Balsamiq n 10(18/3): Group presentation on Oblig 1 – NFR 1 – Parallell Start on Oblig 2 (individual) and Oblig 3 (group) n - 22/3 : Delivery of Oblig 1 n EASTER n 11(8/4): Walk through of Oblig 1 – Questions on Oblig 2 and 3 n 12(15/4): Delivery of Oblig 2 – “Value Network editor in Eclipse” n 13(22/4): Group work, Oblig 3 – Group (x) presentation n 14(29/4): Group work, Oblig 3 – Group (x) presentation n 15(6/5): Delivery of Oblig 3 – “Concierge – SA Model” n 16(13/5): Walk trough of Oblig 3 - Preparation for Exam n Exam: Monday June 3rd, 2013, (4 hours) Telecom and Informatics 4 Oblig 2 (individual) n Value Network – with Eclipse EMF - “Graphical Domain Specific Language (DSL) Editor for Value Networks” n Create a metamodel for Value Networks in EMF n Create a graphical editor for Value Networks – using Eugenia – (as front end for GMF) Telecom and Informatics 5 MDA-compliant Eclipse technologies n Eclipse Modeling Tools: http://www.eclipse.org/downloads/ n Eclipse Modeling Framework (EMF) n http://www.eclipse.org/emf/ n EMF is a modeling framework and code generation facility for building tools and other applications based on a structured data model. n Eclipse Graphical Editing Framework (GEF) n http://www.eclipse.org/gef/ n The Graphical Editing Framework (GEF) allows developers to take an existing application model and quickly create a rich graphical editor. n Eclipse Graphical Modeling Framework (GMF) n http://www.eclipse.org/gmf/ n The Eclipse Graphical Modeling Framework (GMF) provides a generative component and runtime infrastructure for developing graphical editors based on EMF and GEF. n Eugenia n EuGENia is a tool that automatically generates the .gmfgraph, .gmftool and .gmfmap models needed to implement a GMF editor from a single annotated Ecore metamodel n http://www.eclipse.org/epsilon/doc/eugenia/ n Atlas Transformation Language n http://www.eclipse.org/gmt/atl/ n The ATL project aims at providing a set of transformation tools for GMT. These include some sample ATL transformations, an ATL transformation engine, and an IDE for ATL (ADT: ATL Development Tools). n Eclipse Process Framework (EPF) n http://www.eclipse.org/epf/ n To provide an extensible framework and exemplary tools for software process engineering - method and process authoring, library management, configuring and publishing a process. Telecom and Informatics 6 EMFText - MOF to text n http://www.emftext.org/index.php/EMFText Telecom and Informatics 7 Introduction ATHENA Model-Driven Interoperability (MDI) Framework MDA & Interoperability Metamodelling Reusable MDI Assets UML Profiles & DSLs • Method chunks • Tools and services • Models and metamodels Model Transformations • Model transformations • DSLs and UML profiles • Reference examples Method Engineering Telecom and Informatics 8 Model to Text transformation 1/2 n MDA places modelling at the heart of the software development process. n Various models are used to capture various aspects of the system in a platform independent manner. n Sets of transformations are then applied to these platform independent models (PIM) to derive platform specific models (PSM). n These PSMs need to be eventually transformed into software artefacts such as code, deployment specifications, reports, documents, etc. n It is also common to generate code directly from PIM-like models. (DSL approach) Telecom and Informatics 9 Model to Text transformation 1/2 n QVT, ATL and MOFScript M2M addresses the need of model – to – model transformation (e.g., PIM – to – PIM, PIM – to – PSM and PSM – to – PSM) n The MOF Model to Text (mof2text) standard addresses how to translate a model to various text artefacts such as code, deployment specifications, reports, documents, etc. n Essentially, the mof2text standard needs to address how to transform a model into a linearized text representation. n An intuitive way to address this requirement is a template based approach wherein the text to be generated from models is specified as a set of text templates that are parameterized with model elements. Telecom and Informatics 10 Motivation n Why do we need model-to-text transformation? n Raise the level of abstraction n Systems are getting more complex n Raise of abstraction has proven useful (for instance: Assembly to COBOL) n Automation of the software development process n Decrease development time n Increase software quality n Focus on the creative part n Automatic generation of new artefacts from your models n Java, EJB, JSP, C# n SQL Scripts n HTML n Test cases n Model documentation Telecom and Informatics 11 Alternatives n What are the alternatives? n Programming languages (e.g Java), n Template/scripting languages (e.g XSLT, OaW, Eclipse Java Emitter Templates – JET, OMG MOF Model 2 Text) n Model Transformation Languages (e.g. ATLAS Transformation Language (ATL)), proprietary UML-based script languages, DSL-based approaches, Other MOF- based text/code generators n Properties of the alternatives: n Neither programming languages nor scripting languages tend to take advantage of source metamodels. n However, it can be done programmatically in Java (e.g. using Eclipse Modelling Framework (EMF)) n Model 2 Model Transformation languages such as ATL is metamodel-based, but is not designed with text generation in mind. However, it can be done also in ATL n UML tool script languages are tied to both UML and a vendor, and are not based on standards. n DSLs provides the flexibility of metamodel-based tools; they typically hard code code generation for each domain-specific language. n The difference between a MOF-based approach and a DSL is not significant, as transformations in MOF-based approaches also will depend on a particular metamodel. n Other MOF-based text generators have not been available, but will emerge. Telecom and Informatics 12 OMG Request for Proposal for a model-to- text transformation language n OMG RFP Issued in 2004 n Mandatory Requirements: n Generation from MOF 2.0 models to text n Reuse (if applicable) existing OMG specifications, in particular QVT n Transformations should be defined at the metalevel of the source model n Support for string conversion of model data n String manipulation n Combination of model data with hard coded output text n Support for complex transformations n Multiple MOF models as input (multiple source models) n Optional Requirements n round-trip engineering n detection/protection of hand-made changes for re-generation n traceability is a (possible) means of supporting the last two. Telecom and Informatics 13 MOF to Text Overview n A template-based approach wherein a Template specifies a text template with placeholders for data to be extracted from models. n These placeholders are essentially expressions specified over metamodel entities with queries being the primary mechanisms for selecting and extracting the values from models. n These values are then converted into text fragments using an expression language augmented with a string manipulation library. n Template can be composed to address complex transformation requirements. Large transformations can be structured into modules having public and private parts. Telecom and Informatics 14 MOF to Text Example [template public classToJava(c : Class)] class Employee class [c.name/] { { // Attribute declarations // Attribute declarations [attributeToJava(c.attribute)] String name; // Constructor Department dept; [c.name/] () { Double salary; } } // Constructor [/template] Employee() { [template public attributeToJava(a : Attribute)] [a.type.name/] [a.name/]; } [/template] } Telecom and Informatics 15 Language details 1/3 n Instead of defining two templates separately, a template can iterate over a collection by using the for block.