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.

Métamodéliser avec Eclipse Modeling Framework

Métamodéliser avec Eclipse Modeling Framework Benoit Combemale benoit.combemale@irisa.fr Université de Rennes 1 Équipe Triskell (IRISA & INRIA) http://perso.univ-rennes1.fr/benoit.combemale/ Année universitaire 2009 2010 INSA de Rennes Remerciement

Plus en détail

Métamodéliser avec Eclipse Modeling Framework

Métamodéliser avec Eclipse Modeling Framework Génie Logiciel & Ingénierie Des Modèles mosser@polytech.unice.fr Université de Nice Sophia Antipolis Équipe Modalis, Laboratoire I3S, CNRS http://rainbow.i3s.unice.fr/~mosser Année universitaire 2009 2010

Plus en détail

Méthodes de Développement Industriel (MDI)

Méthodes de Développement Industriel (MDI) Méthodes de Développement Industriel (MDI) Mathieu Acher h"p://www.mathieuacher.com Associate Professor University of Rennes 1 Précédemment dans MDI 2 3 PDL en pratique? Analyse Concep9on Réalisa9on Valida9on

Plus en détail

Ingénierie Dirigée par les Modèles IDM

Ingénierie Dirigée par les Modèles IDM Ingénierie Dirigée par les Modèles Pierre Laforcade Master EIAH 2007 Présentation personnelle Statut Enseignements Lieu : IUT de Laval Matières : modélisation objet en UML, programmation objet, JavaEE/EJB,...

Plus en détail

Méthodologie de Développement Objet

Méthodologie de Développement Objet 1/47 Méthodologie de Développement Objet Troisième partie : Ingénierie des Modèles Christine Solnon INSA de Lyon - 4IF 2014-2015 2/47 Introduction Automatiser la production de logiciels? Saint Graal du

Plus en détail

Software Design Description

Software Design Description Software Design Description ABSTRACT: KEYWORDS: APPROVED: AUTHOR PROJECT MANAGER PRODUCT OWNER General information/recommendations A SDD provides a representation of a software system created to facilitate

Plus en détail

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

Rational Team Concert

Rational Team Concert Une gestion de projet agile avec Rational Team Concert Samira Bataouche Consultante, IBM Rational France 1 SCRUM en Bref Events Artifacts Development Team Source: Scrum Handbook 06 Décembre 2012 Agilité?

Plus en détail

Ingénierie des Modèles. Transformations de Modèles

Ingénierie des Modèles. Transformations de Modèles Ingénierie des Modèles Transformations de Modèles Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan Types de transformation Raffinement Projection

Plus en détail

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 MDA : Un Tutoriel Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 1 Sommaire Table des matières 1 Sommaire 1 2 Introduction 2 2.1 A qui s adresse ce tutoriel......................

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

Concepts et langages du cadre RM-ODP de l'iso pour analyser et articuler les pratiques de projets libres de système de formation

