Presentation is loading. Please wait.

Presentation is loading. Please wait.

Integrated application of eODL 1 J.Fischer Integrated application of eODL Workshop Integrated application of eODL Geneva, 13 September 2003 Harald Böhme,

Similar presentations


Presentation on theme: "Integrated application of eODL 1 J.Fischer Integrated application of eODL Workshop Integrated application of eODL Geneva, 13 September 2003 Harald Böhme,"— Presentation transcript:

1 Integrated application of eODL 1 J.Fischer Integrated application of eODL Workshop Integrated application of eODL Geneva, 13 September 2003 Harald Böhme, boehme@informatik.hu-berlin.de J.Fischer

2 Integrated application of eODL 2 J.Fischer Outline eODL – a simple language model views for the development components eODL is technology independent representation forms of eODL component development integration of legacy components

3 Integrated application of eODL 3 J.Fischer Applications with eODL eODL talk about COs, assemblies, nodes and links COs provides some functionalities collections and interconnections are called assemblies –structure of the system nodes and links –structure of target environment deployment –assignment

4 Integrated application of eODL 4 J.Fischer supporting the development of software components for -existing and -coming-up component platforms in combination with other techniques for modelling the components from different views: -computational, Mapping: eODL  SDL -implementation, -deployment technology independent from the used platforms for that mappings to technology dependent platforms exist -implementation languages supported by the target component platform Mapping: eODL  CIDL  C++, SDL  C++… eODL – a simple Language

5 Integrated application of eODL 5 J.Fischer superset of ITU-IDL (CORBA IDL 2.4.2) where concepts of -name scoping -data types -operational signatures and interfaces are well-defined not designed -for (complete) behaviour description -for implementation of the components (business logic) but attention -behaviour description and implementation are possible after mapping eODL – a simple Language

6 Integrated application of eODL 6 J.Fischer Unsolved yet : QoS aspects Case-oriented description of interaction rules und requirements binding, contract type, contract Configuration aspects of software components port (provided, used) Implementation View Implementation aspects of Software Components artefact, implementation element, state attribute Deployment View aspects of production and integration of software components: component, assembly, realize Model Views for the Development of Software Components Computational View Target Environment View properties of nodes and links/connections Views and Model Concepts structural aspects of functional decompositions: CO type, interface, interaction element, data types Behaviour aspects of CO- Types (new invention) Blackbox, Greybox, Whitebox

7 Integrated application of eODL 7 J.Fischer Unsolved yet : QoS aspects Case-oriented description of interaction rules und requirements binding, contract type, contract Configuration aspects of software components port (provided, used) Implementation View Implementation aspects of Software Components artefact, implementation element, state attribute Deployment View aspects of production and integration of software components: component, assembly, realize Concepts of Model Description: eODL (ITU) Computational View Target Environment View properties of nodes and links/connections Views and Model Concepts structural aspects of functional decompositions: CO type, interface, interaction element, data types Behaviour aspects of CO- Types (new invention) Blackbox, Greybox, Whitebox

8 Integrated application of eODL 8 J.Fischer Configuration aspects of software components port (provided, used) Implementation View Implementation aspects of Software Components artefact, implementation element, state attribute Deployment View aspects of production and integration of software components: component, assembly, realize Concepts of Model Description: eODL (ITU) Computational View Target Environment View properties of nodes and links/connections Views and Model Concepts structural aspects of functional decompositions: CO type, interface, interaction element, data types eODL= ODL+ = IDL++ SDL UML CIDL

9 Integrated application of eODL 9 J.Fischer eODL is technology independent Concept Space of eODL modell concepts and relations different component platforms mapping of concepts (code generation) different notations syntactical representation of concepts xxxxx xxxxxx xx xxxxxx xxxx Meta Model CCM IDL-like

10 Integrated application of eODL 10 J.Fischer Representation forms of eODL (1)textual IDL-like (2)XML as exchange format (defined by XMI) (3)grafical not yet available, but possible candidate: UML-Profile for eODL advantage: UML tools are available

11 Integrated application of eODL 11 J.Fischer Component Development with eODL imagined model of a system structure eODL model VIEW: structural and implementation real component infrastructure eODL editor used tool

12 Integrated application of eODL 12 J.Fischer Component Development with eODL imagined model of a system structure eODL model VIEW: structural and implementation real component infrastructure generated CIDL code used tool eODL compiler

