December 4, 2003 1 ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

Component Development for the Component Description Framework (CDF) Training Dr.-Ing. Ulrich Dinger.
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Modeling Services Model Interoperability Xavier Blanc – University Paris VI.
Contribution to Generative Programming Application into the SmartTools generator: XML technologies, aspect-oriented programming and components Carine.
Model Driven Architecture Efficiently react to Changing Architectural and Functional Requirements Stainless Steel Models for Red Rusting Technologies Wim.
1 Model-driven development of SOA with Web services – using QVT technology Master thesis by Berge Stillingen Department of Informatics, University of Oslo.
OMG‘s MDA: An Overview copyright © 2001, MATHEMA AG OMG‘s MDA: An Overview OMG‘s MDA: An Overview Markus Völter
MDA > Model Driven Architecture > Orçun Dayıbaş > December, 2006 > METU, Ankara.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S
Final Thesis Presentation on TEST DERIVATION AND REUSE THROUGH HORIZONTAL TRANSFORMATION OF SYSTEM MODELS Submitted by-Supervised by- Jenis KavadiyaAntonio.
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 -
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.
Chapter 14 Database Connectivity and Web Technologies
W3C Activities HTML: is the lingua franca for publishing on the Web XHTML: an XML application with a clean migration path from HTML 4.01 CSS: Style sheets.
OMG Meeting, Helsinki Model Driven Architecture An Alternative Implementation Approach Werner Froidevaux
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
XML at Work John Arnett, MSc Standards Modeller Information and Statistics Division NHSScotland Tel: (x2073)
Technical Overview.
Xactium xDSLs Run Models Not Code Tony Clark
XForms: A case study Rajiv Shivane & Pavitar Singh.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
1 XML at a neighborhood university near you Innovation 2005 September 16, 2005 Kwok-Bun Yue University of Houston-Clear Lake.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
School of Computing and Management Sciences © Sheffield Hallam University To understand the Oracle XML notes you need to have an understanding of all these.
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
3 April SOA: Services Oriented Architecture MDA: Model Driven Architecture.
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.
1 MDWE'2008, Toulouse, France, September 30, 2008 A Comparative Analysis of Transformation Engines for User Interface Development Juan Manuel González.
第十四章 J2EE 入门 Introduction What is J2EE ?
Copyright © 2004 InteliData A Real-World Example of MDA without Automation Ed Seidewitz 26 August 2004.
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
1 Model Compiler Construction Based on Aspect-oriented Mechanisms Naoyasu Ubayashi (Kyushu Institute of Technology) Tetsuo Tamai (University of Tokyo)
Vision The ultimate IDE/CASE tool should supports all steps in the software development process. Current tools perform only minimal semantic-level analysis.
Copyright © PASS Consulting Corp., Miami 2001 XX/1 XML Application Server.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
1 Model Evolution with Aspect-oriented Mechanisms Naoyasu Ubayashi (Kyushu Institute of Technology) Tetsuo Tamai (University of Tokyo) Shinji Sano, Yusaku.
OpenCCM MdC Philippe Merle LIFL - INRIA (soon)
XASTRO Metamodel. CCSDS SAWG2 Presentation Outline XASTRO-1 Metamodel XASTRO-2 Metamodel Alignment with Model Driven Architecture.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
Technical Overview The Fastest Way to Create Architecture!
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
Dom and XSLT Dom – document object model DOM – collection of nodes in a tree.
Extensible Modeling and Simulation Framework Extensible 3D Graphics (X3D) Don Brutzman MOVES Institute, Naval Postgraduate School Andreas Tolk VMASC, Old.
OpenCCM: Status and Work plan Dr. Philippe Merle LIFL - INRIA ObjectWeb Architecture Meeting, Grenoble, 21 – 22.
Developing Web Services with the Eclipse Web Tools Platform David Gallardo.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful.
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.
4 th Workshop for TAO and CIAO July 16, 2004 MOF-Compliant Modeling of Middleware Jeff Parsons & Matt Emerson ISIS Vanderbilt University Nashville, TN.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Architecture MDA SE-548 Lale Doğan
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.
Topic Map & SMIL Prototypes KUL-ESAT-DOCARCH
Introduction to Advanced Java Programming
Tools for Composing and Deploying Grid Middleware Web Services
Evaluating Compuware OptimalJ as an MDA tool
UML profiles.
Ivan Kurtev, Klaas van den Berg Software Engineering Group
Graphical Modeling of INFOD applications
Presentation transcript:

December 4, ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development: by Didier Parigot Applications need to be more open and adaptable

December 4, ICSSEA’03 Evolutions in Software Engineering Open Problem Applications need to be more open and adaptable Plan Intuitive Idea of Software Factory Upheaval factors of this Software Evolution Overview of the SmartTools Software Factory 4Data Model: independent format 4Semantic Model: Aspect-Oriented Programming 4Component Model: SmartTools Architecture 4Visualisation Model: an example of a MDA component Open Problem Applications need to be more open and adaptable Plan Intuitive Idea of Software Factory Upheaval factors of this Software Evolution Overview of the SmartTools Software Factory 4Data Model: independent format 4Semantic Model: Aspect-Oriented Programming 4Component Model: SmartTools Architecture 4Visualisation Model: an example of a MDA component

December 4, ICSSEA’03 programs compilers system languages applications execution Open and adaptable An intuitive idea of Software Factory Models or Specific languages generators Business Code The Glue Platform Family of application To control the code sensitive to evolutions Capture of a knowledge Software product-line Evolutionary Applications Open and Adaptable Applications

