Programme for International Student Assessment (PISA) PISA ...
The PISA Project
Transcript of The PISA Project
![Page 1: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/1.jpg)
In collaboration with
The PISA ProjectA Model Driven Development case study
Pedro J. Molina, PhD.
May 19th, 2007
![Page 2: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/2.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
1
Capgemini Spain / Tecnology Services
Contents
� Introduction
� Goals
� Foundations
� Design aspects & Trade-offs
� Demo
� Problems found
� Facts & Results
![Page 3: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/3.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
2
Capgemini Spain / Tecnology Services
Q&A
Timetable
Presentation
65 min.
10 min.
15:30 H
16:35 H
16:45 H
![Page 4: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/4.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
3
Capgemini Spain / Tecnology Services
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.
![Page 5: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/5.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
4
Capgemini Spain / Tecnology Services
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
![Page 6: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/6.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
5
Capgemini Spain / Tecnology Services
Infrastructure Scope
� Back-end
• Host based IBM CICS system
• Oracle DBs
• Sql Server DBs
• 3rd parties Web Services
� Front-End
• 5000 computers
• across 1000 branches
• Windows XP
• Specialized Financial Devices
− Check’s scanners
− Financial Printers
Back-end
Front-end
Middle-ware
BD
![Page 7: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/7.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
6
Capgemini Spain / Tecnology Services
Contents
� Introduction
� Goals
� Foundations
� Design aspects & Trade-offs
� Demo
� Problems found
� Facts & Results
![Page 8: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/8.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
7
Capgemini Spain / Tecnology Services
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)
![Page 9: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/9.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
8
Capgemini Spain / Tecnology Services
Contents
� Introduction
� Goals
� Foundations
� Design aspects & Trade-offs
� Demo
� Problems found
� Facts & Results
![Page 10: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/10.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
9
Capgemini Spain / Tecnology Services
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
![Page 11: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/11.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
10
Capgemini Spain / Tecnology Services
Novak’s Rule
“Automatic Programming is defined as the synthesisof 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.
![Page 12: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/12.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
11
Capgemini Spain / Tecnology Services
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.
![Page 13: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/13.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
12
Capgemini Spain / Tecnology Services
Domain Engineering & Software Factory Approach
Domain Engineering
Application Engineering
Application Development
Workbench
Aplications
Feedback:
� Customer suggestions
� App. Engineers suggestions
ROI
Investment
![Page 14: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/14.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
13
Capgemini Spain / Tecnology Services
Model Driven Development
Model / PIM
Design Model / PSM
Refine /
Transform
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
![Page 15: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/15.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
14
Capgemini Spain / Tecnology Services
Economics
� Traditional cost = N · CT
� Domain engineering cost = I + N · CF
Family members1 2 3 4 5
5 CT
4 CT
3 CT
2 CT
CT
Costs
I
Saving
SF = CT - CF
ROI
In this domain, there is an order of
magnitude of 2000-2500
business applications!!
![Page 16: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/16.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
15
Capgemini Spain / Tecnology Services
Contents
� Introduction
� Goals
� Foundations
� Design aspects & Trade-offs
� Demo
� Problems found
� Facts & Results
![Page 17: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/17.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
16
Capgemini Spain / Tecnology Services
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
![Page 18: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/18.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
17
Capgemini Spain / Tecnology Services
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)
![Page 19: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/19.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
18
Capgemini Spain / Tecnology Services
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.
![Page 20: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/20.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
19
Capgemini Spain / Tecnology Services
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
![Page 21: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/21.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
20
Capgemini Spain / Tecnology Services
Workbench Architecture Overview
![Page 22: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/22.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
21
Capgemini Spain / Tecnology Services
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
![Page 23: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/23.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
22
Capgemini Spain / Tecnology Services
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.
![Page 24: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/24.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
23
Capgemini Spain / Tecnology Services
Example DSL. Navigational Diagram
![Page 25: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/25.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
24
Capgemini Spain / Tecnology Services
Development Workbench 1/4
� Workbench integrated in Visual Studio
![Page 26: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/26.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
25
Capgemini Spain / Tecnology Services
Development Workbench 2/4
� Custom action language
� Colored syntax
� Intellisense support
![Page 27: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/27.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
26
Capgemini Spain / Tecnology Services
Development Workbench 3/4
� Error handling integrated in Visual Studio
![Page 28: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/28.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
27
Capgemini Spain / Tecnology Services
Development Workbench 4/4
� DSL example
� Navigational diagram
![Page 29: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/29.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
28
Capgemini Spain / Tecnology Services
Contents
� Introduction
� Goals
� Foundations
� Design aspects & Trade-offs
� Demo
� Problems found
� Facts & Results
![Page 30: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/30.jpg)
In collaboration with
Demo
Recording:
Modelling a simple Business Function
![Page 31: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/31.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
30
Capgemini Spain / Tecnology Services
Contents
� Introduction
� Goals
� Foundations
� Design aspects & Trade-offs
� Demo
� Problems found
� Facts & Results
![Page 32: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/32.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
31
Capgemini Spain / Tecnology Services
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
![Page 33: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/33.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
32
Capgemini Spain / Tecnology Services
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
![Page 34: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/34.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
33
Capgemini Spain / Tecnology Services
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.
![Page 35: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/35.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
34
Capgemini Spain / Tecnology Services
Contents
� Introduction
� Goals
� Foundations
� Design aspects & Trade-offs
� Demo
� Problems found
� Facts & Results
![Page 36: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/36.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
35
Capgemini Spain / Tecnology Services
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
![Page 37: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/37.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
36
Capgemini Spain / Tecnology Services
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.
![Page 38: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/38.jpg)
© 2007 Capgemini - All rights reserved
The PISA Project, May 19th 2007
37
Capgemini Spain / Tecnology Services
Distribution & defect cost
Defects
%
Analysis Design Build Maintenance
Traditional life cycle
MDD life cycle
Defect cost
exponential
Snow ball effect
![Page 39: The PISA Project](https://reader031.fdocuments.in/reader031/viewer/2022020706/61fc9f9c9d50e757a521c736/html5/thumbnails/39.jpg)
www.capgemini.com