The Model Driven (R)evolution Richard Mark Soley, Ph.D. Chairman and CEO Object Management Group, Inc.

Slides:



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

Copyright © 1998 by Addison Wesley Longman, Inc. 1 Chapter One Preliminaries, including –Why study PL concepts? –Programming domains –PL evaluation criteria.
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
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Software Engineering COMP 201
What do Computer Scientists and Engineers do? CS101 Regular Lecture, Week 10.
Page 1 Model Based Software Development - a pragmatic view Mikkel Lauritsen Intentia R&D A/S
7 July 2003 MDA presentation Dennis Wagelaar 1 Model-Driven Architecture The current state of affairs.
Reasons to study concepts of PL
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Week 8 Implementation Design Alex Baker. Implementation Design System Design – Describes what the system should do Implementation Design – Describes what.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Modeling All the Way Up… Modeling All the Way Down.
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.
MDA Model Driven Architecture Eduardo Scoz. Overview Different approach for SD: Models Different approach for SD: Models Automated tools can generate.
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.
Copyright © 1998 by Addison Wesley Longman, Inc. 1 Concepts of Programming Languages Chapter 1.
MDD Tutorial for managers Eclipse ECESIS Project A presentation of MDD basics Model-driven development (MDD) tutorial for managers EUROPEAN SOFTWARE INSTITUTE,
PROGRAMMING LANGUAGES The Study of Programming Languages.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
Better, Faster, Cheaper ACH: An MDA Approach Richard Mark Soley, Ph.D. Chairman and CEO Object Management Group, Inc.
1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.
Metadata Tools and Methods Chris Nelson Metanet Conference 2 April 2001.
Karolina Muszyńska. Reverse engineering - looking at the solution to figure out how it works Reverse engineering - breaking something down in order to.
Compuware Corporation Business Driven SOA Edwin Schumacher Director of Product Management
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
Robobusiness Needs Standards Richard Mark Soley, Ph.D. Chairman and CEO Object Management Group, Inc.
OMG, Model Driven Architecture and SOA: Modeling All the Way Up Richard Mark Soley, Ph.D. Chairman and CEO.
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.
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,
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Model-Driven Architecture And The Secure Systems Methodology Masters Thesis Defense 11/16/2007 Patrick Morrison.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
1 Timothy D. Korson Model Driven Development: A New Symbiotic Relationship Between Developers and Testers.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
The Problems and Promise of UML 2.0 Structures for SCA John Hogg CTO, Zeligsoft Version 1.4.
May 2003 – CSG Workshop Summary Lots of energy and interest. Which may mean we’re at a real cusp -- versus our usual state of flux. Some of the services.
XASTRO Metamodel. CCSDS SAWG2 Presentation Outline XASTRO-1 Metamodel XASTRO-2 Metamodel Alignment with Model Driven Architecture.
Microsoft Australia Security Summit Design for Operations Nigel Watson, Microsoft Australia David Lemphers, TeamForce Nigel Watson, Microsoft Australia.
 What are CASE Tools ?  Rational ROSE  Microsoft Project  Rational ROSE VS MS Project  Virtual Communication  The appropriate choice for ALL Projects.
December 4, ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
XMI2SQL Capstone Presentation Principal Investigator: Eric Hartford Committee Chair: Sam Chung, Ph.D. Committee Member: Isabelle Bichindaritz, Ph.D.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Session 4 Lecture # 3 - September 28, 2004.
Visual Studio 2005 Team System: Software Project Management Brian A White Microsoft
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
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.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
A Flexible MDATool Set Anneke Kleppe Klasse Objecten.
- 1 - 제목 : 정보시스템 기술의 발전동향과 컨설팅 및 SI 사업에의 적용전략 Copyright © 2007 Samsung SDS Co., Ltd. All rights reserved Copyright ⓒ 2007 Samsung SDS Co., Ltd. All rights.
Model Driven Architecture MDA SE-548 Lale Doğan
Marco Brambilla, Jordi Cabot, Manuel Wimmer. Model-Driven Software Engineering In Practice. Morgan & Claypool Teaching material for the book Model-Driven.
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.
Web Application Modeling
Evaluating Compuware OptimalJ as an MDA tool
Constructing MDA-based Application Using Rational XDE for .NET
Model Driven Software Development
Presentation transcript:

The Model Driven (R)evolution Richard Mark Soley, Ph.D. Chairman and CEO Object Management Group, Inc.

Modeling Changes Everything! Throw out those pesky objects! Toss away your silly compilers! No more boring coding! All your software pain gone forever! It’s a REVOLUTION!

Everything Old is New Again Unfortunately I’m old enough to remember –Artificial Intelligence –Object Technology –Distributed Computing –XML –Web Services –Enterprise Service Bus –Service Oriented Architecture This technology does everything! It makes miracles, changes water to wine…

Move to Model Driven Everything! (That’s a model, driving, get it?)

Pictures from Mars! Um, did that require a PIM?

OK, Calm Down Got that out of your system? Have we seen this before?

Everything Old IS New Again Refactoring design Object orientation Service orientation Legacy transformation Business process re-engineering

What is the Point? Reuse Interoperability Portability Maintainability Productivity Business Alignment

What is the Priority? Analysis, Design, Development, Test & Deployment: 10% Maintenance & Integration: 90% Lesson: Software lifecycle costs are in the back end.