13 Integrated application of eODL 13 J.Fischer Component Development with eODL imagined model of a system structure eODL model VIEW: structural and implementation generated CIDL code generated C++ code generated C++ code & business logic real component infrastructure imagined model of system behaviour C++ editor used tool CIDL compiler

14 Integrated application of eODL 14 J.Fischer Component Development with eODL imagined model of a system structure eODL model VIEW: structural and implementation generated CIDL code generated C++ code generated C++ code & business logic real component infrastructure imagined model of system behaviour software component C++ compiler used tool

15 Integrated application of eODL 15 J.Fischer Component Development with eODL imagined model of a system structure eODL model VIEW: structural and implementation generated CIDL code generated C++ code generated C++ code & business logic software component real component infrastructure imagined model of system behaviour eODL model VIEW: deployment eODL editor used tool

16 Integrated application of eODL 16 J.Fischer Component Development with eODL imagined model of a system structure eODL model VIEW: structural and implementation generated CIDL code generated C++ code generated C++ code & business logic software component eODL model VIEW: deployment real component infrastructure imagined model of system behaviour eODL model VIEW: target environment eODL editor used tool

17 Integrated application of eODL 17 J.Fischer Component Development with eODL imagined model of a system structure eODL model VIEW: structural and implementation generated CIDL code generated C++ code generated C++ code & business logic software component eODL model VIEW: deployment eODL model VIEW: target environment real component infrastructure real running system imagined model of system behaviour eODL deployer used tool

18 Integrated application of eODL 18 J.Fischer Component Development (alternative) imagined model of a system structure eODL model VIEW: structural and implementation eODL model VIEW: deployment eODL model VIEW: target environment real component infrastructure real running system imagined model of system behaviour

19 Integrated application of eODL 19 J.Fischer Component Development (alternative) imagined model of a system structure eODL model VIEW: structural and implementation eODL model VIEW: deployment eODL model VIEW: target environment real component infrastructure real running system imagined model of system behaviour generated SDL code eODL compiler used tool

20 Integrated application of eODL 20 J.Fischer Component Development (alternative) imagined model of a system structure eODL model VIEW: structural and implementation eODL model VIEW: deployment eODL model VIEW: target environment real component infrastructure real running system imagined model of system behaviour generated SDL code SDL editor used tool generated SDL code & abstract business logic

21 Integrated application of eODL 21 J.Fischer Component Development (alternative) imagined model of a system structure eODL model VIEW: structural and implementation eODL model VIEW: deployment eODL model VIEW: target environment real component infrastructure real running system imagined model of system behaviour generated SDL code SDL compiler used tool generated SDL code & abstract business logic generated C++ code & business logic

22 Integrated application of eODL 22 J.Fischer Component Development (alternative) imagined model of a system structure eODL model VIEW: structural and implementation eODL model VIEW: deployment eODL model VIEW: target environment real component infrastructure real running system imagined model of system behaviour generated SDL code C++ compiler used tool generated SDL code & abstract business logic generated C++ code & business logic software component

23 Integrated application of eODL 23 J.Fischer Integration of legacy components bound to fixed component platform –need mapping to that kind of platform –map component layout to eODL level –use at eODL level for assemblies

24 Integrated application of eODL 24 J.Fischer eODL is technology independent Concept Space of eODL modell concepts and relations selected component platforms mapping of concepts (code generation) Meta Model

25 Integrated application of eODL 25 J.Fischer Integration of legacy components bound to fixed component platform –need mapping to that kind of platform –map component layout to eODL level –use at eODL level for assemblies standalone software component –target component platform ? what will be the preferred platform –realize wrapper component for the standalone software component design at eODL level deployment at platform level

26 Integrated application of eODL 26 J.Fischer Embedded original component eODL original

27 Integrated application of eODL 27 J.Fischer The Dining Philosophers Example CO design in eODL environment model in eODL assembly definition in eODL realisation language open

28 Integrated application of eODL 28 J.Fischer The Dining Philosophers Example Thinking Hungry Starving Eating Dead Kant Thinking Hungry Starving Eating Dead Descartes Thinking Hungry Starving Eating Dead Aristotle Fork

29 Integrated application of eODL 29 J.Fischer Modeling: System Structure by COs

30 Integrated application of eODL 30 J.Fischer Fork Philosopher name = Aristotle Philosopher name = Descartes Philosopher name = Kant CO provided port used port Observer Modeling: System Structure by COs

