Pragmatic Model Driven Development (MDD) using openArchitectureWare Michael Vorburger & Laurent Medioni Odyssey Financial Technologies 1640.

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

© 2008 by Borland Software Corp; made available under the EPL v1.0 | 17 March 2008 Introduction to the Graphical Modeling Framework Artem Tikhomirov, Borland.
Automated Test Design ™ © 2011 Conformiq, Inc. CONFORMIQ DESIGNER On ES v1.2.1 Stephan Schulz MBT Working Meeting/MTS#56, Göttingen.
CSI5112 Software Engineering Team: Andrei Anisenia Margi Fumtiwala.
Copyright  2005 Symbian Software Ltd. 1 Lars Kurth Technology Architect, Core Toolchain The Template Engine CDT Developer Conference, Oct 2005.
1 Model-driven development of SOA with Web services – using QVT technology Master thesis by Berge Stillingen Department of Informatics, University of Oslo.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Model Driven Development: What went right? What went wrong? What needs to happen? Tony Clark Middlesex University London, UK
Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
® IBM Software Group © 2008 IBM Corporation RSM and UML 13 june 2008 Fredrik Ferm – ECAT Strategy Team Lead
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
IBM Software Group © 2005 IBM Corporation University of Nantes Eclipse dayMarch 2005 The Eclipse Modeling Framework and the IBM Model Transformation Framework.
Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,
Formalizing Material Flow Diagrams How can an MDE approach be used to improve the design process of material handling systems? Robert-Jan Bijl.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
Xactium xDSLs Run Models Not Code Tony Clark
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
1 A Web Specific Language for Content Management Systems Viðar Svansson, Roberto E. Lopez-Herrejon Computing Laboratory University of Oxford.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
Introduction to MDA (Model Driven Architecture) CYT.
Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.
SOA-13: Introduction to DataXtend ® Semantic Integrator (DX SI) Abstract data management from the application level using a common data model.
Agenda 1. Introduction 2. Overview of SU-MoVal 3. OCL-based Model Validation 4. QVT-based Transformations 5. Demo of SU-MoVal 6. Conclusion and Future.
Siemens Corporate Research Prec+Goals Requirements Concept Implementation Results+Metrics Demo How to develop an editor for the Eclipse RCP? Ulrich Dinger.
March 22, open.ac.uk Towards Better Tool Support for Goal Models.
Introduction to Eclipse Plug-in Development. Who am I? Scott Kellicker Java, C++, JNI, Eclipse.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Copyright © 2009 AtlanMod. All Rights Reserved Frédéric Jouault & Hugo Bruneliere AtlanMod team (INRIA & Mines de Nantes) Possible Benefits of Bridging.
Hyper/J and Concern Manipulation Environment. The need for AOSD tools and development environment AOSD requires a variety of tools Life cycle – support.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Selected Topics in Software Engineering - Distributed Software Development.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Graphical Modeling Framework (GMF) Richard C. Gronback Project Lead.
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
Architecture for an Ontology and Web Service Modelling Studio Michael Felderer & Holger Lausen DERI Innsbruck Frankfurt,
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
LanguageLab A Meta-modelling Environment Terje Gjøsæter and Andreas Prinz, University of Agder, Norway SDL Forum 2015, Berlin, Germany.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
March 19th 2007 TANGO collaboration 1 POGO-7 Pascal Verdier ESRF- Hamburg - 25 th of October 2010 A Short History of Pogo A Short History of Pogo New Technology.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Small is Beautiful Building a flexible software factory using small DSLs and Small Models 1 Jos Warmer Partner, Ordina
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Witchcraft MDA Oreon Consulting Inc Model Driven Design Advantages of an assembly line approach vs handcrafting Cartridges & Extensions.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
A Flexible MDATool Set Anneke Kleppe Klasse Objecten.
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
De Rigueur - Adding Process to Your Business Analytics Environment Diane Hatcher, SAS Institute Inc, Cary, NC Falko Schulz, SAS Institute Australia., Brisbane,
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
Re Write POGO using openArchitectureWare Technology ● Pogo History ● OpenArchitectureWare technology ● Generated code ● Project status.
Building Enterprise Applications Using Visual Studio®
Web Application Modeling
Execute your Processes
QVT Operational 1.0 Ganymede Simultaneous Release Graduation Review
Software Architecture & Design
Presentation transcript:

Pragmatic Model Driven Development (MDD) using openArchitectureWare Michael Vorburger & Laurent Medioni Odyssey Financial Technologies 1640

2 AGENDA >Goal of Pragmatic MDD using openArchitectureWare at Odyssey >Positioning of approach within the larger MDD / MDA picture >openArchitectureWare, briefly: What? How? >Our Eclipse-based Designers >Software Demo >Q & A

3 AGENDA >Goal of Pragmatic MDD using openArchitectureWare at Odyssey >Positioning of approach within the larger MDD / MDA picture >openArchitectureWare, briefly: What? How? >Our Eclipse-based Designers >Software Demo >Q & A

