Model Driven Architecture in the Enterprise Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise • • • • • • Introduction to MDA The Role of UML in MDA Introduction to EDOC Other Enterprise Modeling Approaches Modeling Tools Supporting MDA Project Current Status Modification in Our Scope • Objective Before: – Evaluate EDOC, apply it to a test • Objective Now, to answer the questions – How far is UML and MDA related/consistent? – What kind of support do modeling tools do for MDA/EDOC? – How far is the EDOC from today’s enterprise modeling practices and tools market? Introduction to MDA • • • • Abstraction: A Historical Lesson MDA: Why? MDA: How? MOF: MDA’s Genie MDA: Model-Driven Architecture • Historic Lessons Machine Language – More Abstraction = More Reuse = More Productivity = Less Maintenance Cost Assembly Language • Model Driven Architecture 3GL Languages – Use Patterns at Multiple Levels of Abstraction Model Driven Architecture Model-Driven Architecture: Why • Platform-independent Modeling – Rapidly Changing Technology – Applications Spanning Multiple Platforms • Viewpoints-Based Modeling – Different abstractions for the same system – Different models for the same system • Issues – Consistency? – Changeability? Model-Driven Architecture: How • Metamodels – Modeling modeling languages – Open-ended modeling capability • Technology Mappings – Transformation Rules – From modeling language to technology OMF: MDA’s Genie • Modeling Language for Defining Virtually Any Modeling Languages • Intersects with UML Syntactically & Semantically • Tools interchange meta models via XMI • Tools transform platform-independent models – Generate platform-specific models or implementation UML’s Role in MDA • History of UML – Early 1990s – Object Oriented Analysis and Design (OOAD) had three groups • Rumbaugh • Booch • Jacobson – In 1996 – Creation of Universal Modeling Language (UML) v. 1.1 UML’s Role in MDA (UML 1.x) • Strengths: – Separation of Abstract Syntax from Concrete Syntax • Meta-model – Enables Extensibility • UML Profiles UML’s Role in MDA (cont.) • Strengths: – Support for Platform Independent models • Defines relationships without details of implementation – Open System • Custom plug-ins UML’s Role in MDA (cont.) • Weaknesses: – Lack of support for component based modeling • Unsatisfactory results – Lack of communication • No means of inter-tool communication – UML and MOF not in synch • Problems for developers UML 2.0 • Many UML 1.x Weaknesses Resolved – New set of structural and behavioral diagram – Support for component-based modeling • Composite Structures – UML and MOF • Inconsistencies have been corrected – Improved Behavioral Modeling • Action model – Better Communication • Interchange specification using XML Enterprise Distributed Object Computing • Based on the MDA concept • Specific meta models for enterprise modeling • Benefits from ISO ODP-RM viewpoints Other Enterprise Modeling Approaches Other Approaches TOGAF Zachman IDEF C4ISR, TEAF TOGAF Framework The Zachman Framework IDEF& TEAF • IDEF (for Integrated Definition) Modeling methods used to describe Enterprise Operations. Creation of the United States Air Force, now being developed by Knowledge Based Systems. Sixteen methods, from IDEF0 to IDEF14 (and including IDEF1X), are each designed to capture a particular type of information through modeling processes . • The Treasury Enterprise Architecture Framework (TEAF) Developed by the Department of the Treasury in response to a number of government directives. C4ISR • Command, Control, Communications, Computers, Intelligence, Surveillance, and Reconnaissance was started in 1995 by the Assistant Secretary of Defense for Command, Control, Communications, and Intelligence (ASD, C31) formed the C4I Integration Support Activity (CISA) to develop a unified approach for development and evaluation of information and architectures Various Views of C4ISR Modeling Tools Supporting MDA What is considered an MDA supported tool? – Is the model on the highest level of abstraction ? – Are the transformation definitions maintainable by you? – Do transformations generate a majority of the application? – Do transformations support incremental and iterative modeling and development? Tools supporting MDA Component-X by Data Advanced Technology Seems to be the official EDOC tool. A triple standards alignment with ebXML, EDOC and EAI to become component model for XML web services. EDOC has been implemented in Component-X. Component-X and the EDOC Component Collaboration Architecture are part of the UML family of languages. Supports integrating applications across platforms, technologies, Internet and the enterprise. Tools supporting MDA OpenMDX: An Advanced MDA Framework Advanced implementation of the MDA initiative. Industrial-strength, model-driven runtime engine, open, and framework for PIMs. OpenMDX provides a generic, distributed object engine which serves as a PIM platform. Rhapsody by I-Logix One of the market leading UML 2.0 Model-Driven Development Focuses on the needs of the embedded developer and fully supports the concepts of MDA Tools supporting MDA The TAU Generation2 Approach to MDA – Based on UML 2.0 to substantially improve software productivity and quality. – Automate the transformation of a PIM requirements into a PSM ExecutableUML (xUML) – Creation of PIM with the UML diagrams. – Multiple Executable UML models can be assembled together to form complex systems Timeline 1.Conception and Background (9/19 – 10/21) • MDA, MOF, UML, EDOC, Tools, other Architectures. 2.Criteria for MDA-Tools Evaluation: (-11/4) • Develop and finalize guidelines for tool evaluation 3.Evaluation of Tools and Techniques (-11/27) • Try selected MDA-tools • Try EDOC and related methods 4.Delivery: Final Report (–12/4) • Final reports with conclusions and future outlook Task Distribution • So far: – – – – Introduction to MDA, MOF, EDOC by Saleh Role of UML in MDA by Amit Survey of Tools supporting MDA by Keyur Enterprise modeling methodologies by Sabhay • Future Tasks: – Develop MDA-Tool Evaluation guidelines – Analysis of one tool by each team member – (Tentative) Compare EDOC and other Enterprise Modeling Methodologies Questions?