december 4, 2003 1 [email protected] icssea’03 the smarttools software factory the mda...
TRANSCRIPT
![Page 1: December 4, 2003 1 Didier.Parigot@inria.fr ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:](https://reader036.vdocuments.mx/reader036/viewer/2022062803/56649f3a5503460f94c589dc/html5/thumbnails/1.jpg)
December 4, 2003 [email protected]
r ICSSEA’03
The SmartTools Software Factory
The MDA approach and Generative
programming for Software Development:
byDidier Parigot
Applications need to be more open and adaptable
![Page 2: December 4, 2003 1 Didier.Parigot@inria.fr ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:](https://reader036.vdocuments.mx/reader036/viewer/2022062803/56649f3a5503460f94c589dc/html5/thumbnails/2.jpg)
December 4, 2003 [email protected]
r ICSSEA’03
Evolutions in Software Engineering
Open Problem Applications need to be more open and adaptable
Plan Intuitive Idea of Software Factory
Upheaval factors of this Software Evolution
Overview of the SmartTools Software Factory Data Model: independent format Semantic Model: Aspect-Oriented Programming Component Model: SmartTools Architecture Visualisation Model: an example of a MDA component
Open Problem Applications need to be more open and adaptable
Plan Intuitive Idea of Software Factory
Upheaval factors of this Software Evolution
Overview of the SmartTools Software Factory Data Model: independent format Semantic Model: Aspect-Oriented Programming Component Model: SmartTools Architecture Visualisation Model: an example of a MDA component
![Page 3: December 4, 2003 1 Didier.Parigot@inria.fr ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:](https://reader036.vdocuments.mx/reader036/viewer/2022062803/56649f3a5503460f94c589dc/html5/thumbnails/3.jpg)
December 4, 2003 [email protected]
r ICSSEA’03
programs
compilers
system
languages
applications
execution
Open and adaptable
An intuitive idea of Software Factory
Models or Specific languages
generators
Business Code
The Glue
Platform
Family of application
To control the code sensitive to evolutions
Capture of a knowledgeCapture of a knowledge
Software product-lineSoftware product-line
Evolutionary ApplicationsEvolutionary Applications
Open and Adaptable Open and Adaptable
ApplicationsApplications
![Page 4: December 4, 2003 1 Didier.Parigot@inria.fr ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:](https://reader036.vdocuments.mx/reader036/viewer/2022062803/56649f3a5503460f94c589dc/html5/thumbnails/4.jpg)
December 4, 2003 [email protected]
r ICSSEA’03
Factors of change in Software development
The Internet Web applications (B2B applications and Web Semantic)
The proliferation of new technologies Components (EJB, CCM, Web Services etc...) Which one to choose ?
The Democratisation of computer science
The time to market: fast software development
The impact of standards: W3C et OMG
![Page 5: December 4, 2003 1 Didier.Parigot@inria.fr ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:](https://reader036.vdocuments.mx/reader036/viewer/2022062803/56649f3a5503460f94c589dc/html5/thumbnails/5.jpg)
December 4, 2003 [email protected]
r ICSSEA’03
Cross-Fertilisation between several research domains
Evolution of programming languages
By separation of concerns Aspect-Oriented Programming
Component ProgrammingMethod Call or Interface
Model ProgrammingMDA approach proposed by the OMG
programming languages
The Applications must to be open and adaptable
Models or specific languages
Generators
New programming languagesNew programming languages
Design PatternModel: an abstraction Model: an abstraction
for each concern for each concern
![Page 6: December 4, 2003 1 Didier.Parigot@inria.fr ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:](https://reader036.vdocuments.mx/reader036/viewer/2022062803/56649f3a5503460f94c589dc/html5/thumbnails/6.jpg)
December 4, 2003 [email protected]
r ICSSEA’03
Software Factory: SmartTools
Generators
PIMPIM PSM
Data Model
Semantic Model
Component Model
View Model
The Glue
Business Code
Platform
Pivot Model
Projectable Model
Extensible Component
MDA approach
MDA Component
Parts written by the programmerParts sensitive to evolutionsIndependent Models (PIM) Specific Models (PSM)MDA Approach
Other concerns Other concerns
Other modelsOther models
![Page 7: December 4, 2003 1 Didier.Parigot@inria.fr ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:](https://reader036.vdocuments.mx/reader036/viewer/2022062803/56649f3a5503460f94c589dc/html5/thumbnails/7.jpg)
December 4, 2003 [email protected]
r ICSSEA’03
The Data Model
Goals
Independent Model : PIM Any programming language : neutral format With generator to instrument the data model : PSMs
To use the Standard of W3C (or OMG) consortium open new application fields
![Page 8: December 4, 2003 1 Didier.Parigot@inria.fr ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:](https://reader036.vdocuments.mx/reader036/viewer/2022062803/56649f3a5503460f94c589dc/html5/thumbnails/8.jpg)
December 4, 2003 [email protected]
r ICSSEA’03
UMLMOF
The Data Model
Data ModelMeta-language : Absynt
Traductors
DTD
XML Schema
Generators
Java classes top of the DOM API
Is Instance of
XMLXML
JavaXML
XMLXML
Is Conform to Can be serialised in
Is represented by
PSMPSM
Meta level
![Page 9: December 4, 2003 1 Didier.Parigot@inria.fr ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:](https://reader036.vdocuments.mx/reader036/viewer/2022062803/56649f3a5503460f94c589dc/html5/thumbnails/9.jpg)
December 4, 2003 [email protected]
r ICSSEA’03
Component model: our approachArchitecture of SmartTools
Meta tools
The methodDefinition of an abstract component model
independent of any component technology
Definition of a set of transformations to standard component models (EJB, CCM, etc..) : MDA approach
Component modelbased on neutral model (PIM)P2P, dynamic topologyExtensible Component
![Page 10: December 4, 2003 1 Didier.Parigot@inria.fr ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:](https://reader036.vdocuments.mx/reader036/viewer/2022062803/56649f3a5503460f94c589dc/html5/thumbnails/10.jpg)
December 4, 2003 [email protected]
r ICSSEA’03
Connection
Generator
Component Model
Components Manager
Creation
Component model: an example
Data Model
View Model
Graphic Model
Semantic Model
Document
Graphic view
Graphic view
Graphic User Interface
Collaboration between Collaboration between
all the models all the models Capture of knowledgeCapture of knowledge
New notion of typeNew notion of type
(interface)(interface)
![Page 11: December 4, 2003 1 Didier.Parigot@inria.fr ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:](https://reader036.vdocuments.mx/reader036/viewer/2022062803/56649f3a5503460f94c589dc/html5/thumbnails/11.jpg)
December 4, 2003 [email protected]
r ICSSEA’03
Component model: transformation
EJB
Home and
Remote interfaces
Eclipse
Eclipse API?(IDE)
Abstract Component Model
IDL File +
Server ClassCORBA
CCM
SmartTools
Container Class+
Extend facade Class
Generators
WSDL File
SOAP Class
Web Services
MDA
PIM
PSM
Different interpretations Different interpretations
of the component notion of the component notion
![Page 12: December 4, 2003 1 Didier.Parigot@inria.fr ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:](https://reader036.vdocuments.mx/reader036/viewer/2022062803/56649f3a5503460f94c589dc/html5/thumbnails/12.jpg)
December 4, 2003 [email protected]
r ICSSEA’03
SmartTools: WHAT is it ?
An application manufactured by a software factory
To test our approach of Software Factories
An application which enables to build a software factory
To propose and extend our approach
A factory which enables to quickly create a family of application
To build a family of application
![Page 13: December 4, 2003 1 Didier.Parigot@inria.fr ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:](https://reader036.vdocuments.mx/reader036/viewer/2022062803/56649f3a5503460f94c589dc/html5/thumbnails/13.jpg)
December 4, 2003 [email protected]
r ICSSEA’03
Basic components Component manager
Graphic UserInterface
Generators Component Generator
Data Structure Generator
Semantic Generator
ViewGenerator
Y logical Component
Y view component
ApplicationsY logical component
X view component
A Bootstrapped Application: SmartTools
Kernel 0%
Cosynt
XprofileCoq
(XML)
XML (generic)
IDLbibtex
In production mode
Generators ComponentGenerator
Data StructureGenerator
Semantic Generator
View Generator
100%
In bash mode
In none interactive or export mode
N % use of the Software Factory
lml
Application fields ? Application fields ?
RAINRIA
Syntax(relax)
EDF(UML)
B WSDL
CSS
Java
cdml
Basic componentsComponent Manager
Graphical UserInterface
100%50%
XSLT
DTD
MathML
XML Schema
SVG
Absynt
HTML
ant
![Page 14: December 4, 2003 1 Didier.Parigot@inria.fr ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:](https://reader036.vdocuments.mx/reader036/viewer/2022062803/56649f3a5503460f94c589dc/html5/thumbnails/14.jpg)
December 4, 2003 [email protected]
r ICSSEA’03
Conclusion : Macro-Programming ?
The Classic programming Languages are not the solution ?
Independent Model / inter-domains ?
Development Processes / Incremental ?
Conceptual Model / Product Model ?
Universal Model / Business Model ?
Open and Adaptable Applications ?
Model for each concern ?
AOP / directly on the model ?
Dynamic Transformation / projection of semantic treatments ?
Generative programming / Meta-programming ?
Etc…Etc…
More questions than More questions than
answers ! answers !
But there is already But there is already
a research prototype:a research prototype:
SmartToolsSmartTools
![Page 15: December 4, 2003 1 Didier.Parigot@inria.fr ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:](https://reader036.vdocuments.mx/reader036/viewer/2022062803/56649f3a5503460f94c589dc/html5/thumbnails/15.jpg)
December 4, 2003 [email protected]
r ICSSEA’03
END
QUESTIONS ?
Software Factory www-sop.inria.fr/oasis/SmartTools
Demonstration