31 Integrated application of eODL 31 J.Fischer exception ForkNotAvailable { } ; exception NotTheEater { } ; interface i_Fork { void obtain_fork ( in o_Philosopher eater ) raises ( ForkNotAvailable ); void release_fork ( in o_Philosopher eater ) raises ( NotTheEater ); }; CO o_Fork { provide i_Fork fork; }; Fork Fork Definition

32 Integrated application of eODL 32 J.Fischer valuetype Pstate { public e_PState state; public string name; public o_Philosopher philosoph; }; signal PhilosopherState { PState carry_pstate; }; interface i_Observer { consume PhilosopherState pstate; }; CO o_Observer { provide i_Observer observer; }; Observer Observer Definition

33 Integrated application of eODL 33 J.Fischer enum e_Pstate { EATING, THINKING, SLEEPING, DEAD, CREATED, HUNGRY } ; CO o_Philosopher { use i_Fork left; use i_Fork right; use I_observer observer; attribute string name; }; Philosopher name = … Philosopher Definition

34 Integrated application of eODL 34 J.Fischer assembly Dinner { assembly (=system): configuration of COs System Definition

35 Integrated application of eODL 35 J.Fischer Philosopher assembly Dinner { p1 : o_Philosopher; p2 : o_Philosopher; p3 : o_Philosopher; System Definition

36 Integrated application of eODL 36 J.Fischer Philosopher assembly Dinner { p1 : o_Philosopher; p2 : o_Philosopher; p3 : o_Philosopher; f1 : o_Fork; f2 : o_Fork; f3 : o_Fork; System Definition Fork

37 Integrated application of eODL 37 J.Fischer Philosopher assembly Dinner { p1 : o_Philosopher; p2 : o_Philosopher; p3 : o_Philosopher; f1 : o_Fork; f2 : o_Fork; f3 : o_Fork; o : o_Observer; System Definition Fork Observer

38 Integrated application of eODL 38 J.Fischer assembly Dinner { p1 : o_Philosopher; p2 : o_Philosopher; p3 : o_Philosopher; f1 : o_Fork; f2 : o_Fork; f3 : o_Fork; o : o_Observer; connect c1 { p1.left = f1.fork; p2.right = f2.fork; … }; Fork Philosopher Observer System Definition

39 Integrated application of eODL 39 J.Fischer assembly Dinner { p1 : o_Philosopher; p2 : o_Philosopher; p3 : o_Philosopher; f1 : o_Fork; f2 : o_Fork; f3 : o_Fork; o : o_Observer; connect c1 { p1.left = f1.fork; p2.right = f2.fork; … }; connect c2 { o.observer = p.observer; }; }; Fork Philosopher Observer System Definition

40 Integrated application of eODL 40 J.Fischer softwarecomponent ForkImpl realizes o_Fork { requires { property os = [ { name = "WINNT"; version = "4,0,0,0"; } ]; }; softwarecomponent PhilosopherImpl realizes o_Philosopher, o_Observer { requires { property os = [ { name = "WINNT"; version = "4,0,0,0"; } ]; }; ForkImpl PhilosopherImpl Fork Philosopher Observer Definition of Software Components

41 Integrated application of eODL 41 J.Fischer environment MyEnv { node node1 { property os = { name = "WINNT"; version = "4,0,0,0"; }; property memory = 256; }; node node2 { property os = { name = "WINNT"; version = "4,0,0,0"; }; property memory = 128; }; link link1 { node n1, n2; }; }; Definition of the Target Environment

42 Integrated application of eODL 42 J.Fischer installation install uses environment MyEnv { ForkImpl -> node1; PhilosopherImpl -> node2; }; PhilosopherImpl ForkImpl Definition of Installation

43 Integrated application of eODL 43 J.Fischer installation install uses environment MyEnv { Philosopher -> node2; Fork -> node1; }; instantiation instantiate uses environment MyEnv uses assembly Dinner { p1, p2, p3, o -> node2; f1, f2, f3 -> node1; }; Fork Philosopher Observer Definition of Instantiation

44 Integrated application of eODL 44 J.Fischer installation install uses environment MyEnv { Philosopher -> node2; Fork -> node1; }; instantiation instantiate uses environment MyEnv uses assembly Dinner { p1, p2, p3, o -> node2; f1, f2, f3 -> node1; }; Fork Philosopher Observer Definition of Configuration


Download ppt "Integrated application of eODL 1 J.Fischer Integrated application of eODL Workshop Integrated application of eODL Geneva, 13 September 2003 Harald Böhme,"

Similar presentations


Ads by Google