![Page 1: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/1.jpg)
Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology
E. de Gentili, F. Bernardi, J.F. Santucci
University Pascal Paoli of CorsicaSPE Laboratory
UMR CNRS 6134
![Page 2: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/2.jpg)
2
Studied Problem Main Objectives of our Research
– Modeling and simulation of the behavior of a software object
– Showing up a generic methodology for the modeling of this kind of objects
Selected Approach: DEVS Based Modeling and Simulation
Selected Application: CORBA Architecture (and especially the Portable Object Adapter)
![Page 3: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/3.jpg)
3
Outline of the Presentation DEVS Modeling Theory Methodology for Algorithmic functions
Modeling (DSSV) The CORBA Portable Object Adapter
(POA) Example: the find_poa() Function Results and Validation Conclusion and Perspectives
![Page 4: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/4.jpg)
4
DEVS Modeling Theory The DEVS (Discrete EVent System
Specification) Modeling and Simulation Approach:– Describes a system by components
interconnection– Allows interactions between components using
communication ports – Uses two types of components
Two Main Points:– Event: Information arrival on a port– Simulation: Taking into account behavioral
changings according to time or events
![Page 5: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/5.jpg)
5
DEVS Modeling Theory Components used for Modeling
considering a Given System:– Atomic Models: Basic components that
provide a local description of the dynamic behavior of the system
– Coupled Models: Corresponds to a set of behavioral components that describes the manner a new component is created by interconnecting some others
![Page 6: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/6.jpg)
6
DEVS Modeling Theory An atomic model is defined by:
– A set of input ports– A set of output ports– A set of state variables: define completely
the states of the model– Two transition functions: allows to change
the state variables– An exit function– A time advance function
![Page 7: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/7.jpg)
7
DEVS Modeling Theory Why DEVS ?
– Long experience in our laboratory with many works based upon this approach
– Already defined and satisfying tools– Great adaptation to discrete event systems
such as computer programs Original approach: Showing up a
methodology for algorithmic functions modeling
![Page 8: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/8.jpg)
8
Methodology for Algorithmic Functions Modeling Basic Approach (starting from the
source code):– Algorithmic functions are seen as coupled
models– An atomic model represents the modeling
of the behavior of the function between two calls to other external functions
– Internal variables of the function are binded to state variables
– Variables are carried through specialized ports as long as the function need them
![Page 9: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/9.jpg)
9
Methodology for Algorithmic Functions Modeling For a better understanding, we introduce
four kinds of ports:– Call Ports: used to carry the name of the
function to be called– Parameter Ports: used to carry the
parameters needed by a function– Secondary Call Ports: dedicated to external
functions couplings– Secondary Parameter Ports: used to carry
data between coupled models
![Page 10: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/10.jpg)
10
Example of function:
Methodology for Algorithmic Functions Modeling
AM1
AM2
AM3
int f(a,b) {
e = g(d);
return e;}
![Page 11: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/11.jpg)
11
Methodology for Algorithmic Functions Modeling
AM1
AM4
AM3AM2
CM2: g(d) e
CM1: f(a,b) c
ab c
f(a,b)
g(d)
Exception
d eParameter PortsCall PortsSecondary Call PortsSecondary Parameter Ports
![Page 12: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/12.jpg)
12
Methodology for Algorithmic Functions Modeling Basic Control Structures Modeling
The « if » statement
The « do » statementThe « for » statement
The « while » statement
AM1
AM2
AM3
AM1
AM2 AM1
AM2AM1
![Page 13: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/13.jpg)
13
Methodology for Algorithmic Functions Modeling Algorithmic function: Coupled model
composed by the interconnection of atomic models
Application: Modeling of the CORBA Portable Object Adapter
![Page 14: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/14.jpg)
14
The CORBA Portable Object Adapter (POA) CORBA: Common Object Request
Broker Architecture Reference architecture for distributed
systems Many implementations available Object-Oriented architecture (OMG) Based upon many concepts such as:
ORB, POA, servant, client,...
![Page 15: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/15.jpg)
15
The CORBA Portable Object Adapter (POA) Position of the POA in the CORBA
Architecture
ORB (Object Request Broker)
Proxy
Client Servant
POA
Requests
![Page 16: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/16.jpg)
16
The CORBA Portable Object Adapter (POA) The POA is defined as an object
presenting 25 methods For example: create_POA(), find_POA(),
destroy()
PortableServer::POA
the_name : string…
create_POA()find_POA()destroy()get_servant()…
![Page 17: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/17.jpg)
17
Example: the find_poa() function Returns a pointer to a POA adapter
name Can raise an exception
(AdapterNonExistent) Accepts two parameters (adapter,
activate)
![Page 18: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/18.jpg)
18
Example: the find_poa() function C++ simplified source code
POA_ptr find_poa(adapter, activate) { if (getDestroyed()) throw Exception; bool check=true; if (containsKey(adapter) && activate) { adapterActivator = getAdapterActivator(); if (adapterActivator != NULL) check = unknownAdapter(adapter); } POA poa; if (check) get(adapter, poa); if (poa == NULL) throw AdapterNonExistent; return poa; }
![Page 19: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/19.jpg)
19
Example: the find_poa() function Definition of the Coupled Model POA:
– Input ports: adapter, activate
children, poa_control (ORB)
find_poa (Methodology)– Output ports: Exception, POA_ptr
Coupled Model find_POA() POA_ptr
activateadapter
childrenpoa_controlfind_poa()
Exception
![Page 20: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/20.jpg)
20
Example: the find_poa() function Components: 10 atomic models Links to 5 other coupled models Minimal path (without exception): 6
atomic models Maximum path (without exception): 10
atomic models
![Page 21: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/21.jpg)
21
Results and Validation
Simulation using a software written in Java
Validation by testing all possible paths Good results for every function
simulated
![Page 22: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/22.jpg)
22
Results and Validation
![Page 23: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/23.jpg)
23
Conclusion and Perspectives Originality of our approach: Use of
DEVS modeling for algorithmic functions Modeling and simulation starting from
the source code Application: CORBA Architecture Already done: Portable Object Adapter Main objective: Being able to simulate
the whole CORBA architecture for testing new services
![Page 24: Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal](https://reader035.vdocuments.site/reader035/viewer/2022062518/56649e9f5503460f94ba1df9/html5/thumbnails/24.jpg)
24
Conclusion and Perspectives
Perspectives:– To complete the whole architecture (ORB)– To add a physical network simulation tool– To simulate a complete distributed
application over a network– To develop new techniques of validation