December 4, ICSSEA’03 Factors of change in Software development The Internet 4Web applications (B2B applications and Web Semantic) The proliferation of new technologies 4Components (EJB, CCM, Web Services etc...) 4Which one to choose ? The Democratisation of computer science The time to market: fast software development The impact of standards: W3C et OMG

December 4, ICSSEA’03 Cross-Fertilisation between several research domains Evolution of programming languages By separation of concerns Aspect-Oriented Programming Component Programming Method Call or Interface Model Programming MDA approach proposed by the OMG programming languages The Applications must to be open and adaptable Models or specific languages Generators New programming languages Design Pattern Model: an abstraction for each concern

December 4, ICSSEA’03 Software Factory: SmartTools Generators PIMPSM Data Model Semantic Model Component Model View Model The Glue Business Code Platform Pivot Model Projectable Model Extensible Component MDA approach MDA Component Parts written by the programmer Parts sensitive to evolutions Independent Models (PIM)Specific Models (PSM) MDA Approach Other concerns Other models

December 4, ICSSEA’03 The Data Model Goals Independent Model : PIM 4Any programming language : neutral format 4With generator to instrument the data model : PSMs To use the Standard of W3C (or OMG) consortium 4open new application fields

December 4, ICSSEA’03 UML MOF The Data Model Data Model Meta-language : Absynt Traductors DTD XML Schema Generators Java classes top of the DOM API Is Instance of XML Java XML Is Conform to Can be serialised in Is represented by PSM Meta level

December 4, ICSSEA’03 The Semantic Model The visitor design pattern 4clear separation between structure (objects) and semantic treatments 4Control-flow inside semantic treatments 4the visit method contain the traversal of model Aspect-Oriented programming for this kind of program 4Structure + Traversal + Semantic Actions = program Useful for the projection of semantic treatments in case of data model transformation

December 4, ICSSEA’03 Projection of the semantic treatments Model 2 Transformation Technology 2 Model 1 Technology 1 treatment Projection of aspects Dynamic Projection ? components

December 4, ICSSEA’03 Component model: our approach Architecture of SmartTools Meta tools The method Definition of an abstract component model 4independent of any component technology Definition of a set of transformations to standard component models (EJB, CCM, etc..) : MDA approach Component model based on neutral model (PIM) P2P, dynamic topology Extensible Component

December 4, ICSSEA’03 Connection Generator Component Model Components Manager Creation Component model: an example Data Model View Model Graphic Model Semantic Model Document Graphic view Graphic User Interface Collaboration between all the models Capture of knowledge New notion of type (interface)

December 4, ICSSEA’03 Component model: transformation EJB Home and Remote interfaces Eclipse Eclipse API? (IDE) Abstract Component Model IDL File + Server Class CORBA CCM SmartTools Container Class + Extend facade Class Generators WSDL File SOAP Class Web Services MDA PIM PSM Different interpretations of the component notion

December 4, ICSSEA’03 SmartTools: WHAT is it ? An application manufactured by a software factory To test our approach of Software Factories An application which enables to build a software factory To propose and extend our approach A factory which enables to quickly create a family of application To build a family of application

December 4, ICSSEA’03 GUI: View model Objectives To manipulate the logical form (model) in front To force to definition of the data model Thank to XML approach (DTD, XML schema) Highly extensible Graphic view Extensible IHM, multi-support To place the application before Environment Applications Domain-specific languages (in XML) 4all our DSLs are defined with SmartTools.

December 4, ICSSEA’03 View Model: the Cosynt language Data ModelConcrete Model Logical ComponentView Component View ModelStyle Model XSLT JTOM QVT Model transformation : MDA approach MDA PIM Transformations to PSM Transformations MDA Component Input Output parserXSLT Transformationstylesheet Fusion of transformation Symmetric Transformations Incremental Transformations Double MDA approach Double MDA approach

December 4, ICSSEA’03 Basic components Component manager Graphic User Interface Generators Component Generator Data Structure Generator Semantic Generator View Generator Y logical Component Y view component Applications Y logical component X view component A Bootstrapped Application: SmartTools Kernel 0% Cosynt Xprofile Coq (XML) XML (generic) IDL bibtex In production mode Generators Component Generator Data Structure Generator Semantic Generator View Generator 100% In bash mode In none interactive or export mode N % use of the Software Factory lml Application fields ? Application fields ? RA INRIA Syntax (relax) EDF (UML) B WSDL CSS Java cdml Basic components Component Manager Graphical User Interface 100%50% XSLT DTD MathML XML Schema SVG Absynt HTML ant

December 4, ICSSEA’03 Conclusion : Macro-Programming ? The Classic programming Languages are not the solution ? Independent Model / inter-domains ? Development Processes / Incremental ? Conceptual Model / Product Model ? Universal Model / Business Model ? Open and Adaptable Applications ? Model for each concern ? AOP / directly on the model ? Dynamic Transformation / projection of semantic treatments ? Generative programming / Meta-programming ? Etc… More questions than answers ! But there is already a research prototype: SmartTools

December 4, ICSSEA’03 END QUESTIONS ? Software Factory www-sop.inria.fr/oasis/SmartTools Demonstration

December 4, ICSSEA’03 An example of the GUI

December 4, ICSSEA’03 Overview of SmartTools factory