4 >Today –Complexity of functional developments and inconsistencies due to complex and heterogeneous technical frameworks (due to historical reasons, acquisitions, etc.) –Customization not always addressed in architecture, requiring strong technical skills –Difficulty to tackle technological swaps (no big bang upgrades) because functional feature code is highly dependant on technical plumbing >Tomorrow –Reduced cost of new in-house functional developments, with higher quality –Reduced implementation time for customizations, requiring less technical skills –Suitable level of abstraction, enabling “behind the scene” changes of technical layers >How? –Consistent approach to frame all development work (frame-work), internal and for customizations, using code generation tools and high-level visual designers based on comprehensive application models Goal of Pragmatic MDD using openArchitectureWare at Odyssey

5 AGENDA >Goal of Pragmatic MDD using openArchitectureWare at Odyssey >Positioning of approach within the larger MDD / MDA picture >openArchitectureWare, briefly: What? How? >Our Eclipse-based Designers >Software Demo >Q & A

6 Positioning - MDA >Model Driven Architecture ™ – –… not entering any philosophical polemic… –Standards, standards ? (well, XMI, ok…) –Ready ? A few promising implementations… >Analysis result: Not suitable for a solution provider context –High customizability (platform-wide but also surgical customization) –Migration of legacy artifacts (future “Architecture Driven Modernization” kind but… now !) –Cohabitation between newly generated and legacy artifacts in the same containers. “Big Bang” not possible, neither internally, nor for customer sites.

7 Positioning - MDD >MD Development (or MD Engineering, not OMG™) –No functional Use Cases (and stratospheric PIM…) design attempt Practical models for technical artifacts (P[I/S]M) –No overweight models overloaded with meta-data Local and tactical models, each one customizable through dedicated tools –Always use generated code from models when a model exists Models express 100% of what should be manually coded (“framed” use of the frameworks) No manual “custom sections” in generated code, already enough merging issues on models… –But also recognize that not everything can be modeled Only most highly customized artifact types –MDA, the Eclipse way…

8 >A Domain Specific Language for each artifact type –A model for the abstract representation (ecore) –A storage mechanism to persist the abstract representation (EMF does it!) –A designer for editing the abstract representation using a graphical projection (helped by GMF) –A generator for translating the abstract representation into an executable representation (oAW) Positioning - DSL Abstract representation (ecore) Storage representation (XMI) Store (EMF) Generate (oAW) Executable representatio n (java, xml, …) Projection (GMF) Editable representation (GMF editor) Import (oAW)

9 BOM centric >The Business Object Model contains declaration of: –Classes and their attributes –Associations –Enums, translations, … >The BOM is used for generating default models (CRUD basic pageflows and pages, validation rules, …) and technical artifacts (persistence, …) –to propose a default skeleton to the applications (CRUD basic administration) –to provide reusable bricks for more complex usage >Nearly all DSLs need to be aware of the BOM –BO are in and out parameters of services, rules, … –BO are stored in the various contexts of session scope, pageflows, processes, …

10 Positioning - Target Eclipse designers Technical target oAW Import existing artefactGenerate artefact Constraint checking Model to model transf.

11 AGENDA >Goal of Pragmatic MDD using openArchitectureWare at Odyssey >Positioning of approach within the larger MDD / MDA picture >openArchitectureWare, briefly: What? How? >Our Eclipse-based Designers >Software Demo >Q & A

12 openArchitectureWare >oAW is a Framework & Tools to: –Work with different meta meta models (Ecore, XML, JavaBeans) –Read models (parsing EMF XMI, UML2, UML tools, other XML, …) –Check models for well defined integrity constraint violations, during editing –Transform models into other models via a functional language –Generate textual “code” (Java, XML,...) from models via templates –Build editors for models: Textual & Graphical (DSLs) >Specific actual cartridges are not in the core of oAW >Fully open-source (Eclipse Public License v1.0, EPL), strong community –v4 is part of Eclipse.org’s Generative Modeling Technologies (GMT) project –Formerly on openarchitectureware.org & SourceForge >Packaged & delivered as flexible & modular Eclipse feature

13 openArchitectureWare Acronymland >Workflow Engine: Tying it all together... run from Eclipse, ant, etc. >Xpand: Template language & engine, model to text (M2T) transformations (Velocity / FreeMarker / EMF JET –ish, but with an oAW-aware Eclipse editor etc.) >Xtend: Functional model to model (M2M) transformation language, also used to 'extend' meta types with additional behaviour in a non-invasive manner. (Alt: ATL) >Check: Model validation with OCL-like declaratively defined constraints (or use Java API for semi-declarative constraint checking, or real OCL with 3 rd -party lib) >Recipe: Checks and generate hints on manually to-be implemented code >xText: Cartridge which from a DSL defined in EBNF generates Ecore meta model, parser, and Eclipse editor with syntax highlighting, completion & outline. >GMF: Eclipse‘s EMF + GEF (Graphical Editing Framework), with oAW checks >EMF: Eclipse‘s meta model (Ecore) / beans / editors / XML binding framework

