The PISA Project A Model Driven Development case study

Similar documents
Introduction to Programming Microsoft.NET Applications with Visual Studio 2008 (C#)

Introduction to MDE and Model Transformation

Applying Model Driven Technologies in the Creation. of Domain Specific Modeling Languages

Where are you with your Cloud or Clouds? Simon Kaye Dr Cloud

MDSE USE CASES. Chapter #3

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

Introduction to Dependable Systems: Meta-modeling and modeldriven

Fast Track Model Based Design and Development with Oracle9i Designer. An Oracle White Paper August 2002

BLU AGE 2009 Edition Agile Model Transformation

LEVERAGING VISUAL STUDIO TEAM SYSTEM 2008 Course LTS08: Five days; Instructor-Led Course Syllabus

Introduction to Model Driven Engineering using Eclipse. Frameworks

Improving Security in the Application Development Life-cycle

Let s build. like they build. Markus Völter Bernd Kolb

3rd Lecture Languages for information modeling

COPYRIGHTED MATERIAL. Contents. Part One: Team Architect 1. Chapter 1: Introducing the Visual Designers 3

IBM Application Runtime Expert for i

SQL Developer Oracle Migration Workbench Taking Database Migration to the next level

10 Thoughts 2 Demos * Discussions

MAKING THE BUSINESS CASE MOVING ORACLE FORMS TO THE WEB

Defining Domain-Specific Modeling Languages

REPORT MICROSOFT PATTERNS AND PRACTICES

21ST century enterprise. HCL Technologies Presents. Roadmap for Data Center Transformation

Desktop DNA r11.1. PC DNA Management Challenges

A Model-driven Regulatory Compliance Framework

Design Xml Schema For The Given Company Database

INGRAM MICRO & DELL. Partner Kit

LA CISD Tech Day Presented by: Microsoft. Piyush Saggi Developer Solutions Specialist

Capgemini Dynamic Services

Discover, Relate, Model, and Integrate Data Assets with Rational Data Architect

5 Reasons to Choose Parallels RAS Over Citrix Solutions

Language Extension and Composition with Language Workbenches

Practical Model-Driven Development with the IBM Software Development Platform

Rapid Application Development with APEX 5.0

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

Model-Driven QoS Provisioning Techniques for CCM DRE Systems

Functional verification on PIL mode with IAR Embedded Workbench

Chapter 1: Programming Principles

Model driven Engineering & Model driven Architecture

Object Oriented Programming

J2EE Application Development : Conversion and Beyond Osmond Ng

10262A VB: Developing Windows Applications with Microsoft Visual Studio 2010

Domain Specific Languages. Requirements (Engineering)

Il Mainframe e il paradigma dell enterprise mobility. Carlo Ferrarini zsystems Hybrid Cloud

... is a Programming Environment (PE)?... is Generic Language Technology (GLT)?

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

Markus Völter

VISUAL CONFIGURATION EXPLORER

Semantics-Based Integration of Embedded Systems Models

CA ERwin Data Modeler r7.3

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

DB2 for z/os: Programmer Essentials for Designing, Building and Tuning

FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. DEVELOPER SPECIFIER TESTER

Name: Vijay Rajagopalan Title : Principal Architect Company : Microsoft Corporation Session Code:

Haskell in the Software Industry

Mission Possible: Move to a Content Management System to Deliver Business Results from Legacy Content

Modeling pilot project at Ericsson Expert Analytics

Education Brochure. Education. Accelerate your path to business discovery. qlik.com

Rich Web Application Development Solution. Simplifying & Accelerating WebSphere Portal Development & Deployment

Schema Repository Database Evolution And Metamodeling

Deliver robust products at reduced cost by linking model-driven software testing to quality management.

Now you can Microsoft Visual Studio 2010 with MSDN

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect

SAS offers technology to facilitate working with CDISC standards : the metadata perspective.

SCASE STUDYS. Migrating from MVS to.net: an Italian Case Study. bizlogica Italy. segui bizlogica

Microsoft Commitment to Interoperability. Michael Fortin Corporate Vice President, Windows Devices Group

SEGUE DISCOVERY PARTICIPATION IN DISCOVERY DISCOVERY DELIVERABLES. Discovery

Oracle Database: Program with PL/SQL

Oracle Database: Program with PL/SQL Ed 2

Extend EBS Using Applications Express

IBM WebSphere Studio Asset Analyzer, Version 5.1

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions

NordiaSoft SCA Architect 2016

A conceptual framework for building good DSLs. Markus Voelter independent/itemis

Software Reuse and Component-Based Software Engineering

Oracle Database 12c R2: Program with PL/SQL Ed 2 Duration: 5 Days

A number of optimizations are already in use by the majority of companies in industry, notably:

Domain Specific Languages. Product Line Engineering

Conditionally control code flow (loops, control structures). Create stored procedures and functions.

ADT: Eclipse development tools for ATL

Integration With the Business Modeler

Model Driven Architecture - The Vision

Creating Enterprise and WorkGroup Applications with 4D ODBC

CICS Product Update. Danny Mace Director, CICS Products IBM Software. August 2012 Session Number 11417

The Value of Migrating from Cisco Tidal Horizon to Cisco Process Orchestrator

Minsoo Ryu. College of Information and Communications Hanyang University.

Compositional Model Based Software Development

Micro Focus Net Express

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

IBM Rational Rose Technical Developer

Visual studio 2008 overview

Accelerate Your Enterprise Private Cloud Initiative

Developing Windows Applications with Microsoft Visual Studio 2010

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

With K5 you can. Do incredible things with Fujitsu Cloud Service K5

Visualizing PI System Data with Dashboards and Reports

Domain-Specific Languages Language Workbenches

Oracle Application Express 5.1

A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best

Certkiller.P questions

Oracle Forms and Oracle APEX The Odd Couple

Transcription:

In collaboration with The PISA Project A Model Driven Development case study Pedro J. Molina, PhD. May 19 th, 2007

Contents Introduction Goals Foundations Design aspects & Trade-offs Demo Problems found Facts & Results 2007 Capgemini - All rights reserved 1

Timetable 15:30 H Presentation 16:35 H 65 min. 16:45 H Q&A 10 min. 2007 Capgemini - All rights reserved 2

Introduction Collaboration project between: Bancaja is a Spanish bank with 1000 branches across Spain Headquarters located in Valencia Capgemini is a global company with 50.000 employees providing solutions for consulting, technology & outsourcing. PISA: Architecture for software & infrastructure platform. 2007 Capgemini - All rights reserved 3

PISA Scope Migration of the Financial Terminal 2 years, 15 people involved (avg. full-time) O.S. migration in the front-end Windows NT Windows XP Windows Vista Components written in VC++, VB4. Recompiled and migrated to VC++ & C#.NET Redesign of the financial platform to take advantage of the new capabilities Family of 2500 business functions to be migrated Semi-automated tools to migrate old applications to the new model 2007 Capgemini - All rights reserved 4

Infrastructure Scope BD Back-end Back-end Host based IBM CICS system Oracle DBs Sql Server DBs 3rd parties Web Services Middle-ware Front-end Front-End 5000 computers across 1000 branches Windows XP Specialized Financial Devices Check s scanners Financial Printers 2007 Capgemini - All rights reserved 5

Contents Introduction Goals Foundations Design aspects & Trade-offs Demo Problems found Facts & Results 2007 Capgemini - All rights reserved 6

Goals Productivity gain Better workload variability management Technology independence Protection of the house processes and Know-How against future migration waves Reduce maintenance costs Unique IDE (integrated development environment) 2007 Capgemini - All rights reserved 7

Contents Introduction Goals Foundations Design aspects & Trade-offs Demo Problems found Facts & Results 2007 Capgemini - All rights reserved 8

Foundations Model Driven Development Usage of models to capture business in a declarative way Models used to lead & drive the software life cycle From analysis to implementation Models validated formally Separation of Concerns Separation of core-business from technological issues Code Generation and automated deploy Used to guarantee: No human errors, robust code Compliance with standards Controlled execution environment Reduce tampering opportunities Pragmatic approach Full 100% Code Generation seen as an utopia Looking to solve 80%-20% scenarios 2007 Capgemini - All rights reserved 9

Novak s Rule Automatic Programming is defined as the synthesis of a program from a specification. If automatic programming is to be useful, the specification must be smaller and easier to write than the program would be if written in a conventional programming language. G.S. Novak. 2007 Capgemini - All rights reserved 10

Economics of MDD Economies of Scale The condition where inputs like resources are combined to produce multiples instances of a single product. However multiple instances in SW are valueless. SW copy cost 0 Economies of Scope The condition where inputs are combined to produce different instances of products. The cost of producing them together is smaller than producing them in different production lines. Saving is achieved thanks to the reuse of common parts. 2007 Capgemini - All rights reserved 11

Domain Engineering & Software Factory Approach Domain Engineering Investment Application Development Workbench Feedback: Customer suggestions App. Engineers suggestions Application Engineering Aplications ROI 2007 Capgemini - All rights reserved 12

Model Driven Development Model / PIM Refine / Transform Design Model / PSM Applications Characteristics: Forward Engineering (no reverse engineering) Value is in the model. Code is discarded in each iteration. Technology Independent. Tools: Editors / Modelers Validators Code Generators 3Gen Development tools 2007 Capgemini - All rights reserved 13

Economics Traditional cost = N C T Domain engineering cost = I + N CF Saving S F = C T - C F 5 C T 4 C T ROI 3 C T Costs 2 C T C T I In this domain, there is an order of magnitude of 2000-2500 business applications!! 1 2 3 4 5 Family members 2007 Capgemini - All rights reserved 14

Contents Introduction Goals Foundations Design aspects & Trade-offs Demo Problems found Facts & Results 2007 Capgemini - All rights reserved 15

Modelling the business Aspects to be model Navigation diagrams Presentation Presentation logic Flow Mapping Service Consumption Possible representations Graphical / Visual DSL Graphical / 2D layout Textual / Grammatical based Hierarchical (tree) form Tabular form Selection: Each aspect requires an specific representation form 2007 Capgemini - All rights reserved 16

Defining the Metamodel 6 moths working with experts in the domain Studding the domain and deciding: The Variable part To be modelled The Immutable part To be incorporated in the runtime Trade-off between Parameterization vs Standardization Lo bueno, si breve, dos veces bueno. B. Gracián, (XVII) Everything should be as simple as possible, but no simpler. A. Einstein, (XX) 2007 Capgemini - All rights reserved 17

Solution Solution provided Design of the new platform Component Migration Development of the new components Design and implementation of an specification for all business functions based on XML, Schema and a tailored abstract-action language. Design and implementation of a full DSL language workbench for specifying business functions independently of the implementation technology Design and implementation of a code generation to produce the working implementation over the platform. Implementation of semi-automatic migration tools to help in the transition between models. 2007 Capgemini - All rights reserved 18

Technology Platform.NET Platform, C# and Interop to legacy C++ DLL Application Workbench Visual Studio (full integration) MS DSL Tools Custom parser for a customized language (Antlr based) Extension Packages to provide Custom Parsing in VS2005 Code generator implemented in C# Generates 100% of code. Fully automated. No manual code is allowed to be inserted in the implementation 2007 Capgemini - All rights reserved 19

Workbench Architecture Overview 2007 Capgemini - All rights reserved 20

Tools implemented PISA Workbench Modelling tool built on the top of Visual Studio 2005 VS extensibility, parsers, intellisense, DSL Tools PISA Validator Checks a model and reports errors & warnings PISA Code Generator Converts an specification into a 100% executable C#.NET code PISA Runtime Components and helper libraries to support the runtime enviroment 2007 Capgemini - All rights reserved 21

MS DSL Tools In beta for 2 years Version 1.00 released in September 2006 Early adopters, but not sure about it feasibility till v. 1.0 Now already integrated into the solution Used for designing the User Interface navigation of the business application in terms of views and navigation. DSL has a moderate/high learning curve. Once learned it is productive to build new diagrams. 2007 Capgemini - All rights reserved 22

Example DSL. Navigational Diagram 2007 Capgemini - All rights reserved 23

Development Workbench 1/4 Workbench integrated in Visual Studio 2007 Capgemini - All rights reserved 24

Development Workbench 2/4 Custom action language Colored syntax Intellisense support 2007 Capgemini - All rights reserved 25

Development Workbench 3/4 Error handling integrated in Visual Studio 2007 Capgemini - All rights reserved 26

Development Workbench 4/4 DSL example Navigational diagram 2007 Capgemini - All rights reserved 27

Contents Introduction Goals Foundations Design aspects & Trade-offs Demo Problems found Facts & Results 2007 Capgemini - All rights reserved 28

In collaboration with Demo Recording: Modelling a simple Business Function

Contents Introduction Goals Foundations Design aspects & Trade-offs Demo Problems found Facts & Results 2007 Capgemini - All rights reserved 30

Problems 1/3 People reluctant to change Part of the traditional programmers feel conformable and productive with their current tools. They are experts in such tools and are reluctant to change to a new work method. How to address it Involve them in the design Show the benefits of the new approach Educate the developers to be able to take full advantage of the new system 2007 Capgemini - All rights reserved 31

Problems 2/3 Code escapes The platform is closed enough to keep process under control, safety and homogeneous. However from time to time, new functionality has to be added or plugged to the system. The system should be ready to incorporate these extensions quickly. Otherwise, creative programmers will be tempted to by-pass the platform and add manual code in the wrong place. How to address it Have a dedicated team to study & implement new functionality required not present in the current system Give high priority to extensions to the platform without equivalents workarounds 2007 Capgemini - All rights reserved 32

Problems 3/3 Debugging tools A MDD approach raises the abstraction level from code to a conceptual one. Debugging ideally should be done at such conceptual level. How to address it With the actual technology, this is a hard topic to provide and implement. However animators, interpreters and model checkers could be helpful in the task. Generate clean and traceable source code. This allows easy debugging in an environment with all this capabilities. 2007 Capgemini - All rights reserved 33

Contents Introduction Goals Foundations Design aspects & Trade-offs Demo Problems found Facts & Results 2007 Capgemini - All rights reserved 34

Benefits Increased Quality Less coding errors Compliance with standards assured by a generator Increased Productivity Migration cost to incoming technologies will considerably be reduced. Unique integrated development environment (IDE) Covering Modelling, Debugging, Versioning & Deployment 2007 Capgemini - All rights reserved 35

Benefits Know-How captured in two orthogonal levels: Business Know-How: captured in form of specifications: isolated from technological issues Technological Know-How: captured in form of best practices and code patterns in the code generator. 2007 Capgemini - All rights reserved 36

Distribution & defect cost Defects % Traditional life cycle MDD life cycle Defect cost exponential Analysis Design Build Maintenance Snow ball effect 2007 Capgemini - All rights reserved 37

www.capgemini.com