Ingénierie Dirigée par les Modèles

Dimension: px
Commencer à balayer dès la page:

Download "Ingénierie Dirigée par les Modèles"

Transcription

1 Ingénierie Dirigée par les Modèles INSA Rennes, Booklet Benoît Combemale Université de Rennes 1, Triskell (INRIA & IRISA) Campus de Beaulieu, F Rennes Table des matières 1- Introduction à l Ingénierie Dirigée par les Modèles (IDM) 2 2- Syntaxes abstraite et concrète au travers d EMF et de GMF Sémantique statique avec OCL Sémantique opérationnelle avec Kermeta La transformation de modèle : principes, standard et mise en oeuvre 121 1

2 2

3 Introduction to Model- Driven Engineering (or: Why I'd like write program that write programs rather than write programs) Benoit Combemale (Univ. Rennes 1) Triskell Team (IRISA & INRIA) Campus de Beaulieu F Rennes Cedex Tel : Fax : D après le cours de Jean-Marc Jézéquel Problématique du génie logiciel aujourd hui

4 Modern Software Problems Importance of non-functional properties distributed systems, parallel & asynchronous quality of service : reliability, latency, performance... Flexibility of functional aspects: Product Lines notion of product lines (space, time) Versions (Time) Time to Market! Variants (Functionalities) Benoît Combemale 3 Problems addressed in SE 1960 s: Cope with inherent complexity of software (Correctness) Size of «big» projects (LOC) Milestone: Floyd assigning meaning to programs 10 4 Compiler» More than 10 years to mature. Mature <> solved! Time Benoît Combemale 4

5 Problems addressed in SE 1970 s: Cope with project size Size of «big» projects (LOC) Milestone: Parnas, Yourdon: modularity & structure» More than 10 years to mature Packet Switching System 10 4 Compiler Time Benoît Combemale 5 Problems addressed in SE 1980 s: Cope with variability in requirements Size of «big» projects (LOC) Milestone: Jackson, Meyer: modeling, object orientation» More than 10 years to mature Nokia s GSM infrastructure:»50% of requirements changed after they were frozen»60% of these changed at least twice! Nuclear Submarine Control Packet Switching System 10 4 Compiler Time Benoît Combemale 6

6 OO approach: frameworks Benoît Combemale 7 Problems addressed in SE 1990 s: Cope with distributed systems and mass deployment: Size of «big» projects (LOC) Milestone: MS (COM), Szyperski: product-lines & components Nuclear Submarine Control GSM Network Component = deployment unit focus on non-functional properties installation/execution concept»explicit (contractual) dependencies»configuration and connection 10 5 Packet Switching System 10 4 Compiler Time Benoît Combemale 8

7 OO approach: Models and Components frameworks Changeable software, from distributed/unconnected sources even after delivery, by the end user Guarantees? Functional, synchronization, performance, QoS Benoît Combemale 9 Problems addressed in SE 2000 s: pervasive software integration, accelerating technological changes (platforms) Size of «big» projects (LOC) 10 8 Milestone:? Windows Nuclear Submarine Control Packet Switching System GSM Network 10 4 Compiler Time Benoît Combemale 10

8 Once upon a time software development looked simple From the object as the only one concept As e.g. in Smalltalk Collaborations To a multitude of concepts Middleware (middle war) Design patterns Aspects It's difficult -- in fact, next to impossible for a large enterprise to standardize on a single middleware platform. (R. Soley) COM+ DCOM CORBA IIOP DataI XML SOAP HTTP HTML ReceiverI Microsoft Required port C# &.Net <<Component>> Decoder Components DecoderI Provided Port Benoît Combemale 11 Sun s Java & EJB + until the next ultimate middleware platform (~2005) Proprietary Middleware (eg. automotive) DataI Collaborations Objects should be as simple as possible To enable modular understanding But then where is the complexity? It is in the way objects interact! Cf. Collaborations as a standalone diagram in UML (T. Reenskaug s works) Benoît Combemale 12

9 Design Patterns Embody architectural know-how of experts As much about problems as about solutions pairs problem/solution in a context About non-functional forces reusability, portability, and extensibility Not about classes & objects but collaborations Actually, design pattern applications are parameterized collaborations Benoît Combemale 13 From Objects to Components Object = instance of a class Class = reusable unit of software focus on structural and functional properties development concept Component = deployment unit focus on non-functional properties installation/execution concept» Explicit dependencies» Configuration and connection Benoît Combemale 14

10 Middleware or Middle War? It's difficult -- in fact, next to impossible for a large enterprise to standardize on a single middleware platform. (R. Soley) COM+ DCOM CORBA IIOP HTTP HTML Sun s Java & EJB Microsoft C# &.Net ζ ζ ζ No clear winner until now And probably not in the near future Migration is expensive and disruptive XML SOAP Proprietary Middleware (eg. automotive) ζ The OMG tried to send in the blue helmets with the MDA initiative + until the next ultimate middleware platform (~2005) Benoît Combemale 15 Aspect Oriented Programming Kiczales et al., ECOOP 97 MIT s one of 10 key technologies for 2010 Encapsulation of cross-cutting concerns in OO programs Persistence, contract checking, etc. Weaving at some specific points (join points) in the program execution Hence more than macros on steroids AspectJ for AOP in Java Some clumsiness in describing dynamic join points What about Aspect Oriented Design? Benoît Combemale 16

11 good modularity XML parsing XML parsing in org.apache.tomcat red shows relevant lines of code nicely fits in one box Benoît Combemale 17 good modularity URL pattern matching URL pattern matching in org.apache.tomcat red shows relevant lines of code nicely fits in two boxes (using inheritance) Benoît Combemale 18

12 problems like logging is not modularized where is logging in org.apache.tomcat red shows lines of code that handle logging not in just one place not even in a small number of places Benoît Combemale 19 AspectJ is a small and well-integrated extension to Java a general-purpose AO language just as Java is a general-purpose OO language freely available implementation compiler is Open Source includes IDE support emacs, JBuilder, Forte user feedback is driving language design currently at release Benoît Combemale 20

13 Expected benefits of using AOP good modularity, even for crosscutting concerns less tangled code more natural code shorter code easier maintenance and evolution» easier to reason about, debug, change more reusable» library aspects» plug and play aspects when appropriate Benoît Combemale 21 État de la pratique

14 Des logiciels complexes... Logiciels de grande taille des millions de lignes de code des équipes nombreuses durée de vie importante des lignes de produits plateformes technologiques complexes évolution continue Logiciels complexes Logiciels critiques... Benoît Combemale 23 Évolution des acteurs programmeur ingénieurs logiciels scientifique utilisateur utilisateurs Time Benoît Combemale 24

15 Oui, Oui, Oui, mais... La mentalité de "l'informaticien moyen" a t elle radicalement évoluée? Du "Codeur", au "Programmeur", à l' "Ingénieur Logiciel",... L' "Ingénieur logiciel" prouve-t-il ses programmes? maintient-il à jour la documentation, les spécifications? Benoît Combemale 25 État de la pratique 50 ans après les débuts de l'informatique, pour "l'informaticien moyen" la seule chose importante dans le logiciel c'est... le Code! => Ingénierie Dirigée par le code Benoît Combemale 26

16 L'industrie logicielle aujourd'hui assemblers middleware providers standardization organization architects site administrators component developers component testers application testers tool vendors end users Benoît Combemale 27 L'industrie logicielle aujourd'hui architects component developers assemblers De nombreux acteurs des préoccupations différentes des métiers différents des compétences variées des outils variés différents éléments logiciels middleware providers Séparation des préoccupations tool component testers application testers vendors standardization organization site administrators end users Benoît Combemale 28

17 Séparations des préoccupations Point de vue des pompiers Point de vue du cadastre Point de vue des assureurs Point de vue des notaires Point de vue des promoteurs système Point de vue des architectes Point de vue des locataires Point de vue des plombiers Point de vue des électriciens Point de vue des paysagistes Benoît Combemale 29 Séparations des préoccupations Utile même pour des systèmes "moins" complexes Point de vue du propriétaire Point de vue du plombier Point de vue du cadastre Point de vue de l' électricien système Point de vue de l' architecte Point de vue du maçon Benoît Combemale 30

18 Problématique Complexité croissante des logiciels Séparations des préoccupations Séparations des métiers Multiplicité des besoins Multiplicité des plateformes Évolution permanente Logiciel = Code? Est-ce la solution? Benoît Combemale 31 Multiples modèles d'un même système modèles pour les promoteurs modèles pour les pompiers modèles pour le cadastre modèles pour l'assureur cadastre système modèles pour les plombiers modèles pour les électriciens modèles pour les paysagistes modèles pour les notaires modèles pour les architectes Benoît Combemale 32

19 Ingénierie Dirigée par le Code ou Ingénierie Dirigée par les Modèles? Telle est la question... Benoît Combemale * Client titulaires 1 signataire Compte numéro solde * Banque numéro nom 1..* 0..* En attente carte insérée En attente du code 1 CarteBleue 0..* 0..1 Code retraitmax AcceptéPar> 1..* Distributeur Consortium 1 0..* carte retirée En attente retrait carte mauvais code code frappé En vérification code bon montant incorrect En attente du montant RetirerDeLArgent billets retirés montant correct En distribution Client ConsulterSonCompte Ajouter DesBillets Transporteur DeBillets FaireUnVirement Assurer LaMaintenance Technicien DistributeurDeBillet système paul le distrib. la carte de P. la reserve la banque le compte de P. la reserve retirer 500 fr 6 : sortir 5 billet de 100 fr lire n compte 1 : retirer 500 fr 3 : retirer 500 fr sur compte n 4 : débiter(500) retirer 500 fr sur le compte n confirmer débiter 500 fr paul le distributeur 5 : confirmer 2 : lire n de compte la banque prendre la carte sortir 5 billets de 100 fr la carte de P. le compte de paul Benoît Combemale 34

20 Oui, Oui, Oui, mais... pour "l'informaticien moyen" la seule chose importante dans le logiciel c'est... le Code! Benoît Combemale 35 Client RetirerDeLArgent ConsulterSonCompte FaireUnVirement paul 1 Client signataire * titulaires Compte numéro solde * Banque numéro nom 1..* 0..* En attente carte insérée En attente du code 1 Consortium carte retirée mauvais code code frappé CarteBleue 0..* Code En attente retrait carte En vérification retraitmax AcceptéPar> 0..* Distributeur 1..* code bon? montant incorrect En attente du montant class Compte { private Vector opérations ; private class Compte int découvertmax { ;? montant correct private private Client Vector titulaire opérations ; ; private int découvertmax ; billets retirés En distribution public private int liresolde() Client titulaire ; class Compte { { int r = 0 ; private Vector opérations ;? for public (i=0;opérations.size();i++) int liresolde() private int découvertmax ; class Compte { Ajouter { r int = r r = = opérations.at(i).montant 0 ; private; Client titulaire ; DesBillets Transporteur private Vector opérations DeBillets return for r (i=0;opérations.size();i++) ; private int découvertmax ; } r = r = ; opérations.at(i).montant public int liresolde() ; private Client titulaire public void return ; débiter( r ; } int montant ){ int r = 0 ; { if (montant<=0 for (i=0;opérations.size();i++) public int liresolde() public liresolde()-montant void débiter( int < liresolde) montant ) r = r = opérations.at(i).montant ; { int r = 0 ; throw { if (montant<=0 new Exception() ; return r ; } for (i=0;opérations.size();i++)... liresolde()-montant < liresolde) r = r = opérations.at(i).montant Assurer } throw new Exception() ; public ; void débiter( int montant ) Technicien return r ; } LaMaintenance... { if (montant<=0 } liresolde()-montant < liresolde) public void débiter( int montant ) throw new Exception() ; { if (montant<=0...? liresolde()-montant < liresolde) } throw new Exception() ;...? } le distrib. la carte de P. la reserve la banque le compte de P. la reserve DistributeurDeBillet retirer 500 fr 6 : sortir 5 billet de 100 fr lire n compte 1 : retirer 500 fr 3 : retirer 500 fr sur compte n 4 : débiter(500) retirer 500 fr sur le compte n confirmer débiter 500 fr paul le distributeur 5 : confirmer 2 : lire n de compte la banque prendre la carte sortir 5 billets de 100 fr la carte de P. le compte de paul Benoît Combemale 36

21 Synthèse Des Modèles plutôt que du Code Un modèle est la simplification/abstraction de la réalité Nous construisons donc des modèles afin de mieux comprendre les systèmes que nous développons Nous modélisons des systèmes complexes parce que nous somme incapables de les comprendre dans leur totalité Le code ne permet pas de simplifier/abstraire la réalité Benoît Combemale 37 Pourquoi modéliser

22 Person -personid : unsigned long -surname : CString -givenname : CString -middleinitial : char -streetaddress : CString -postcode : CString -countryname : CString - address : CString +Person() +PersonInfo() Applicant -companyname : CString -experience : CString -reference1 : CString -reference2 : CString -reference3 : CString +Applicant() +ApplicantInfo() +MakeApplication() 1 -is made * by a-uses 1 -is taken by 1..* -made a Application PermittedStatusChange -productnr : unsigned long -allows change in -has a -fromstatus : char -certificationlevel : unsigned long -tostatus : char -applicationdate : unsigned long 0..* +PermittedStatusChange() +Application() 1..* +ApplicationInfo() +StatusChangeInfo() 0..* 1 AppStatus -statuscode : char -statusname : CString +AppStatus() +AppStatusInfo() -applies to a -is for a -is made by 1 +Exam() +ExamInfo() CourseSession -coursesessionid : unsigned long -coursedate : unsigned long -teaches -courseid : unsigned long Employee -courselocation : CString -jobtype : CString -is taught by +CourseSession() -roomnr : unsigned long 0..* +CourseSessionInfo() -department : CString -division : CString 1 1 -is in -jobtitle : CString -manager : unsigned long -headsdept : CString -headsdivision : CString -mobilenr : CString -birthdate : unsigned long +Employee() +GetCurrentAge() +EmployeeInfo() * RegistrationForm +registrationform() Exam -examid : unsigned long -certificationlevel : unsigned long -uses 1 0..* -is filled by CourseRegistration -makes -registrationdate : unsigned long -completionflag : bool -confirmeddate : unsigned long 0..* +CourseRegistration() +CourseRegistrationInfo() 0..* Test -testscore : unsigned long +Test() +TestInfo() 0..* -takes -gives 1 -is achieved ExamSession -is used in -examsession : unsigned long -examlocation : CString -examdate : unsigned long 0..* +ExamSession() +ExamSessionInfo() RegForm findapplicant() ApplicantList findperson() addperson() Applicant() MakeApplication() PersonList Applicant Application() Application addapplication() ApplicationList Why modeling: master complexity Modeling, in the broadest sense, is the cost-effective use of something in place of something else for some cognitive purpose. It allows us to use something that is simpler, safer or cheaper than reality instead of reality for some purpose. A model represents reality for the given purpose; the model is an abstraction of reality in the sense that it cannot represent all aspects of reality. This allows us to deal with the world in a simplified manner, avoiding the complexity, danger and irreversibility of reality. Jeff Rothenberg. Benoît Combemale 39 Modeling in Science & Engineering A Model is a simplified representation of an aspect of the World for a specific purpose M 1 (modeling space) Specificity of Engineering: Model something not yet existing (in order to build it) Is represented by M 0 (the world) Benoît Combemale 40

23 UML: one model, 4 main dimensions, multiple views : Device <<Actor>> Operator controls 1 0..* start() stop() Device : Operator start( ) stop( ) Class diagram Sequence diagram ControllingSite RemoteSite TCP/IP : Device : Operator : Operator UseCase diagram Implementation diagram Benoît Combemale 41 The X diagrams of UML Modeling along 4 main viewpoints: Static Aspect (Who?)» Describes objects and their relationships» Structuring with packages User view (What?)» Use cases Dynamic Aspects (When?)» Sequence Diagram» Collaboration Diagram» State Diagram» Activity Diagram Implementation Aspects (Where?)» Component Diagram & deployment diagram Benoît Combemale 42

24 Example Modeling a (simplified) GPS device Get position, heading and speed» by receiving signals from a set of satellites Notion of Estimated Position Error (EPE)» Receive from more satellites to get EPE down User may choose a trade-off between EPE & saving power» Best effort mode» Best route (adapt to speed/variations in heading)» PowerSave (Case Study borrowed from N. Plouzeau, K. Macedo & JP. Thibault. Big thanks to them) Benoît Combemale 43 Modeling a (simplified) GPS device Use case diagram GPS switchon/off getposition setprecision «extends» «extends» getspeed User «extends» getinfo getheading Benoît Combemale 44

25 Modeling a (simplified) GPS device Class diagram Satellite -Channel : int -Number : int -OrbitalCoordinates : Orbit +UpdateOrbit() 32 knows PowerManagement -BatteryLevel : int -MainSupply : bool +GetLevel() : int +IsOnMainSupply() : bool Clock +GetTime() : Date +SetTime(in date : Date) Receiver +SetChannel(in Channel : int) +GetData() : Data +DataReady() : bool +SetEstimatePosition(in point : 3DPoint) +ConfigureDecoders() 1 1 +GetPosition() : 3DPoint Decoder readsfrom -SatTTime : Data -SatPosition : 3DPoint -SatDistance : double -DistancePrecision : double -IsActive : bool +ListenTo(in Channel : int) +Activate(in value : bool) +GetData() : Data +DataReady() : bool 12 LocationComputer -Position : 3DPoint -EDE : double -/ Speed : double -/ Heading : double -Precision:{BestEffort, BestTrack, PowerSave } Benoît Combemale {ordered} * 3DPoint route Modeling a (simplified) GPS device Sequence diagram: configuring decoders : LocationCom puter : D ecoder : Receiver C onfiguredecoders() ListenTo(Channel) SetChannel(Channel) Benoît Combemale 46

26 Modeling a (simplified) GPS device Sequence diagram: interrupt driven architecture : LocationComputer : Decoder : Receiver DataReady GetData return Data DataReady:=DataReady() Many more sequence diagrams needed Benoît Combemale 47 Modeling a (simplified) GPS device Targeting multiple products with the same (business) model Hand held autonomous device Plug-in device for PalmTop Plug-in device for laptop (PCMCIA) May need to change part of the software after deployment We choose a component based delivery of the software Benoît Combemale 48

27 Modeling a (simplified) GPS device Component diagram <<component>> Receiver <<component>> Decoder <<component>> LocationComputer <<component>> Management «provided interfaces>> ReceiverI DataI «provided interfaces>> DecoderI DataI «required interfaces» ReceiverI DataI «provided interfaces>> ComputerI «required interfaces» PowerManagementI ClockI DecoderI DataI «provided interfaces>> PowerManagementI ClockI DataI ReceiverI <<Component>> Decoder DecoderI DataI Required port Provided Port Benoît Combemale 49 Modeling a (simplified) GPS device Deployment diagram «component» receiver1 : Receiver ReceiverI, DataI «component» Decoder1 : Decoder DecoderI, DataI «component» Receiver2 : Receiver ReceiverI, DataI «component» decoder2 : Decoder DecoderI, DataI «component» lc : LocationComputer ComputerI «component» receiver3 : Receiver ReceiverI, DataI «component» decoder3 : Decoder DecoderI, DataI ClockI, PowerManagementI «component» manager : Management Benoît Combemale 50

28 Model and Reality in Software Sun Tse: Do not take the map for the reality Magritte Software Models: from contemplative to productive Benoît Combemale 51 QoS Model Use Case Model Modeling and Weaving Security Model Object Model Test Model Business Model Platform Model tester Code Model UI Model Challenges: -Product Families -Reuse of Weaving Process -Automatic Weaving Design Model Benoît Combemale 52

29 Assigning Meaning to Models If a UML model is no longer just fancy pictures to decorate your room a graphical syntax for C++/Java/C#/Eiffel... Then tools must be able to manipulate models Contains ModelElement Let s make a model of what a model is! => meta-modeling» & meta-meta-modeling.. {ordered} +subtype Generalizes 0..* +supertype 0..1 {ordered} 0..* Package +container +containedelement Namespace GeneralizableElement Classifier 0..* Feature BehavioralFeature Operation +c onstrainede lement 1..* Reference Constraint StructuralFeature Constrains MofAttribute 0..* 0..* +referent RefersTo DataType Class Association 1 +referencedend AssociationEnd Benoît Combemale 53 UML2 meta-model (part.) Benoît Combemale 54

30 Zoom: comments Benoît Combemale 55 Generalizations Benoît Combemale 56

31 Modeling techniques at OMG: 3 steps MOF MOF UML UML UML SPEM Workflow etc. amodel amodel UML_for_CORBA Common Warehouse Metadata amodel Action language Benoît Combemale 57 The 4 layers in practice Benoît Combemale 58

32 Comparing Abstract Syntax Systems Technology #1 Technology #2 (formal grammars (MOF + OCL) attribute grammars, etc.) Technology #3 (XML Meta-Language) Technology #4 (Ontology engineering) M 3 EBNF MOF A XML DTD Or Schema Upper Level Ontologies M 2 Pascal Language Grammar The UML meta-model A XML document A XML DTD or Schema KIF Theories M 1 A specific Pascal Program A specific execution of a Pascal program A Specific UML Model A Specific phenomenon corresponding to a UML Model A XML document + Xlink, Xpath, XSLT + RDF, OIL, DAML + etc. [XMI=MOF+XML+OCL] (From J. Bézivin) +Description Logics +Conceptual Graphs +etc. Benoît Combemale 59 MDA: the OMG new vision "OMG is in the ideal position to provide the modelbased standards that are necessary to extend integration beyond the middleware approach Now is the time to put this plan into effect. Now is the time for the Model Driven Architecture." Richard Soley & OMG staff, MDA Whitepaper Draft 3.2 November 27, 2000 Benoît Combemale 60

33 Mappings to multiple and evolving platforms COM+ DCOM CORBA C#.Net Platform neutral models based on UML & MOF Java EJB HTTP HTML XML SOAP ζ MOF & UML as the core ζ Organization assets expressed as models ζ Model transformations to map to technology specific platforms Benoît Combemale 61 The core idea of MDA: PIMs & PSMs MDA models PIM: Platform Independent Model» Business Model of a system abstracting away the deployement details of a system» Example: the UML model of the GPS system PSM: Platform Specific Model» Operational model including platform specific aspects» Example: the UML model of the GPS system on.net Possibly expressed with a UML profile (.NET profile for UML) Not so clear about platform models» Reusable model at various levels of abstraction CCM, C#, EJB, EDOC, Benoît Combemale 62

34 A PSM for our GPS Here, the platform is.net Benoît Combemale 63 How to go From PIM to PSM? "just" weave the platform aspect! How can I do that? Through Model transformations Now hot topic at OMG with RFP Q/V/T» Query/View/Transformation Benoît Combemale 64

35 Weaving aspects into UML Models? It s what Model Driven Architecture is about! Modeling point of views Endomorphic Transformations Exomorphic Transformations Outside UML scope Proofs, QoS Analysis, Simulation Formal Models Formal Models PIM=Platform Independent Model PSM= Platform Specific Model Technical Aspects Business Aspects PIM PIM PSM PIM PIM PSM Code Tests Text (e.g. XML) Doc Doc Doc Doc Doc Doc Lifecycle Requirements Analysis Architectural Design Detailed Design Implementation Validation Benoît Combemale 65 But many more dimensions in modeling! Beyond Design Model where UML is arguably good Business model GUI model Development process model Performance & Resource model Deployment model Test model Etc. Benoît Combemale 66

36 How to take these dimensions into account? Expression with either UML, using built-in extension mechanisms to link with other semantic domains DS(M)L, based on MOF Exploitation Weave all these aspects into a design model Domain model Resource model Define mappings between these aspects (as in e.g. federations) Service model Design Model Test model Installation model Benoît Combemale 67 Embedding implicit semantics into a model Design pattern application (parametric collaboration) Command pattern Element stereotype and also Tagged values & Contracts invoker Interpreter execute() 1 0..* <<persistent>> History cmd_executed : string +invoker last_command() : string 1..* 1..* receiver S erviceprovider <<com mand>> action_1() <<com mand>> action_2() <<com mand>> action_3() Benoît Combemale 68

37 and the result we want... Interpreter execute() 1 +commands 0..* 1..* ServiceProvider_Command +cmdtarget do() 0..* 1 ServiceProvider <<command>> action_1() <<command>> action_2() <<command>> action_3() 0..* <<persistent>> History cmd_executed : string action_1_cmd do() action_2_cmd do() action_3_cmd do() last_command() : string +proxy History_StorageProxy load_last_command() : string store_last_command(cmd : string) Benoît Combemale 69 How To: Automatic Model Transformations Interpreter execute() 1 0..* 1..* ServiceProvider_Command do() 0..* 1 ServiceProvider <<command>> action_1() <<command>> action_2() <<command>> action_3() 0..* <<persistent>> History cm d_executed : string last_comm and() : string action_1_cmd action_2_cmd action_3_cmd do() do() do() Command pattern implementation History_StorageProxy load_last_comm and() : string store_last_command(cmd : string) Persitence implementation In some domains (e.g.; RT systems) transformations can get more complex than initial model! => must be managed with sound SE principles Benoît Combemale 70

38 Why complex transformations? Example: Air Traffic Management business model quite stable & not that complex Various modeling languages used beyond UML As many points of views as stakeholders Deliver software for (many) variants of a platform Heterogeneity is the rule Reuse technical solutions across large product lines (e.g. fault tolerance, security ) Customize generic transformations Compose reusable transformations Evolve & maintain transformations for 15+ years! Benoît Combemale 71 The 3 ages of Transformations Awk-like (inc. sed, perl ) BEGIN {action) pattern #1 {action #1} pattern #n {action #n} END {action) XSLT W3C standard for transforming XML Operates on tree structures syntactical & inefficient QVT-like Now hot topic at OMG with RFP Q/V/T» Query/View/Transformation Operates on graphs SE Limit: ~100 LOC SE Limit: ~1000 LOC SE Limit:? Standard? Which/When? Benoît Combemale 72

39 Transformations are Assets => apply sound SE principles Must be Modeled with the UML, using the power of OO Must be Designed Design by Contract, using OCL Must be Implemented Made available through libraries of components, frameworks Must be Tested test cases» input: a UML Model» output: a UML Model, + contract checking Must be Evolved Items of Configuration Management Transformations of transformations Benoît Combemale 73 Principles 1. Everything relevant to the development process is a model 2. All the meta-models can be written in a language of a unique meta-meta-model» Same M3 helps Interoperability of tools defined at M2 3. A development process can be modelled as a partially ordered set of model transformations, that take models as input and produce models as output Benoît Combemale 74

40 Consequences 1. Models are aspect oriented. Conversely: Aspects are models 2. Transformations are aspects weavers. They can be modeled. 3. Every meta-model defines a domain specific language 4. Software development has two dimensions: M1-model development and M2-transformation development Benoît Combemale 75 Challenges Language definition problems (Q/V/T) Expressive, easy to use language(s) for transformations Technological Issues Tool set, interoperability Software Engineering Issues From requirements to tests and SCM Theoretical issues A transformation is a mapping between semantic domains» Beyond Code Generation: Proof, Performance Evaluation, Test Synthesis Compositional weaving, cf. Aspect Oriented Software Dvp Benoît Combemale 76

41 UML & Model Driven Architecture: Summary Modeling to master complexity Multi-dimensional and aspect oriented by definition Models: from contemplative to productive Meta-modeling tools Model Driven Engineering Weaving aspects into a design model» E.g. Platform Specificities Model Driven Architecture (PIM / PSM): just a special case of Aspect Oriented Design Related: Generative Prog, Software Factories Benoît Combemale 77 Preview of the rest of this course Meta-Modeling Meta-models & abstract syntaxes Static Semantics with OCL Dynamic Semantics with Kermeta Model Driven Specification Language The logo case study Model Transformations & code generation Applications of MDE Design Pattern Application Model Refactoring Product Line Modeling and Derivation Benoît Combemale 78

42 42

43 Métamodéliser avec Eclipse Modeling Framework Benoit Combemale Université de Rennes 1 Équipe Triskell (IRISA & INRIA) Année universitaire INSA de Rennes Remerciement Ce cours s appuie intégralement sur le cours de Sébastien Mosser (cf. Un grand merci! Objects have failed! [R. Gabriel, OOPSLA 02] The object-oriented approach does not adequately address the computing requirements of the future. Object-oriented languages have lost the simplicity -some would say puritythat made them special and which were the source of their expressive and development power. Objects promised reuse, and we have not seen much success.

Ingénierie des Modèles. Méta-modélisation

Ingénierie des Modèles. Méta-modélisation Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr

Plus en détail

UML : Unified Modeling Language

UML : Unified Modeling Language UML : Unified Modeling Language Recommended: UML distilled A brief guide to the standard Object Modeling Language Addison Wesley based on Frank Maurer lecture, Univ. of Calgary in french : uml.free.fr/index.html

Plus en détail

Extensions à la formation. Laurent Pérochon, 28-30 avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Extensions à la formation. Laurent Pérochon, 28-30 avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan Extensions à la formation Diagramme de timing FinEpreuve SautBarrière CourseAvantBarrière SautMur {>2 et 10 et 2 et 10 et

Plus en détail

Génie Logiciel et Gestion de Projets

Génie Logiciel et Gestion de Projets Génie Logiciel et Gestion de Projets INFO-F-407 Ragnhild Van Der Straeten 2008-2009 ULB 1 Génie Logiciel et Gestion de Projets Organisation 2 Ragnhild Van Der Straeten VUB, 4K209 Campus Etterbeek rvdstrae@vub.ac.be

Plus en détail

Plan. Department of Informatics

Plan. Department of Informatics Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Special Topics 7. Prise de recul critique Enterprise

Plus en détail

WEB page builder and server for SCADA applications usable from a WEB navigator

WEB page builder and server for SCADA applications usable from a WEB navigator Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB WEB page builder and server for SCADA applications usable from a WEB navigator opyright 2007 IRAI Manual Manuel

Plus en détail

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* La démarche MDA Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* Référence : Livrable 1.1-5 Date : Mai 2002 * : Les partenaires du projet ACCORD sont CNAM,

Plus en détail

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC

Plus en détail

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation

Plus en détail

Frequently Asked Questions

Frequently Asked Questions GS1 Canada-1WorldSync Partnership Frequently Asked Questions 1. What is the nature of the GS1 Canada-1WorldSync partnership? GS1 Canada has entered into a partnership agreement with 1WorldSync for the

Plus en détail

MAT 2377 Solutions to the Mi-term

MAT 2377 Solutions to the Mi-term MAT 2377 Solutions to the Mi-term Tuesday June 16 15 Time: 70 minutes Student Number: Name: Professor M. Alvo This is an open book exam. Standard calculators are permitted. Answer all questions. Place

Plus en détail

Application Form/ Formulaire de demande

Application Form/ Formulaire de demande Application Form/ Formulaire de demande Ecosystem Approaches to Health: Summer Workshop and Field school Approches écosystémiques de la santé: Atelier intensif et stage d été Please submit your application

Plus en détail

Pablo Pernot - 2013 - Creative Commons Attribution-ShareAlike 3.0 Unported License http://creativecommons.org/licenses/by-sa/3.

Pablo Pernot - 2013 - Creative Commons Attribution-ShareAlike 3.0 Unported License http://creativecommons.org/licenses/by-sa/3. Optimiser la valeur "Value Stream Mapping" "Root Causes Analysis" "A3 Report" http://creativecommons.org/licenses/by-sa/3.0/ 1/17 Lean Software Development, Mary Poppendieck Lean Thinking, Womack & Jones

Plus en détail

Résultats des projets CARROLL. Bilan et perspectives. Ingénierie logicielle orientée modèle MDD

Résultats des projets CARROLL. Bilan et perspectives. Ingénierie logicielle orientée modèle MDD Résultats des projets CARROLL Bilan et perspectives Ingénierie logicielle orientée modèle MDD Serge Salicki, THALES Workshop CARROLL 23 septembre 2005 THALES et le MDE Le MDE est dans la strategie de THALES

Plus en détail

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK ArchiMate et l architecture d entreprise Par Julien Allaire Ordre du jour Présentation du langage ArchiMate - Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK Présentation du modèle

Plus en détail

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par. École Doctorale d Informatique, Télécommunications et Électronique de Paris THÈSE présentée à TÉLÉCOM PARISTECH pour obtenir le grade de DOCTEUR de TÉLÉCOM PARISTECH Mention Informatique et Réseaux par

Plus en détail

C est quoi, Facebook?

C est quoi, Facebook? C est quoi, Facebook? aujourd hui l un des sites Internet les plus visités au monde. Si tu as plus de 13 ans, tu fais peut-être partie des 750 millions de personnes dans le monde qui ont une page Facebook?

Plus en détail

eid Trends in french egovernment Liberty Alliance Workshop April, 20th 2007 French Ministry of Finance, DGME

eid Trends in french egovernment Liberty Alliance Workshop April, 20th 2007 French Ministry of Finance, DGME eid Trends in french egovernment Liberty Alliance Workshop April, 20th 2007 French Ministry of Finance, DGME Agenda What do we have today? What are our plans? What needs to be solved! What do we have today?

Plus en détail

Editing and managing Systems engineering processes at Snecma

Editing and managing Systems engineering processes at Snecma Editing and managing Systems engineering processes at Snecma Atego workshop 2014-04-03 Ce document et les informations qu il contient sont la propriété de Ils ne doivent pas être copiés ni communiqués

Plus en détail

Forthcoming Database

Forthcoming Database DISS.ETH NO. 15802 Forthcoming Database A Framework Approach for Data Visualization Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of

Plus en détail

Ingénierie Dirigée par les Modèles : modélisation EMF. (Eclipse Modeling Tools)

Ingénierie Dirigée par les Modèles : modélisation EMF. (Eclipse Modeling Tools) lab-sticc.univ-brest.fr/~babau/ Ingénierie Dirigée par les Modèles : modélisation EMF (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Modèles

Plus en détail

ENGLISH WEDNESDAY SCHOOL ENTRY TEST ENROLMENT FORM 2015-2016

ENGLISH WEDNESDAY SCHOOL ENTRY TEST ENROLMENT FORM 2015-2016 CHECKLIST FOR APPLICATIONS Please read the following instructions carefully as we will not be able to deal with incomplete applications. Please check that you have included all items. You need to send

Plus en détail

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION THÈSE N O 2388 (2001) PRÉSENTÉE AU DÉPARTEMENT D'INFORMATIQUE ÉCOLE POLYTECHNIQUE FÉDÉRALE

Plus en détail

Construire son projet : Rédiger la partie impacts (2/4) Service Europe Direction des Programmes et de la Formation pour le Sud

Construire son projet : Rédiger la partie impacts (2/4) Service Europe Direction des Programmes et de la Formation pour le Sud Construire son projet : Rédiger la partie impacts (2/4) Service Europe Direction des Programmes et de la Formation pour le Sud Sommaire Construire son projet : Rédiger la partie impacts (2/4) Comment définir

Plus en détail

deux tâches dans le tableau et à cliquer sur l icône représentant une chaîne dans la barre d outils. 14- Délier les tâches : double cliquer sur la

deux tâches dans le tableau et à cliquer sur l icône représentant une chaîne dans la barre d outils. 14- Délier les tâches : double cliquer sur la MS Project 1- Créer un nouveau projet définir la date du déclenchement (début) ou de la fin : File New 2- Définir les détails du projet : File Properties (permet aussi de voir les détails : coûts, suivi,

Plus en détail

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite. Rational ClearCase or ClearCase MultiSite Version 7.0.1 Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite. Product Overview IBM Rational

Plus en détail

Rappels. Génie logiciel. Implemented tactics. Oldest architecture: Batch-Sequential

Rappels. Génie logiciel. Implemented tactics. Oldest architecture: Batch-Sequential Rappels Génie logiciel Philippe Dugerdil Composants, packages Couches & dépendances Principes de structuration Réutilisation / responsabilité Réutilisation & composants 09.12.2010 Oldest architecture:

Plus en détail

Compliance Sheet. Super Range 71. Product Description

Compliance Sheet. Super Range 71. Product Description Super Range 71 Model SR71-15 SR71-A SR71-C SR71-E SR71-X SR71-USB Product Description 802.11a/n, Mini PCI, 2x2 MIMO 802.11a/b/g/n, Mini PCI, 3x3 MIMO 802.11a/b/g/n, CardBus, 2x2 MIMO 802.11a/b/g/n, PCI

Plus en détail

Instructions Mozilla Thunderbird Page 1

Instructions Mozilla Thunderbird Page 1 Instructions Mozilla Thunderbird Page 1 Instructions Mozilla Thunderbird Ce manuel est écrit pour les utilisateurs qui font déjà configurer un compte de courrier électronique dans Mozilla Thunderbird et

Plus en détail

Institut Francophone International. Sujet : Études de l approche d ingénierie dirigée par les modèles pour le développement des applications mobiles

Institut Francophone International. Sujet : Études de l approche d ingénierie dirigée par les modèles pour le développement des applications mobiles Institut Francophone International MÉMOIRE DE FIN D ÉTUDES MASTER D INFORMATIQUE Option : Réseaux et Systèmes Communicants Année académique : 2013-2014 Sujet : Études de l approche d ingénierie dirigée

Plus en détail

Control your dog with your Smartphone. USER MANUAL www.pet-remote.com

Control your dog with your Smartphone. USER MANUAL www.pet-remote.com Control your dog with your Smartphone USER MANUAL www.pet-remote.com Pet-Remote Pet Training Pet-Remote offers a new and easy way to communicate with your dog! With the push of a single button on your

Plus en détail

Academic Project. B3 - Architecture. Resit Project. Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA

Academic Project. B3 - Architecture. Resit Project. Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA SUPINFO Academic Dept. Resit Project Academic Project 2012-2013 Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA Conditions d utilisations : SUPINFO International University vous

Plus en détail

Initiative d excellence de l université de Bordeaux. Réunion du Comité stratégique 17-19 décembre 2014. Recommandations

Initiative d excellence de l université de Bordeaux. Réunion du Comité stratégique 17-19 décembre 2014. Recommandations Initiative d excellence de l université de Bordeaux Réunion du Comité stratégique 17-19 décembre 2014 Recommandations 2/1 RECOMMANDATIONS DU COMITE STRATEGIQUE Une feuille de route pour le conseil de gestion

Plus en détail

MANAGEMENT SOFTWARE FOR STEEL CONSTRUCTION

MANAGEMENT SOFTWARE FOR STEEL CONSTRUCTION Ficep Group Company MANAGEMENT SOFTWARE FOR STEEL CONSTRUCTION KEEP ADVANCING " Reach your expectations " ABOUT US For 25 years, Steel Projects has developed software for the steel fabrication industry.

Plus en détail

Fiche d Inscription / Entry Form

Fiche d Inscription / Entry Form Fiche d Inscription / Entry Form (A renvoyer avant le 15 octobre 2014 Deadline octobrer 15th 2014) Film Institutionnel / Corporate Film Film Marketing Produit / Marketing Product film Film Communication

Plus en détail

Semester 1: (September January) Courses in English: Courses in French:

Semester 1: (September January) Courses in English: Courses in French: Semester 1: (September January) Courses in English: ECTS HP Title Unit: Advanced Technology Systems 5 42 Enterprise Architecture and SOA Unit: Enterprise and IS Architecture University Paris 1 Pantheon

Plus en détail

MAGILLEM: environnement de contrôle de flot pour la conception ESL (Electronic System Level)

MAGILLEM: environnement de contrôle de flot pour la conception ESL (Electronic System Level) MAGILLEM: environnement de contrôle de flot pour la conception ESL (Electronic System Level) Atelier «outils pour l IDM» Mardi 27 janvier 2009 ENSEEIHT - Toulouse Moving from traditional flow to ESL (Electronic

Plus en détail

Installation et compilation de gnurbs sous Windows

Installation et compilation de gnurbs sous Windows Installation et compilation de gnurbs sous Windows Installation de l environnement de développement Code::Blocks (Environnement de développement) 1. Télécharger l installateur de Code::Blocks (version

Plus en détail

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform IBM Software Group Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform Thierry Bourrier, Techical Consultant thierry.bourrier@fr.ibm.com L Architecture

Plus en détail

Promotion of bio-methane and its market development through local and regional partnerships. A project under the Intelligent Energy Europe programme

Promotion of bio-methane and its market development through local and regional partnerships. A project under the Intelligent Energy Europe programme Promotion of bio-methane and its market development through local and regional partnerships A project under the Intelligent Energy Europe programme Contract Number: IEE/10/130 Deliverable Reference: W.P.2.1.3

Plus en détail

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de itemis France 2009 All rights reserved 1 Itemis en quelques mots Spécialisé dans l

Plus en détail

IBM Software Group. Modélisation. Rational Software Modeler et Rational Software Architect. 2008 IBM Corporation

IBM Software Group. Modélisation. Rational Software Modeler et Rational Software Architect. 2008 IBM Corporation IBM Software Group Modélisation Rational Software Modeler et Rational Software Architect 2008 IBM Corporation Agenda Présentation de l offre Rational Modélisation UML2 et DSL Automation et MDA Les ateliers

Plus en détail

Générer du code à partir d une description de haut niveau

Générer du code à partir d une description de haut niveau Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,

Plus en détail

Objectif du cours. Outline. Complexité des systèmes modernes. La modélisation et UML dans les activités du Génie Logiciel...

Objectif du cours. Outline. Complexité des systèmes modernes. La modélisation et UML dans les activités du Génie Logiciel... Objectif du cours La modélisation et UML dans les activités du Génie Logiciel... ESIR2, GL (LSI) Benoit Combemale Université de Rennes 1, ESIR & IRISA (Triskell team) Benoit.Combemale@irisa.fr Identifier

Plus en détail

Please find attached a revised amendment letter, extending the contract until 31 st December 2011.

Please find attached a revised amendment letter, extending the contract until 31 st December 2011. Sent: 11 May 2011 10:53 Subject: Please find attached a revised amendment letter, extending the contract until 31 st December 2011. I look forward to receiving two signed copies of this letter. Sent: 10

Plus en détail

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation

Plus en détail

SC 27/WG 5 Normes Privacy

SC 27/WG 5 Normes Privacy SC 27/WG 5 Normes Privacy Club 27001 Toulousain 12/12/2014 Lionel VODZISLAWSKY Chief Information Officer l.vodzislawsky@celtipharm.com PRE-CTPM 141212-Club27001 Toulouse normes WG5_LV L organisation de

Plus en détail

SHAREPOINT PORTAL SERVER 2013

SHAREPOINT PORTAL SERVER 2013 Powered by TCPDF (www.tcpdf.org) SHAREPOINT PORTAL SERVER 2013 Sharepoint portal server 2013 DEVELOPING MICROSOFT SHAREPOINT SERVER 2013 CORE SOLUTIONS Réf: MS20488 Durée : 5 jours (7 heures) OBJECTIFS

Plus en détail

Composants Logiciels. Le modèle de composant de CORBA. Plan

Composants Logiciels. Le modèle de composant de CORBA. Plan Composants Logiciels Christian Pérez Le modèle de composant de CORBA Année 2010-11 1 Plan Un rapide tour d horizon de CORBA 2 Introduction au modèle de composant de CORBA Définition de composants CORBA

Plus en détail

National Director, Engineering and Maintenance East (Montreal, QC)

National Director, Engineering and Maintenance East (Montreal, QC) National Director, Engineering and Maintenance East (Montreal, QC) Reporting to the General Manager, Engineering and Maintenance, you will provide strategic direction on the support and maintenance of

Plus en détail

Optimizing Network Performance in Virtual Machines

Optimizing Network Performance in Virtual Machines Optimizing Network Performance in Virtual Machines THÈSE N O 4267 (2009) PRÉSENTÉE le 27 janvier 2009 À LA FACULTE INFORMATIQUE ET COMMUNICATIONS Laboratoire de systèmes d'exploitation SECTION D'INFORMATIQUE

Plus en détail

Industrialisation des développements Spring dans Eclipse

Industrialisation des développements Spring dans Eclipse C Industrialisation des développements Spring dans Eclipse L objectif de cette annexe est de décrire comment mettre en œuvre une approche dirigée par les modèles afin d industrialiser les développements

Plus en détail

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012 DSL Domain Specific Language À l'aide des technologies Eclipse Modeling Le 23 novembre 2012 Goulwen Le Fur goulwen.lefur@obeo.fr Le but de cette session Montrer : Ce qu'est-un DSL/DSM Comment implémenter

Plus en détail

Règlement sur le télémarketing et les centres d'appel. Call Centres Telemarketing Sales Regulation

Règlement sur le télémarketing et les centres d'appel. Call Centres Telemarketing Sales Regulation THE CONSUMER PROTECTION ACT (C.C.S.M. c. C200) Call Centres Telemarketing Sales Regulation LOI SUR LA PROTECTION DU CONSOMMATEUR (c. C200 de la C.P.L.M.) Règlement sur le télémarketing et les centres d'appel

Plus en détail

Ingénierie et gestion des connaissances

Ingénierie et gestion des connaissances Master Web Intelligence ICM Option Informatique Ingénierie et gestion des connaissances Philippe BEAUNE Philippe.Beaune@emse.fr 18 novembre 2008 Passer en revue quelques idées fondatrices de l ingénierie

Plus en détail

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com Fabrice GRELIER fabrice.grelier@fr.ibm.com RATIONAL en SCÈNE 2007 IBM Corporation Objectif

Plus en détail

Object Oriented Parallel Discrete Event Simulation: The PROSIT Approach

Object Oriented Parallel Discrete Event Simulation: The PROSIT Approach INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET AUTOMATIQUE Object Oriented Parallel Discrete Event Simulation: The PROSIT Approach Lionel Mallet and Philippe Mussi N 2232 Avril 1994 PROGRAMME 1 Architectures

Plus en détail

Once the installation is complete, you can delete the temporary Zip files..

Once the installation is complete, you can delete the temporary Zip files.. Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une

Plus en détail

France SMS+ MT Premium Description

France SMS+ MT Premium Description France SMS+ MT Premium Description Summary Subscription : kinematics Subscription via SMS (Kinematic + messages) Subscription via Wap (Kinematic + messages) Subscription via Mix SMS / WAP Subscription

Plus en détail

NOTICE D UTILISATION Option USB 2-Ports USB FRANCAIS

NOTICE D UTILISATION Option USB 2-Ports USB FRANCAIS NOTICE D UTILISATION Option USB 2-Ports USB FRANCAIS Introduction Ce supplément vous informe de l utilisation de la fonction USB qui a été installée sur votre table de mixage. Disponible avec 2 ports USB

Plus en détail

Read Me First: Guide to Sun HPC ClusterTools 3.1 Documentation

Read Me First: Guide to Sun HPC ClusterTools 3.1 Documentation Read Me First: Guide to Sun HPC ClusterTools 3.1 Documentation Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 USA 650 960-1300 Fax 650 969-9131 Part No. 806-3729-10 March 2000, Revision

Plus en détail

Java Aspect Components (JAC) http://jac.objectweb.org

Java Aspect Components (JAC) http://jac.objectweb.org Java Aspect Components (JAC) JAC http://jac.objectweb.org 2 Lionel Seinturier Lionel.Seinturier@lip6.fr Université Pierre & Marie Curie 23/2/06 Un framework de programmation par aspect pour Java Projet

Plus en détail

Le passé composé. C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past!

Le passé composé. C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past! > Le passé composé le passé composé C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past! «Je suis vieux maintenant, et ma femme est vieille aussi. Nous n'avons pas eu d'enfants.

Plus en détail

How to Deposit into Your PlayOLG Account

How to Deposit into Your PlayOLG Account How to Deposit into Your PlayOLG Account Option 1: Deposit with INTERAC Online Option 2: Deposit with a credit card Le texte français suit l'anglais. When you want to purchase lottery products or play

Plus en détail

Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France

Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France Conférence IDC Gouvernance IT - Paris 6 Avril 2011 Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France 2011 IBM Corporation Quels sont les ingrédients

Plus en détail

NCTS INFORMATION QUANT AUX NOUVEAUTES POUR 2010

NCTS INFORMATION QUANT AUX NOUVEAUTES POUR 2010 NCTS INFORMATION QUANT AUX NOUVEAUTES POUR 2010 Sur pied des nouveaux articles 365, paragraphe 4 (NCTS) et 455bis, paragraphe 4 (NCTS-TIR) du Code Communautaire d'application 1, le principal obligé doit

Plus en détail

AccessLearn Community Group: Introductory Survey. Groupe communautaire AccessLearn : étude introductive. Introduction.

AccessLearn Community Group: Introductory Survey. Groupe communautaire AccessLearn : étude introductive. Introduction. AccessLearn Community Group: Introductory Survey Introduction The W3C Accessible Online Learning Community Group (aka AccessLearn) is a place to discuss issues relating to accessibility and online learning,

Plus en détail

Stratégie DataCenters Société Générale Enjeux, objectifs et rôle d un partenaire comme Data4

Stratégie DataCenters Société Générale Enjeux, objectifs et rôle d un partenaire comme Data4 Stratégie DataCenters Société Générale Enjeux, objectifs et rôle d un partenaire comme Data4 Stéphane MARCHINI Responsable Global des services DataCenters Espace Grande Arche Paris La Défense SG figures

Plus en détail

Tutoriel de formation SurveyMonkey

Tutoriel de formation SurveyMonkey Tutoriel de formation SurveyMonkey SurveyMonkey est un service de sondage en ligne. SurveyMonkey vous permet de créer vos sondages rapidement et facilement. SurveyMonkey est disponible à l adresse suivante

Plus en détail

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces Micro-ordinateurs, informations, idées, trucs et astuces Utiliser une WebCam Auteur : François CHAUSSON Date : 8 février 2008 Référence : utiliser une WebCam.doc Préambule Voici quelques informations utiles

Plus en détail

Accès au support technique produits et licences par le portail client MGL de M2Msoft.com. Version 2010. Manuel Utilisateur

Accès au support technique produits et licences par le portail client MGL de M2Msoft.com. Version 2010. Manuel Utilisateur Accès au support technique produits et licences par le portail client MGL de M2Msoft.com Version 2010 Manuel Utilisateur Access to M2Msoft customer support portal, mgl.m2msoft.com, 2010 release. User manual

Plus en détail

How to be a global leader in innovation?

How to be a global leader in innovation? How to be a global leader in innovation? 2014-03-17 / Rybinsk Marc Sorel Safran Country delegate /01/ Innovation : a leverage to create value 1 / 2014-01-30/ Moscou / Kondratieff A REAL NEED FOR INNOVATION

Plus en détail

RAPID 3.34 - Prenez le contrôle sur vos données

RAPID 3.34 - Prenez le contrôle sur vos données RAPID 3.34 - Prenez le contrôle sur vos données Parmi les fonctions les plus demandées par nos utilisateurs, la navigation au clavier et la possibilité de disposer de champs supplémentaires arrivent aux

Plus en détail

Tier 1 / Tier 2 relations: Are the roles changing?

Tier 1 / Tier 2 relations: Are the roles changing? Tier 1 / Tier 2 relations: Are the roles changing? Alexandre Loire A.L.F.A Project Manager July, 5th 2007 1. Changes to roles in customer/supplier relations a - Distribution Channels Activities End customer

Plus en détail

Cours de Programmation Orientée Objet

Cours de Programmation Orientée Objet Contrat et application à la librairie standard JAVA mailto:marc.champesme@lipn.univ-paris13.fr 6 février 2011 1 Qu est ce qu une classe? Un exemple en JAVA Résumé Expression du contrat Par des commentaires

Plus en détail

Métamodèles, architecture et réingénierie

Métamodèles, architecture et réingénierie Métamodèles, architecture et réingénierie Damien Pollet Séminaire D OC LIRMM, 9 février 2007 Plan Passé (plus ou moins proche : DEA, thèse) Présent (un peu passé : post-doc) papier état de l art : reconstruction

Plus en détail

Township of Russell: Recreation Master Plan Canton de Russell: Plan directeur de loisirs

Township of Russell: Recreation Master Plan Canton de Russell: Plan directeur de loisirs Township of Russell: Recreation Master Plan Canton de Russell: Plan directeur de loisirs Project Introduction and Stakeholder Consultation Introduction du projet et consultations publiques Agenda/Aperçu

Plus en détail

Préconisations pour une gouvernance efficace de la Manche. Pathways for effective governance of the English Channel

Préconisations pour une gouvernance efficace de la Manche. Pathways for effective governance of the English Channel Préconisations pour une gouvernance efficace de la Manche Pathways for effective governance of the English Channel Prochaines étapes vers une gouvernance efficace de la Manche Next steps for effective

Plus en détail

The new consumables catalogue from Medisoft is now updated. Please discover this full overview of all our consumables available to you.

The new consumables catalogue from Medisoft is now updated. Please discover this full overview of all our consumables available to you. General information 120426_CCD_EN_FR Dear Partner, The new consumables catalogue from Medisoft is now updated. Please discover this full overview of all our consumables available to you. To assist navigation

Plus en détail

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00 Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00 HFFv2 1. OBJET L accroissement de la taille de code sur la version 2.0.00 a nécessité une évolution du mapping de la flash. La conséquence de ce

Plus en détail

Exemple PLS avec SAS

Exemple PLS avec SAS Exemple PLS avec SAS This example, from Umetrics (1995), demonstrates different ways to examine a PLS model. The data come from the field of drug discovery. New drugs are developed from chemicals that

Plus en détail

Institut français des sciences et technologies des transports, de l aménagement

Institut français des sciences et technologies des transports, de l aménagement Institut français des sciences et technologies des transports, de l aménagement et des réseaux Session 3 Big Data and IT in Transport: Applications, Implications, Limitations Jacques Ehrlich/IFSTTAR h/ifsttar

Plus en détail

Formation en conduite et gestion de projets. Renforcer les capacités des syndicats en Europe

Formation en conduite et gestion de projets. Renforcer les capacités des syndicats en Europe Formation en conduite et gestion de projets Renforcer les capacités des syndicats en Europe Pourquoi la gestion de projets? Le département Formation de l Institut syndical européen (ETUI, European Trade

Plus en détail

Qualité et ERP CLOUD & SECURITY (HACKING) Alireza MOKHTARI. 9/12/2014 Cloud & Security

Qualité et ERP CLOUD & SECURITY (HACKING) Alireza MOKHTARI. 9/12/2014 Cloud & Security Qualité et ERP CLOUD & SECURITY (HACKING) Alireza MOKHTARI 9/12/2014 Cloud & Security Sommaire Rappel court de Cloud Pour quoi cette sujet est important? Données sensibles dans le Cloud Les risques Top

Plus en détail

PLM 2.0 : Mise à niveau et introduction à l'offre version 6 de Dassault systèmes

PLM 2.0 : Mise à niveau et introduction à l'offre version 6 de Dassault systèmes IBM Software Group 2008 IBM Corporation and Dassault Systèmes PLM 2.0 : Mise à niveau et introduction à l'offre version 6 de Dassault systèmes 2009 2007 IBM Corporation 2 PLM : de l historique 2D-3D à

Plus en détail

Profiles UML et langage J : Contrôlez totalement le développement d applications avec UML

Profiles UML et langage J : Contrôlez totalement le développement d applications avec UML White Paper UML Profile Builder Softeam 1999 Page 1/12 Profiles UML et langage J : Contrôlez totalement le développement d applications avec UML White Paper Softeam 1999 Le profile UML est conçu pour structurer

Plus en détail

Projet Datalift : retour d expérience sur les standards

Projet Datalift : retour d expérience sur les standards ign.fr Les outils du web Sémantique comme supports des données et métadonnées géographiques Projet Datalift : retour d expérience sur les standards Forum Décryptagéo Marne La Vallée 8 avril 2014 Bénédicte

Plus en détail

Etat de l art sur le développement logiciel dirigé par les modèles.

Etat de l art sur le développement logiciel dirigé par les modèles. Etat de l art sur le développement logiciel dirigé par les modèles. Samba Diaw* Rédouane Lbath* Bernard Coulette* * Université de Toulouse Laboratoire IRIT Université de Toulouse 2-Le Mirail 5, allées

Plus en détail

PRODUCTS LIST (updated 11th January 2010)

PRODUCTS LIST (updated 11th January 2010) PRODUCTS LIST (updated 11th January 2010) OPERATING SYSTEMS SUN SOLARIS 10, 9, 10 B OP Application and database servers Red Hat Enterprise Linux Server 4.x and 5.x B OP Single Application Host Windows

Plus en détail

FOUNDATIONS OF SYSTEMS AND PROPERTIES: METHODOLOGICAL SUPPORT FOR MODELING PROPERTIES OF SOFTWARE-INTENSIVE SYSTEMS

FOUNDATIONS OF SYSTEMS AND PROPERTIES: METHODOLOGICAL SUPPORT FOR MODELING PROPERTIES OF SOFTWARE-INTENSIVE SYSTEMS FOUNDATIONS OF SYSTEMS AND PROPERTIES: METHODOLOGICAL SUPPORT FOR MODELING PROPERTIES OF SOFTWARE-INTENSIVE SYSTEMS THÈSE N O 3013 (2004) PRÉSENTÉE À LA FACULTÉ INFORMATIQUE ET COMMUNICATIONS Institut

Plus en détail

Food for thought paper by the Coordinator on Reporting 1 PrepCom 3rd Review Conference 6 décembre 2013

Food for thought paper by the Coordinator on Reporting 1 PrepCom 3rd Review Conference 6 décembre 2013 Food for thought paper by the Coordinator on Reporting 1 PrepCom 3rd Review Conference 6 décembre 2013 (slide 1) Mr President, Reporting and exchange of information have always been a cornerstone of the

Plus en détail

How to Login to Career Page

How to Login to Career Page How to Login to Career Page BASF Canada July 2013 To view this instruction manual in French, please scroll down to page 16 1 Job Postings How to Login/Create your Profile/Sign Up for Job Posting Notifications

Plus en détail

ADHEFILM : tronçonnage. ADHEFILM : cutting off. ADHECAL : fabrication. ADHECAL : manufacturing.

ADHEFILM : tronçonnage. ADHEFILM : cutting off. ADHECAL : fabrication. ADHECAL : manufacturing. LA MAÎTRISE D UN MÉTIER Depuis plus de 20 ans, ADHETEC construit sa réputation sur la qualité de ses films adhésifs. Par la maîtrise de notre métier, nous apportons à vos applications la force d une offre

Plus en détail

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne Online Applications Tutorial 1/4 Pour postuler aux Appels d Offres de l ENP, vous devez aller sur la plateforme : calls.parisneuroscience.fr.

Plus en détail

Contrôle d'accès Access control. Notice technique / Technical Manual

Contrôle d'accès Access control. Notice technique / Technical Manual p.1/18 Contrôle d'accès Access control INFX V2-AI Notice technique / Technical Manual p.2/18 Sommaire / Contents Remerciements... 3 Informations et recommandations... 4 Caractéristiques techniques... 5

Plus en détail

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on ONTARIO Court File Number at (Name of court) Court office address Applicant(s) (In most cases, the applicant will be a children s aid society.) Full legal name & address for service street & number, municipality,

Plus en détail

Deadline(s): Assignment: in week 8 of block C Exam: in week 7 (oral exam) and in the exam week (written exam) of block D

Deadline(s): Assignment: in week 8 of block C Exam: in week 7 (oral exam) and in the exam week (written exam) of block D ICM STUDENT MANUAL French 2 JIC-FRE2.2V-12 Module Change Management and Media Research Study Year 2 1. Course overview Books: Français.com, niveau intermédiaire, livre d élève+ dvd- rom, 2ième édition,

Plus en détail

Valorisez vos actifs logiciels avec Rational Asset Manager. Jean-Michel Athané, Certified IT Specialist IBM Rational Software

Valorisez vos actifs logiciels avec Rational Asset Manager. Jean-Michel Athané, Certified IT Specialist IBM Rational Software Valorisez vos actifs logiciels avec Rational Asset Manager Jean-Michel Athané, Certified IT Specialist IBM Rational Software 13 Qu est-ce qu un actif logiciel (Software Asset)? Un asset est une collection

Plus en détail

Optimiser votre reporting sans déployer BW

Optimiser votre reporting sans déployer BW Optimiser votre reporting sans déployer BW Exploiter nos données opérationnelles Peut-on faire du reporting directement sur ECC sans datawarehouse? Agenda La suite BusinessObjects intégrée à ECC 3 scénarios

Plus en détail

Animation de la démarche Santé et Sécurité au Travail pour Les Crudettes SAS

Animation de la démarche Santé et Sécurité au Travail pour Les Crudettes SAS MINISTERE DE L AGRICULTURE LES CRUDETTES SAS www.lescrudettes.com MÉMOIRE DE FIN D ÉTUDES présenté pour l obtention du diplôme d ingénieur agronome spécialisation : Agro-alimentaire option : QUALI-RISQUES

Plus en détail