INF5120 ”Modellbasert Systemutvikling” ”Modelbased System Development”

INF5120 ”Modellbasert Systemutvikling” ”Modelbased System Development”

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.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    142 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us