Concepts et langages du cadre RM-ODP de l'iso pour analyser et articuler les pratiques de projets libres de système de formation Concepts et langages du cadre RM-ODP de l'iso pour analyser et articuler les pratiques de projets libres de système de formation Système de formation fédérant trois projets du logiciel libre (Moodle, OpenGLM

Plus en détail

Smile Mobile Dashboard

Smile Mobile Dashboard Smile Mobile Dashboard 1. Magento Extension The iphone and Android applications require access to data from your Magento store. This data is provided through an extension, available on Magento Connect

Plus en détail

XText. Un langage spécifique à la description de graphe

XText. Un langage spécifique à la description de graphe XText - Un langage spécifique à la description de graphe Laboratoire d'analyse et d'architecture des Systèmes XText Un langage spécifique à la description de graphe Résumé: Un langage de description de

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

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énérateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB

Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB AUTOMGEN 8.009 Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB version 2 : support de sources vidéo, support 3D, support de l ensemble des objets IRIS 2D WEB

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

Définition de syntaxes concrètes graphiques

Définition de syntaxes concrètes graphiques UTM M2 ICE INGÉNIERIE DIRIGÉE PAR LES MODÈLES BE 4 mai 2012 À l instar d une syntaxe concrète textuelle, une syntaxe concrète graphique fournit un moyen de pouvoir visualiser et/ou éditer plus agréablement

Plus en détail

Ingénierie des Modèles. Introduction Générale

Ingénierie des Modèles. Introduction Générale Ingénierie des Modèles Introduction Générale 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

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

Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming

Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming THÈSE N O 5007 (2011) PRÉSENTÉE le 20 mai 2011 À LA FACULTÉ INFORMATIQUE ET COMMUNICATIONS LABORATOIRE DE MÉTHODES DE PROGRAMMATION

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

Experiences TCM QUALITY MARK. Project management Management systems ISO 9001 ISO 14001 ISO 22000

Experiences TCM QUALITY MARK. Project management Management systems ISO 9001 ISO 14001 ISO 22000 TCM QUALITY MARK Jean-Marc Bachelet Tocema Europe workshop 4 Project management Management systems ISO 9001 ISO 14001 ISO 22000 + lead auditors for certification bodies Experiences Private and state companies,

Plus en détail

Représentation graphique de scénarios pédagogiques abstraits : expérimentation entre IMS-LD et UML

Représentation graphique de scénarios pédagogiques abstraits : expérimentation entre IMS-LD et UML Session 3. Système de production et de gestion de contenu Représentation graphique de scénarios pédagogiques abstraits : expérimentation entre IMS-LD et UML Pierre Laforcade MCF 27 pierre.laforcade@lium.univ-lemans.fr

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

Assoumta Djimrangaye Coordonnatrice de soutien au développement des affaires Business development support coordinator

Assoumta Djimrangaye Coordonnatrice de soutien au développement des affaires Business development support coordinator 2008-01-28 From: [] Sent: Monday, January 21, 2008 6:58 AM To: Web Administrator BCUC:EX Cc: 'Jean Paquin' Subject: RE: Request for Late Intervenorship - BCHydro Standing Offer C22-1 Dear Bonnie, Please

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

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

ADQ IR Implementation

ADQ IR Implementation ADQ IR Implementation DSNA experience Direction Générale de l Aviation Civile CONTENTS DSNA considerations ADQ objectives The context : a coordinated approach DSNA approach to ADQ implementation The pillars

Plus en détail

GREDOR Gestion des Réseaux Electriques de Distribution Ouverts aux Renouvelables. Presentation and snapshot of achieved work

GREDOR Gestion des Réseaux Electriques de Distribution Ouverts aux Renouvelables. Presentation and snapshot of achieved work GREDOR Gestion des Réseaux Electriques de Distribution Ouverts aux Renouvelables Presentation and snapshot of achieved work FLEXIPAC meeting Bertrand Cornélusse, University of Liège December 2014 1 P L

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

Utilisation de la brique LEGO EV3 avec Automgen. Using EV3 brick with Automgen (C)2014 IRAI. Lego EV3, Automgen

Utilisation de la brique LEGO EV3 avec Automgen. Using EV3 brick with Automgen (C)2014 IRAI. Lego EV3, Automgen Utilisation de la brique LEGO EV3 avec Automgen Using EV3 brick with Automgen (C)2014 IRAI 1 Ce manuel décrit l'utilisation de la brique LEGO Ev3 avec Automgen. This manual describes the use of EV3 LEGO

Plus en détail

Introduction. Règlement général des TPs - Rappel. Objectifs du cours. Génie logiciel. Génie logiciel

Introduction. Règlement général des TPs - Rappel. Objectifs du cours. Génie logiciel. Génie logiciel Introduction Génie logiciel Philippe Dugerdil Génie logiciel «The disciplined application of engineering, scientific and mathematical principles, methods and tools to the economical production of quality

Plus en détail

CONTRAT D ETUDES - LEARNING AGREEMENT

CONTRAT D ETUDES - LEARNING AGREEMENT CONTRAT D ETUDES - LEARNING AGREEMENT Règles générales La présence aux séances d enseignement des modules choisis est obligatoire. Chaque module comporte des séances de travail encadrées et non encadrées

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

Un outil de modélisation de la variabilité intégré à un environnement multi-vues

Un outil de modélisation de la variabilité intégré à un environnement multi-vues Un outil de modélisation de la variabilité intégré à un environnement multi-vues Date /Référence Journée Transformations de modèles et outillage de l IDM 7 novembre 2011 Olivier Barais (INRIA, Triskell)

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon MDE Model Driven Engineering http://www.rzo.free.fr Pierre PARREND 1 Mai 2005 Sommaire MDE : principe MDE et le génie logiciel MDE et UML MDE et les Design Patterns

Plus en détail

Architects Community. Augmenter la productivité de vos développements JEE grâce à l approche orientée modèles DSM. Bertrand Florat Architecte JEE

Architects Community. Augmenter la productivité de vos développements JEE grâce à l approche orientée modèles DSM. Bertrand Florat Architecte JEE Architects Community Augmenter la productivité de vos développements JEE grâce à l approche orientée modèles DSM Bertrand Florat Architecte JEE 29 janvier 2008 Déroulement de la discussion L inertie du

Plus en détail

Modélisation: outillage et intégration

Modélisation: outillage et intégration Modélisation: outillage et intégration Emmanuel Gaudin emmanuel.gaudin@pragmadev.com Un réel besoin Le logiciel double tous les deux ans. Le volume final rend extrêmement difficile de garantir le niveau

Plus en détail

IEEE Learning Technology Standards Committee Comité des Normes en Technologies d Apprentissage de l IEEE

IEEE Learning Technology Standards Committee Comité des Normes en Technologies d Apprentissage de l IEEE IEEE Learning Technology Standards Committee Comité des Normes en Technologies d Apprentissage de l IEEE Robby Robson Chair, LTSC Président, LTSC rrobson@eduworks.com 19 March, 2003 What is the LTSC? Le

Plus en détail

Date: 09/11/15 www.crmconsult.com Version: 2.0

Date: 09/11/15 www.crmconsult.com Version: 2.0 Date: 9/11/2015 contact@crmconsult.fr Page 1 / 10 Table des matières 1 SUGARPSHOP : SCHEMA... 3 2 PRESENTATION... 4 3 SHOPFORCE WITH SCREENSHOTS... 5 3.1 CLIENTS... 5 3.2 ORDERS... 6 4 INSTALLATION...

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

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

- 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

Florida International University. Department of Modern Languages. FRENCH I Summer A Term 2014 FRE 1130 - U01A

Florida International University. Department of Modern Languages. FRENCH I Summer A Term 2014 FRE 1130 - U01A Florida International University Department of Modern Languages FRENCH I Summer A Term 2014 FRE 1130 - U01A Class time: Monday, Tuesday, Wednesday, Thursday; 6:20 P.M. - 9:00 P.M. Instructors: Prof. Jean-Robert

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

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

Audio and Web Conferencing services. Orange Business Services. Web Conferencing

Audio and Web Conferencing services. Orange Business Services. Web Conferencing Audio and Web Conferencing services Orange Business Services Web Conferencing web conferencing completely integrated audio and web services conference availability 24hrs/7days up to 100 participants complete

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

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

Les licences Creative Commons expliquées aux élèves

Les licences Creative Commons expliquées aux élèves Les licences Creative Commons expliquées aux élèves Source du document : http://framablog.org/index.php/post/2008/03/11/education-b2i-creative-commons Diapo 1 Creative Commons presents : Sharing Creative

Plus en détail

How to? / Flash the ATMEGA32

How to? / Flash the ATMEGA32 How to? / Flash the ATMEGA32 Français La programmation du microcontrôleur n est pas très compliquée mais elle nécessite un minimum d attention. Elle peut se faire directement sur la platine du Monome grâce

Plus en détail

Conception de Logiciel

Conception de Logiciel Conception de Logiciel avec les Design Patterns et UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I Campus de Beaulieu F-35042 Rennes Cedex Tel : +33 299 847 192 Fax : +33

Plus en détail

Eclipse Modeling Tools

Eclipse Modeling Tools Laboratoire d'analyse et d'architecture des Systèmes Eclipse Modeling Tools Génération d'un éditeur graphique Résumé: Un éditeur graphique est généré à partir d'un méta modèle «Ecore». La représentation

Plus en détail

Appendix C CRITERIA FOR A PROFESSIONAL GROWTH PLAN SUPERVISION OF PROFESSIONAL STAFF: TEACHER EVALUATION GCNA

Appendix C CRITERIA FOR A PROFESSIONAL GROWTH PLAN SUPERVISION OF PROFESSIONAL STAFF: TEACHER EVALUATION GCNA SUPERVISION OF PROFESSIONAL STAFF: TEACHER EVALUATION Appendix C CRITERIA FOR A PROFESSIONAL GROWTH PLAN A Professional Growth Plan is a written statement describing a teacher s intended focus for professional

Plus en détail

GREDOR Gestion des Réseaux Electriques de Distribution Ouverts aux Renouvelables

GREDOR Gestion des Réseaux Electriques de Distribution Ouverts aux Renouvelables GREDOR Gestion des Réseaux Electriques de Distribution Ouverts aux Renouvelables Can operational planning decrease distribution costs? - La gestion prévisionnelle pour diminuer les coûts de distribution?

Plus en détail

COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE

COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE COMPILING SCALA FOR THE JAVA VIRTUAL MACHINE THÈSE N O 3302 (2005) PRÉSENTÉE À LA FACULTÉ INFORMATIQUE ET COMMUNICATIONS Institut d'informatique fondamentale SECTION D'INFORMATIQUE ÉCOLE POLYTECHNIQUE

Plus en détail

Model-Based Testing dans l'industrie Usages et dissémination Bruno Legeard

Model-Based Testing dans l'industrie Usages et dissémination Bruno Legeard Model-Based Testing dans l'industrie Usages et dissémination Bruno Legeard Séminaire Test & Méthodes formelles LAAS-CNRS Toulouse 16 juin 2015 400 000 Testeurs certifiés 2 Les multiples facettes du MBT

Plus en détail

Gestion de la configuration et contrôle du code source

Gestion de la configuration et contrôle du code source MGL7460 Automne 2015 Gestion de la configuration et contrôle du code source Guy Tremblay Professeur Département d informatique UQAM http://www.labunix.uqam.ca/~tremblay 10 septembre 2015 Parmi les premières

Plus en détail

C est quoi, Facebook?

C est quoi, Facebook? C est quoi, Facebook? Si tu as plus de 13 ans, tu fais peut-être partie des 750 millions de personnes dans le monde qui ont un compte Facebook? Et si tu es plus jeune, tu as dû entendre parler autour de

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

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

Registry. Pierre Le Sidaner Observatoire de Paris. Hackathon ASOV septembre 2015 1

Registry. Pierre Le Sidaner Observatoire de Paris. Hackathon ASOV septembre 2015 1 Registry Pierre Le Sidaner Observatoire de Paris Hackathon ASOV septembre 2015 1 Demain Le panorama change car l'interface des registries change. Dans le futur un nouveau service au STSCI et à l'esac mais

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

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

Phrases au Subjonctif Answers for teachers

Phrases au Subjonctif Answers for teachers Phrases au Subjonctif Answers for teachers These instructions should accompany the OCR resource Phrases au subjonctif activity which supports OCR A Level Modern Foreign Languages: French The Activity:

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

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

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

Remote Control Library Librairie Remote Control

Remote Control Library Librairie Remote Control Remote Control Library Librairie Remote Control Installation File, Fichier : REMOTEVPU.EXE After installation Après installation In the toolbox : Dans la boite à outils : Files Added, Files Ajoutés : C:\API32\Modules\

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

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

IDM - Graphical Modeling Framework

IDM - Graphical Modeling Framework IDM - Graphical Modeling Framework Youssef RIDENE Objectif du TD Serveur.ecore). Définir un éditeur graphique (DSM : Domain Specific Modeler) pour le méta-modèle vu en TD (ClientProxy- Utiliser la version

Plus en détail

La plate-forme DotNet dans le contexte du MDA

La plate-forme DotNet dans le contexte du MDA La plate-forme DotNet dans le contexte du MDA Jean Bézivin Université de Nantes CRGNA Centre de Recherche en Gestion de Nantes-Atlantique Faculté des Sciences et Techniques 2, rue de la Houssinière BP

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

Plus en détail

CHAPITRE 1 NOM DATE 1 UNE AMIE ET UN AMI. 1 - Mélanie Boucher Here is a picture of Mélanie Boucher. Write a story about her.

CHAPITRE 1 NOM DATE 1 UNE AMIE ET UN AMI. 1 - Mélanie Boucher Here is a picture of Mélanie Boucher. Write a story about her. CHAPITRE 1 NOM DATE 1 UNE AMIE ET UN AMI VOCABULAIRE Mots 1 1 - Mélanie Boucher Here is a picture of Mélanie Boucher. Write a story about her. You may want to use some of the following words Paris petite

Plus en détail

MPLS, GMPLS et NGN. Sécurité MPLS. Jacques BAUDRON ixtel octobre 2009 jacques.baudron@ixtel.fr. Ingénierie Conseils Services Télécommunications

MPLS, GMPLS et NGN. Sécurité MPLS. Jacques BAUDRON ixtel octobre 2009 jacques.baudron@ixtel.fr. Ingénierie Conseils Services Télécommunications MPLS, GMPLS et NGN Sécurité MPLS Jacques BAUDRON ixtel octobre 2009 jacques.baudron@ixtel.fr 1 Contents Treats Requirements VPN Attacks & defence 3 8 14 19 2 3 Threats Threats Denial of service Resources

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

Web search. Course Organization. 4 July 2011. 1 / 7 Pierre Senellart Licence de droits d usage

Web search. Course Organization. 4 July 2011. 1 / 7 Pierre Senellart Licence de droits d usage Web search Course Organization 1 / 7 Pierre Senellart Course scope Introduction to the technologies of Web search engines Prerequisites: basic math and computer science Labs prerequisites: Java programming

Plus en détail

Vers une formalisation du métamodèle de composants Ugatze

Vers une formalisation du métamodèle de composants Ugatze Vers une formalisation du métamodèle de composants Ugatze Mourad Kmimech I,III, Mohamed Tahar Bhiri II, Philippe Aniorté I, Abdelmajid Ben Hamadou III I LIUPPA, IUT de Bayonne - Département Informatique

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

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

IPv6. Internet Control Message Protocol ICMPv6. Objectif: Comparer ICMPv4 avec ICMPv6

IPv6. Internet Control Message Protocol ICMPv6. Objectif: Comparer ICMPv4 avec ICMPv6 IPv6 Internet Control Message Protocol ICMPv6 Objectif: Comparer ICMPv4 avec ICMPv6 v.1b IPv6 Théorie et Pratique & Microsoft Introduction to IPv6 1 ICMPv6 (RFC 2463) Trois fonctions déjà présentes en

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

Haslingden High School French Y8 Block C Set 1 HOMEWORK BOOKLET

Haslingden High School French Y8 Block C Set 1 HOMEWORK BOOKLET Haslingden High School French Y8 Block C Set 1 HOMEWORK BOOKLET Name: Form: Subject Teacher: Date Given: Date to Hand in: Level: Effort: House Points: Comment: Target: Parent / Guardian Comment: Complete

Plus en détail

Configuration de l'usurpation IP sur le Cache Engine dans une installation transparente avec commutateur de services de contenu

Configuration de l'usurpation IP sur le Cache Engine dans une installation transparente avec commutateur de services de contenu Configuration de l'usurpation IP sur le Cache Engine dans une installation transparente avec commutateur de services de contenu Contenu Introduction Avant de commencer Conventions Conditions préalables

Plus en détail

French 2208A. French for Healthcare Le français de la santé

French 2208A. French for Healthcare Le français de la santé French 2208A French for Healthcare Le français de la santé Professeur : Heures de bureau : Iryna Punko disponible tous les jours par courriel, sauf le week-end. Préalable - Fr 1900 E ou Fr 1910, ou permission

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

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

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

openoffice 40 manual

openoffice 40 manual openoffice 40 manual Print and Online Should you be particular with knowing everything concerning this openoffice 40 manual, you have to look for these details. OPENOFFICE 40 MANUAL Here are one of the

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

Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005

Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005 Examen CAR 2 Heures Tout documents autorisés le 17 Novembre 2005 Rappel : Tout méta-modèle ou profil doit être commenté! 1 Question de compréhension du cours barème indicatif : 5 points Q : Lorsque l on

Plus en détail

Diagrammes de classe UML

Diagrammes de classe UML labsticc.univ-brest.fr/pages_perso/babau/ Diagrammes de classe UML Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Introduction aux diagrammes de classe Description

Plus en détail

A software engineering workbench for modelling groupware activities

A software engineering workbench for modelling groupware activities TAsk MOdels and DIAgrams for User interface Design A software engineering workbench for modelling groupware activities Emmanuel ADAM, Christophe KOLSKI, René MANDIAU, Emmanuel VERGISON Thursday, June 26th

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

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