Where is the Current Focus? Initial development productivity –Wizards –Generators –Even open-source Flash vs. form –Demo programs –Whiz-bang user interfaces –GUI’s, even on the server MDA focusing where the pain is

Because Otherwise We’re All Just… …roadkill on the information highway!!

We Must Be Able To… Capture enduring design Separate capture of process from engineering of implementation Automate the latter as much as possible Design-in agility The key ideas: enduring, automated and more importantly agility

What is “Model Driven”? Graphical description of process –Captures design with a minimum amount of artifacts caused by the language –Separates modeling and transformation –Automates (somewhere from part to all) creation of implementation artifacts (schemas, deployment descriptors, programming language text, scripts, etc.)

Haven’t We Seen This Before? Well, yes: we have a clever name for tools that take precise, more abstract descriptions and transform them automatically to precise, less abstract (more concrete) descriptions Clever Abstraction Concrete Realization

Compilers!

We Owe it all to John Backus This clever technology actually dates to 1954: SPEEDCODING and FORTRAN

John Backus’ Pain Coding for the IBM Selective Sequence Electronic Calculator (SSEC) was painful (especially due to the lack of index registers and floating point) Backus considered programming “hand-to- hand combat with the machine” His solution: SPEEDCODING, an assembly-language aid to automate translation of pseudo-index registers and pseudo-floating point

The Birth of High-Level Language For IBM’s new “supercomputer” (the 704), something better had to be done Backus’ team came up with the FORmula TRANslating system (FORTRAN) in ‘54 They called it automatic programming

FORTRAN: Yes, it’s an HLL That was 1954, this is now Perhaps FORTRAN isn’t considered high- level today, but it’s still hugely successful The key idea was to maintain precision but raise the level of abstraction FORTRAN programmers worried about the algorithm (well, more at least), while… …compiler developers worried about the transformation.

Resistance Was Futile Most programmers “knew” that they could write better code themselves (some were right) Many more people became programmers (but they were programming abstract “FORTRAN machines,” not 704’s) The day parentheses died 

Modeling Isn’t New Just the next higher abstraction level Code Model Assembly

And It’s Fractal Why just three levels? CIM’s, PIM’s and PSM’s Model

Everything Old is New Again –All the problems Backus faced are with us: Is the generated code (artifact) as good as hand- generated? How do you debug something you’ve never seen? Who owns, controls and tests the transformations? How do you audit models? –Those of us who remember IBM 360’s remember: Program in FORTRAN… …but debug a core dump.

Graphical Language Are Scary Real Programmers Don’t Draw The first write-only language?

All the Same Structures But of course all of the things we find in the text world are in the graphical modeling world too: –Flexible –Pluggable models (libraries) –Standard models –Patterns of usage We’ve just moved all of them up a level (or more) of abstraction

Many of the Same Problems Bad models are easy to build The wrong design does the wrong thing Still need some sort of development methodology for consistency and quality Architecture is a good idea Training is required

Don’t Ignore the Costs This is a sea change for most development teams Jobs may sort out differently than currently Audit requirements based on code have to be updated Training is required; certification too Integration with current methodology is critical That old code just isn’t going away Don’t tell me you’ve never seen embedded assembly code?

Modeling: Key Concepts Emphasis on transformation techniques –Based on a standard metamodeling framework; there will be many metamodels, and plenty of modeling langauges (including UML) –Clear semantics, expressed consistently –Potentially many levels of abstraction Enduring architectures are the focus –Maintenance and integration aren’t pretty, but they are the main job of IT Graphical languages as well as textual ones –Some generic, some domain-specific, just like the textual language world

Generation Isn’t Everything Sometimes we’ll be able to generate all the –Code –Schemas –Deployment descriptors Sometimes we won’t; but we’ll still have the modeling values of –Clear, sharable graphical expression –Flexible transformation for agile retargeting –An enduring description of the system Architecture matters (that’s why MDA) (That’s what you call engineering)

Developer Roles Change Developers become more productive, not redundant, with focus on: –Requirements Analysis –Analyst/Designers –Architects –Analyst/Programmers –Testers –Maintainers/Integrators All sharing a language or set of languages with a common underpinning See

Who’s Doing It Modeling has quietly changed the world –Up to 1997, dozens of languages, dozens of tools, a US$30MM market –From 1997, an initial common language (UML), one base metamodeling framework (MOF), dozens of tools (Microsoft, Rational, etc.) –From 2001, a sea change in IDE’s: Open Source (Eclipse NetBeans, Poseidon) Standardized (Adaptive, Codagen, Data Access, IBM, iO, MID, Sun, many others) Even proprietary –Today a US$4B market

Conclusions Every IDE supports model-driven today You need to look into it now Even if you plan to use a DSL, your organization needs to understand standardized frameworks (UML, MOF) Standards for infrastructure (MDA, UML, MOF) exist; many vertical standards exist and more are in development (that’s what DSL’s are!) The “real hacker” of tomorrow is the transformation developer Don’t forget: people still write assembly code

OMG’s Take on Modeling A standardized architecture, MDA –UML, MOF, XMI, CWM, QVT: the right starting points for enduring, agile, transformable systems –Vertical-market standards (domain-specific models) in many areas

One Final Word “Not all evolution mandates revolution” Leo McGarry The West Wing

Conclusions Ask me no questions, I’ll tell you no lies: –OMG: –Me: –This presentation: