Model Driven Architecture - The Vision Marko Fabiunke Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik marko.fabiunke@first.fraunhofer.de
The Fraunhofer FIRST Institut Your partner We support our customers and partners in analyzing, understanding and developing complex hard- and software systems, building a bridge between new and upcoming technologies and its adaptation to practical problems. Research and future oriented Application and praxis oriented Seite 2
Goals What is the OMG s Model Driven Architecture Initiative about Vision, goals and principles Problems and solutions Benefits and risks Seite 3
Object Managment Group The Object Management Group (OMG ) was founded in 1989 as a not-for-profit corporation, to create a component-based software marketplace by accelerating the introduction of standardized object software. The organization's charter includes the establishment of industry guidelines and detailed object management specifications to provide a common framework for application development. Conformance to these specifications will make it possible to develop a heterogeneous computing environment across all major hardware platforms and operating systems. Seite 4
Common Object Request Broker Architecture (CORBA) Middleware Technology Standard Platform independent application development framework In 2002 the OMG has finished the CORBA 3.0 specification, which seems to be stable now. Seite 5
Unified Modeling Language (UML) The Unified Modeling Language is a graphical notation language to support the objectoriented software development process in the analysis and design Successor of several OO and A&D notation OMG standard since 1997. Bank +Bank name : String address : String 1 +Bank 1 +Teller 1 Tell er name : String +Teller 1 +Converter 1 Converter name : String +Converter +Account Account 0..n id : String balance : Double customer : String 1 +Rate 0..n Rate currency : String rate : Double Seite 6
CORBA, UML, MOF and XMI XMI Specification XML DTD XMI XML XMI File File File Seite 7
Generation with UML University +faculty2 name : String +university +faculty Faculty 1 Application address : String phone : String 1 1..n +university name : String 0..n 0..n +faculty +is_offered_by 1 Application 0..n +member Student +offers 0..n +member 1..n 1 +decan name : String +participant id : Integer birthday : Date 0..n graduated : Boolean +attends 0..n Lecture name : String +teaches +lecturer id : Integer 0..n 1 Professor name : String Access API Access API Import/Export Import/Export XML File XMI DTD Seite 8
Software development method Guidelines heuristics checklists validation criteria Product documents/models code/relationships quality state Process activities dependencies sequencing rules quality tasks Notations Syntax (textual/graphical) semantics Seite 9
Model Driven Architecture The Architecture of Choice for a Changing World How Systems Will Be Built MDA provides an open, vendor-neutral approach to the challenge of business and technology change. Based firmly upon OMG s established standards, MDA aims to separate business or application logic from underlying platform technology. Platform-independent applications build using MDA and associated standards can be realized on a range of open and proprietary platforms, including CORBA, J2EE,.NET, Web services or other web-based platforms. Fully-specified platform independent models (including behavior) can enable intellectual property to move away from technology-specific code, helping to insulate business applications from technology evolution and further enabler interoperability. In addition, business applications, freed from technology specifics, will be more able to evolve at the different pace of business evolution. Seite 10
Heterogeneity is permanent Programming languages ~3 million COBOL programmers ~1.6 million VB programmers ~1.1 million C/C++ programmers Operating systems Unix, MVS, VMS, MacOS, PalmOS Windows (all 8!), DOS & Windows 3.1: are still out there! Embedded devices (mobile, set-top, etc.) Networks Ethernet, ATM, IP, SS7, Firewire, USB Bluetooth, 802.11b, HomeRF Seite 11
Heterogeneity remains permanent Middleware itself has proliferated: CORBA : Vendor, OS & language independent middleware COM/DCOM/MTS Java/EJB XML/SOAP C#/.Net What will be Next Best Thing? There will not be consensus on middleware platforms You must preserve (reuse) your software investment as the infrastructure landscape changes around it Seite 12
UML usage today Analysis Design Domain & Business UML Model Domain oriented Design & Architecture UML Model Platform oriented Seite 13
UML usage as proposed by MDA Analysis Design Computation Independent Model (CIM) Platform Independent Model (PIM) Platform specific Model (PSM) Seite 14
Building an MDA application Platform- Platform- Independent Independent Model Model A Detailed Model, stating Pre- and Post- Conditions in OCL, and Semantics in Action Language Start with a Platform- Independent Model (PIM) representing business functionality and behavior, undistorted by technology details. Seite 15
Building an MDA application Platform- Platform- Independent Independent Model Model CORBA CORBA Java/EJB Java/EJB Model Model Model Model XML/SOAP XML/SOAP Model Model Map a PIM to Many Middleware Technologies via OMG Standard Mappings Other Other Model Model MDA tool applies an standard mapping to generate Platform- Specific Model (PSM) from the PIM. Code is partially automatic, partially hand-written. Seite 16
Building an MDA application Platform- Platform- Independent Independent Model Model Map PSM to application interfaces, code, GUI descriptors, SQL queries, etc. MDA Tool generates all or most of the implementation code for deployment technology selected by the developer. CORBA CORBA Model Model Java/EJB Java/EJB Model Model XML/SOAP XML/SOAP Model Model Other Other Model Model CORBA CORBA Java/EJB Java/EJB XML/SOAP XML/SOAP Other Other Seite 17
Integrating Legacy & COTS Platform- Platform- Independent Independent Model Model Reverse-engineer existing application into a model and redeploy. MDA Tools for reverse engineering automate discovery of models for re-integration on new platforms. Legacy Legacy App App COTS COTS App App Other Other Model Model Other Other Seite 18
Automating Bridges CORBA CORBA Model Model Platform- Platform- Independent Independent Model Model MDA Tools combine application and platform knowledge to generate bridges XML/SOAP XML/SOAP Model Model Bridge generation is simplified by common application models, simplifying creation of integrated applications both within and across enterprises. CORBA CORBA System System Interop Interop Bridge Bridge XML/SOAP XML/SOAP System System Seite 19
UML future (UML 2.0) UML becomes a full-featured formal programming language Executable Simulation support Verification support Realtime support Diagram exchange Seite 20
Transformation technologies PIMPIM Platform Independent Metamodel Transformation Specification MOF MOF PSM PSM Platform Specific Metamodel Seite 21
Transformation approaches Metamodel Transformation Marking Model Transformation Pattern application Model merging UML Profiles PIM PIM PSM PSM Another Model Model Seite 22
UML Profile (working definition) Identifies a subset of the UML metamodel. Specifies well-formedness rules beyond those specified by the identified subset of the UML metamodel. (set of constraints written in UML s Object Constraint Language (OCL)) Specifies standard elements beyond those specified by the identified subset of the UML metamodel. Standard element is a term used in the UML metamodel specification to describe a standard instance of a UML stereotype, tagged value or constraint. Specifies semantics, expressed in natural language, beyond those specified by the identified subset of the UML metamodel. Specifies common model elements, expressed in terms of the profile. Seite 23
Transformation technologies PIMPIM Platform Independent UML UML Profile Profile Transformation Specification MOF PSM PSM Platform Specific UML UML Profile Profile Seite 24
Expected MDA benefits Full support for your 20 year architecture across the application lifecycle Smooth integration across intra- and inter-business boundaries (across deployment technologies) Reduced costs from beginning to end Reuse of applications, code, training and people Technology-independent representation of the business Scalability, robustness & security via generated code Stable model-based approach maximizes ROI Rapid inclusion of the next best thing Seite 25
Model Driven Architecture Summary Model centric approach -High level abstraction -Model transformation -Code generation approach Separation of application logic and platform technologies -Platform independence -Application logic reuse -Horizontal and vertical architecture independence Consistent with other SE paradigms Seite 26
Generative Programming Generative Programming is a software engineering paradigm based on modelling software system families based on high level specifications used to configure and generate applications based elementary components of the solution space. Problem Space Space Domain specific Concepts and and features Configuration Knowledge Configuration Generation Construction rules rules Solution Space Space Elementary components Execution frameworks Seite 27
Aspect Oriented Programming (AOP) Approach to crosscutting concerns. Example: Separation of functional and non-functional code crosscutting concerns solution with aspects Seite 28
Current status 2007 Several proofs-of-concepts: -Wells Fargo (an architecture that has already been resilient through a decade of change) -Lockheed Martin Aeronautics -GCPR in US government 2003 MDA Technologies and tools -Tau Generation2 (Telelogic) -ArcStyler (Interactive Objects) -b+m generator framework (b+m Informatik AG) Seite 29
More informations MDA Information Page http://www.omg.org/mda/ OMG General Information http://www.omg.org/ Seite 30