14 openArchitectureWare Overview 1.Model Verification using Constraints 2.Code Generation 3.Integrating gen. code with hand-written code 4.Model Modification/Completion 5.Model-to-model Transformation 6.Loading/Storing Models 7.Model Editing using UML Tools 8.Model Editing using Textual Editors 9.Model Editing using GMF Editors

15 openArchitectureWare Screenshots 1/2 Xpand Editor Xpand Syntax Highlighting Content Outline Syntax analysis Code Completion Error reporting

16 openArchitectureWare Screenshots 2/2 Textual DSLs with xText

17 openArchitectureWare growing “Ecosystem” >oAW is not a “standalone” tool (even before formally being in Eclipse, and since its acceptance into Eclipse.org hopefully increasingly less so) >Different aspects to this, e.g. specific “cartridges”, model input/output, Model To Text (M2T: Xpand, JET, MTL? Xpand chosen over JET for GMF 2.0) and Model To Model (M2M: Xtend, ATL, QVT) projects on eclipse.org, a shared “model bus” in MDDi, etc. >For example, the other day, we had this discussion about using SCM branching for “customizing” models, and the problems you would have when re-integrating the next vendor branch in a merge. Manually diff-ing XMI-stored models didn’t really sound too appealing - but oh, look, somebody appears to already be working on that: - Nice. (In fact, at least two... also With oAW becoming integrated into eclipse.org/gmt and maybe later eclipse.org/modeling, hopefully we’ll see more coherence over time?)

18 openArchitectureWare Wrap-Up >Sorry we don‘t have time to go more in-depth about oAW itself here! >If all of this sounds interesting to you, check out: – – –Other oAW presentations & articles on-line ( Article-FromFrontendToCode-MDSDInPractice/article.html good starter!) Article-FromFrontendToCode-MDSDInPractice/article.html >PS: is another of several such toolkits. AndroMDA appears to focus more on UML models and specific cartridges, while oAW probably positions itself as a more generic Eclipse-centric MDD platform. (Fornax is a project for building similar cartridges for oAW.)

19 AGENDA >Goal of Pragmatic MDD using openArchitectureWare at Odyssey >Positioning of approach within the larger MDD / MDA picture >openArchitectureWare, briefly: What? How? >Our Eclipse-based Designers >Software Demo >Q & A

20 OFS Workbench (Eclipse) Eclipse-based Workbench, in two “editions”: >Business Edition: Simplified Eclipse RCP version Only proposes what is necessary for non-technical users (models). An OFS feature grouping all designers. >Developer Edition Full Eclipse IDE + OFS feature Able to support full development projects

21 Odyssey Financial Studio Eclipse project >An OFS project is the container for the various types of models >An OFS explorer has been designed to: –filter access to models –hide technical details (model and layout files, 2 in 1) –encapsulate customization handling (a customized artifact is a copy of the original) –Eclipse Common Navigator based >Each type of model is editable through a dedicated designer (backed-up with a DSL)

22 Pageflow designer >State diagram With specific meta-data

23 Process designer >BPMN-like In-house engine (for the moment)

24 Rule designer >Purchased from Innovations AG Fully compliant With OFS

25 BOM designer Not graphical (yet)

26 Inter-designer communication >In a first time, all designers are “vertically” isolated –No inter-designer communication Ex: The pageflow contains page URIs –DSL models restricted to what can be expressed in our current target frameworks Except documentation >In a second time, designers will be communicating –DSL models can directly reference other models Ex: Pages can be drag & dropped in pageflows –Business model is known to everyone Ex: An entity attribute can be drag & dropped in a page, corresponding visual representation is displayed –Current frameworks will be extended to reflect model extensions Ex: Define a context for a pageflow, map page events to pageflow transitions, … –Refactoring to be handled… But fortunately customization is only about adding !

27 Business sketching Business analyst Customer requirements Draft new models Alter existing models Documentation Technical analyst Fills blanks Optimizations Integration Production KPI results New artifact version Draft model >Business and Technical analysts work on the same artifact models >Exchanged models also hold documentation Reduce “interpretation” and a convenient way of providing “local” documentation (DITA based) >Simple customization operations do not even require technical skills, any more Ex: add attributes to entities, move fields in pages, reroute pageflows, …

28 AGENDA >Goal of Pragmatic MDD using openArchitectureWare at Odyssey >Positioning of approach within the larger MDD / MDA picture >openArchitectureWare, briefly: What? How? >Our Eclipse-based Designers >Software Demo >Q & A

29 AGENDA >Goal of Pragmatic MDD using openArchitectureWare at Odyssey >Positioning of approach within the larger MDD / MDA picture >openArchitectureWare, briefly: What? How? >Our Eclipse-based Designers >Software Demo >Q & A

Michael Laurent Odyssey Financial Technologies