SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
Component-Based Design and Analysis of Embedded
Systems with UPPAAL PORT
John H˚ kansson1 , Jan Carlson2 , Aurelien Monot3 , Paul Pettersson2 , and Davor Slutej2
a
1

Department of Information Technology, Uppsala University, Sweden
johnh@it.uu.se
2
M¨ lardalen Real-Time Research Centre, V¨ ster˚ s, Sweden
a
a a
jan.carlson@mdh.se, paul.pettersson@mdh.se, davor@slutej.com
3
Ecole des Mines, Nancy, France
aurelien.monot@mines-nancy.org

Abstract. U PPAAL PORT is a new tool for component-based design and analysis
of embedded systems. It operates on the hierarchically structured continuous time
component modeling language SaveCCM and provides efficient model-checking
by using partial-order reduction techniques that exploits the structure and the
component behavior of the model. U PPAAL PORT is implemented as an extension
of the verification engine in the U PPAAL tool. The tool can be used as back-end
in to the Eclipse based SaveCCM integrated development environment, which
supports user friendly editing, simulation, and verification of models.

1 Introduction
U PPAAL PORT1 is a new extension of the U PPAAL tool. It supports simulation and
model-checking of the component modelling language SaveCCM [1,6], which has been
designed primarily for development of embedded systems in the area of vehicular systems. In SaveCCM, an embedded system is modelled as interconnected components
with explicitly defined input and output ports for data and control. A component can be
an encapsulation of a system of interconnected components, which externally behaves
as a component, or a primitive component. In the latter case the functional and timing
behaviour of a component is described as a timed automaton [2].
U PPAAL PORT accepts the hierarchical SaveCCM modelling language, represented
in XML format, and provides analysis by model-checking without conversion or flattening to the model of network of timed automata normally used in the U PPAAL tool.
The hierarchical structure of the model, and the particular “read-execute-write” component semantics adopted in SaveCCM is exploited in the tool to improve the efficiency
of the model-checking analysis, which is further improved by a partial order reduction
technique [10].
To provide user friendliness, U PPAAL PORT can serve as back-end in the SaveCCM
integrated development environment (SAVE-IDE) based on Eclipse, see Fig. 1. We have

1

This work was partially supported by the Swedish Foundation for Strategic Research via the
strategic research centre PROGRESS.
U PPAAL PORT is available from the web page www.uppaal.org/port

Cha et al. (Eds.): ATVA 2008, LNCS 5311, pp. 252–257, 2008.
c Springer-Verlag Berlin Heidelberg 2008
Component-Based Design and Analysis of Embedded Systems with UPPAAL PORT

253

Fig. 1. SAVE-IDE architectural editor (upper view) and U PPAAL PORT simulator (lower view)

developed several plug-ins to integrate the two tools: an editor for timed automata descriptions of the functional and timing behaviour of components, support for mapping
internal timed automata variables to external ports, a simulator that can be used to validate the behaviour of a SaveCCM system, and support for verifying reachability and
liveness properties formalised in a subset of Timed CTL.
Related work includes for example the BIP component framework [9], where a system is constructed in three layers: behaviour, interaction, and priorities. Partial order
techniques for timed automata are described for example in [11,7,5]. See also [10] for
additional related work.

2 Real-Time Component Specification
The modelling language employed in U PPAAL PORT is SaveCCM — a component modelling language for embedded systems [1,6]. In SaveCCM, systems are built from interconnected components with well-defined interfaces consisting of input- and output
ports. The communication style is based on the pipes-and-filters paradigm, but with an
explicit separation of data transfer and control flow. The former is captured by connections between data ports where data of a given type can be written and read, and the
latter by trigger ports that control the activation of components. Fig. 2 shows an example of the graphical SaveCCM notation. Triangles and boxes denote trigger ports and
data ports, respectively.
254

J. H˚ kansson et al.
a

A component remains passive until all input trigger ports have been activated, at
which point it first reads all its input data ports and then performs the associated computations over this input and an internal state. After this, the component writes to its output
data ports, activates the output trigger ports, and returns to the passive state again. This
strict “read-execute-write” semantics ensures that once a component is triggered, the
execution is functionally independent of any concurrent activity.
Components are composed into
more complex structures by connecting output ports to input ports of other
<<Component>>
<<Component>>
components. In addition to this “horizontal” composition, components can
be composed hierarchically by placing
a collection of interconnected components inside an enclosing component.
From the outside, such a composite Fig. 2. Composition of two SaveCCM components
component is indistinguishable from a
primitive component where the behaviour is given by a single model or piece
of code.
To support analysis and synthesis, a number of quality attributes and models can be
associated with a component, such as execution time information, reliability estimates,
safety models, etc. For U PPAAL PORT, it is required that each component is associated
with a behavioural model consisting of a timed automaton and a mapping between
component data ports and automata variables.

3 Model-Checking Real-Time Components
To support the dependability requirements of embedded real-time systems, SaveCCM
is designed for predictability in terms of functionality, timeliness, and resource usage.
In particular, the independence introduced by the “read-execute-write” semantics can
be exploited for analysis purposes using partial order reduction techniques (PORT).
When model-checking, PORTs explore only a subset of the state space. The idea is
to define equivalence between traces based on reordering of independent actions, and
to explore a representative trace for each equivalence class.This approach has been successful for untimed systems, but for timed automata (TA) the implicit synchronization
of global time restricts independence of actions [3,11].
In [10] we have described a PORT for SaveCCM which we have implemented in the
U PPAAL PORT tool. As in [3,12] we use local time semantics to increase independence.
The structure of a SaveCCM system is used to partition local time-scales, to determine
independence of activities, and to construct the Ample-set.
Fig. 3 shows the tool architecture of U PPAAL PORT. The SAVE-IDE integrates an
editor for SaveCCM systems in the Eclipse framework, as well as a TA editor to model
the timing and behaviour of components. U PPAAL PORT adds support for simulation
and verification, using a client-server architecture. When a new SaveCCM system is
loaded into the server, the XML parser builds internal representations of U PPAAL TA
Component-Based Design and Analysis of Embedded Systems with UPPAAL PORT

SAVE-IDE
(SaveCCM modelling tool)

TA editor plug-in
(timing/behaviour modelling)

Uppaal PORT plug-in
(simulation and verification)
command

response

UPPAAL PORT server

Trans

Ample

Succ

Delay

255

XML Parser

Norm

state space
representation

UPPAAL TA
representation

Query

yes / no / maybe

initial state

SaveCCM
system
representation

Fig. 3. Overview of the U PPAAL PORT tool architecture

and the SaveCCM system. By separating the U PPAAL TA representation when a new
SaveCCM system is parsed we can reuse much of the source code from the U PPAAL
model-checker.
The verification setup is shown in Fig. 3 as pipeline stages connected to the state
space representation, as described in [8]. Unexplored states are put into the transition
filter (Trans), which computes the enabled transitions. Each transition is forwarded with
a copy of the state to the successor filter (Succ), which computes the resulting state after
the transition. These two filters of the U PPAAL verifier are extended to implement the
SaveCCM semantics. An additional filter (Ample) selects a sufficiently large subset
of enabled transitions to be explored in order to model-check the property. This filter
implements the PORT described in [10].
The zone representation is replaced with local time zones that are implemented as
a data structure similar to Difference Bound Matrices (DBMs), as described for example in [3]. When a component writes data to other components, the local time-scales
of participating components are synchronized by the successor filter. In combination
with a modified filter (Delay) this implements local time semantics. The purpose of the
normalisation filter (Norm) is to ensure that the state space is finite. This remains to be
updated in order to handle the ‘difference constraints’ introduced by using local time.
The transition, successor, and delay filters are used also during simulation to compute
possible transitions from the current state of the simulator, and to compute a new state
for the simulation when the user selects to make a transition.

4 Case Studies
U PPAAL PORT has so far been applied to some benchmark examples, and two larger
case studies. In [1], we present how an early version of U PPAAL PORT is applied to
analyse a SaveCCM model of an adaptive cruise controller. A small benchmark of the
partial order reduction technique implemented in the tool is described in [10], showing
significant improvement over the standard global time semantics of, e.g., U PPAAL.
256

J. H˚ kansson et al.
a

We are currently modelling and analysing a turntable production unit [4]. The system
has been modelled and the specified requirements (similar to those given in [4]) have
been analysed by model-checking.
The turntable system consists of a rotating disc (turntable) with four product slots
and four tools in fixed positions around the turntable; the tools operate on the products,
as illustrated in Fig. 4. Each slot either holds a single product in some state of the
production cycle or is empty. After each 90◦ rotation of the turntable, the tools are
allowed to operate - the turntable is stationary until all tools have finished operating.
All slots can hold products and tools are allowed to work in parallel.
The architecture of the
system is encapsulated by
five SaveCCM components (a
turntable and four tools) modelled using SaveCCM timed
automata, which are passive
and activated by trigger ports.
Each component TA wraps
C-style code that defines the
actual behaviour of the component. This C-style code is
directly interpreted by U P PAAL PORT and is suitable as
basis for expansion into a production system (the code used
in the model for verification
Fig. 4. Turntable system overview
has no timeout-detection and
error-handling).
The control system communicates with the environment by means of external ports
that are defined at the root application level. When the code is generated for the target
platform these ports are connected to the sensors and actuators. For simulation and
verification purposes however, the external ports are mapped to global variables in the
environment model. The environment model is constructed using the U PPAAL tool and
utilizes U PPAAL timed automata, which, contrasting the SaveCCM TAs, are active.
Properties of safety and liveness are expressed as statements in the U PPAAL requirement specification language. To support more complex queries (involving a sequence of
states), a test automaton is constructed in U PPAAL as a part of the environment model.
The test automaton is connected to relevant ports in the SaveCCM model, to eliminate
the need for test flags and other verification specific (as opposed to functional) additions
to the control system model.
Model-checking the properties requires around 16MB at peak and an average of
around 3 seconds per verified property (on an Intel T2600 2.16 GHz processor). The
verification tool only needs to explore a maximum of 38,166 states to verify properties
such as deadlock freedom.
Component-Based Design and Analysis of Embedded Systems with UPPAAL PORT

257

5 Conclusion
In this paper, we have briefly described the new tool U PPAAL P ORT that extends the verification engine of U PPAAL with partial order verification techniques for the real-time
component language SaveCCM. Our initial experiments with the new verifier have been
very encouraging and we are now in progress with evaluating U PPAAL P ORT (together
with the SaveCCM component modeling language and Save IDE) in a larger case study.
As future work, U PPAAL P ORT will be expended to support a richer component modeling language with components that may be active, have multiple service interfaces, or
use other forms of communication.

References
˚
1. Akerholm, M., Carlson, J., Fredriksson, J., Hansson, H., H˚ kansson, J., M¨ ller, A., Pettersa
o
son, P., Tivoli, M.: The SAVE approach to component-based development of vehicular systems. Journal of Systems and Software 80(5), 655–667 (2007)
2. Alur, R., Dill, D.L.: A theory of timed automata. Theoretical Computer Science 126(2), 183–
235 (1994)
3. Bengtsson, J., Jonsson, B., Lilius, J., Yi, W.: Partial order reductions for timed systems.
In: Sangiorgi, D., de Simone, R. (eds.) CONCUR 1998. LNCS, vol. 1466, pp. 485–500.
Springer, Heidelberg (1998)
4. Bortnik, E., Trˇ ka, N., Wijs, A.J., Luttik, S.P., van de Mortel-Fronczak, J.M., Baeten, J.C.M.,
c
Fokkink, W.J., Rooda, J.E.: Analyzing a χ model of a turntable system using Spin, CADP
and Uppaal. Journal of Logic and Algebraic Programming 65(2), 51–104 (2005)
5. Bouyer, P., Haddad, S., Reynier, P.-A.: Timed unfoldings for networks of timed automata. In:
Graf, S., Zhang, W. (eds.) ATVA 2006. LNCS, vol. 4218, pp. 292–306. Springer, Heidelberg
(2006)
6. Carlson, J., H˚ kansson, J., Pettersson, P.: SaveCCM: An analysable component model for
a
real-time systems. In: Proc. of the 2nd Workshop on Formal Aspects of Components Software (FACS 2005). Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam
(2005)
7. Cassez, F., Chatain, T., Jard, C.: Symbolic unfoldings for networks of timed automata. In:
Graf, S., Zhang, W. (eds.) ATVA 2006. LNCS, vol. 4218, pp. 307–321. Springer, Heidelberg
(2006)
8. David, A., Behrmann, G., Larsen, K.G., Yi, W.: A tool architecture for the next generation of
UPPAAL. In: Aichernig, B.K., Maibaum, T.S.E. (eds.) Formal Methods at the Crossroads.
From Panacea to Foundational Support. LNCS, vol. 2757, pp. 352–366. Springer, Heidelberg
(2003)
9. G¨ ssler, G., Sifakis, J.: Composition for component-based modelling. Science of Computer
o
Programming 55(1-3), 161–183 (2005)
10. H˚ kansson, J., Pettersson, P.: Partial order reduction for verification of real-time components.
a
In: Proc. of 1st International Workshop on Formal Modeling and Analysis of Timed Systems.
LNCS. Springer, Heidelberg (2007)
11. Lugiez, D., Niebert, P., Zennou, S.: A partial order semantics approach to the clock explosion
problem of timed automata. Theoretical Computer Science 345(1), 27–59 (2005)
12. Minea, M.: Partial order reduction for model checking of timed automata. In: Baeten, J.C.M.,
Mauw, S. (eds.) CONCUR 1999. LNCS, vol. 1664, pp. 431–446. Springer, Heidelberg (1999)

Más contenido relacionado

La actualidad más candente

Time Series Estimation of Gas Furnace Data in IMPL and CPLEX Industrial Model...
Time Series Estimation of Gas Furnace Data in IMPL and CPLEX Industrial Model...Time Series Estimation of Gas Furnace Data in IMPL and CPLEX Industrial Model...
Time Series Estimation of Gas Furnace Data in IMPL and CPLEX Industrial Model...Alkis Vazacopoulos
 
Advanced property tracking Industrial Modeling Framework
Advanced property tracking Industrial Modeling FrameworkAdvanced property tracking Industrial Modeling Framework
Advanced property tracking Industrial Modeling FrameworkAlkis Vazacopoulos
 
Advanced Parameter Estimation (APE) for Motor Gasoline Blending (MGB) Indust...
Advanced Parameter Estimation (APE) for Motor Gasoline Blending (MGB)  Indust...Advanced Parameter Estimation (APE) for Motor Gasoline Blending (MGB)  Indust...
Advanced Parameter Estimation (APE) for Motor Gasoline Blending (MGB) Indust...Alkis Vazacopoulos
 
PEEC based electromagnetic simulator
PEEC based electromagnetic simulator PEEC based electromagnetic simulator
PEEC based electromagnetic simulator Swapnil Gaul
 
Flow control in computer
Flow control in computerFlow control in computer
Flow control in computerrud_d_rcks
 
Study of model predictive control using ni lab view
Study of model predictive control using ni lab viewStudy of model predictive control using ni lab view
Study of model predictive control using ni lab viewIAEME Publication
 
Citadel training on context awareness solution
Citadel training on context awareness solutionCitadel training on context awareness solution
Citadel training on context awareness solutionRamnGonzlezRuiz2
 
Embedding SimulationX Models into Virtual-Reality Training Simulators of Powe...
Embedding SimulationX Models into Virtual-Reality Training Simulators of Powe...Embedding SimulationX Models into Virtual-Reality Training Simulators of Powe...
Embedding SimulationX Models into Virtual-Reality Training Simulators of Powe...SimulationX
 
Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xi...
Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xi...Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xi...
Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xi...IRJET Journal
 
2-DOF BLOCK POLE PLACEMENT CONTROL APPLICATION TO:HAVE-DASH-IIBTT MISSILE
2-DOF BLOCK POLE PLACEMENT CONTROL APPLICATION TO:HAVE-DASH-IIBTT MISSILE2-DOF BLOCK POLE PLACEMENT CONTROL APPLICATION TO:HAVE-DASH-IIBTT MISSILE
2-DOF BLOCK POLE PLACEMENT CONTROL APPLICATION TO:HAVE-DASH-IIBTT MISSILEZac Darcy
 
M ODEL P REDICTIVE C ONTROL U SING F PGA
M ODEL  P REDICTIVE  C ONTROL  U SING  F PGAM ODEL  P REDICTIVE  C ONTROL  U SING  F PGA
M ODEL P REDICTIVE C ONTROL U SING F PGAijctcm
 
Binary obfuscation using signals
Binary obfuscation using signalsBinary obfuscation using signals
Binary obfuscation using signalsUltraUploader
 
Robust and Tuneable Family of Gossiping Algorithms
Robust and Tuneable Family of Gossiping AlgorithmsRobust and Tuneable Family of Gossiping Algorithms
Robust and Tuneable Family of Gossiping AlgorithmsVincenzo De Florio
 
UHF Tool MILCOM 2011 XPRT
UHF Tool MILCOM 2011 XPRTUHF Tool MILCOM 2011 XPRT
UHF Tool MILCOM 2011 XPRTAnthony Vescio
 

La actualidad más candente (19)

Time Series Estimation of Gas Furnace Data in IMPL and CPLEX Industrial Model...
Time Series Estimation of Gas Furnace Data in IMPL and CPLEX Industrial Model...Time Series Estimation of Gas Furnace Data in IMPL and CPLEX Industrial Model...
Time Series Estimation of Gas Furnace Data in IMPL and CPLEX Industrial Model...
 
Advanced property tracking Industrial Modeling Framework
Advanced property tracking Industrial Modeling FrameworkAdvanced property tracking Industrial Modeling Framework
Advanced property tracking Industrial Modeling Framework
 
Fuzzy model reference learning control (1)
Fuzzy model reference learning control (1)Fuzzy model reference learning control (1)
Fuzzy model reference learning control (1)
 
Advanced Parameter Estimation (APE) for Motor Gasoline Blending (MGB) Indust...
Advanced Parameter Estimation (APE) for Motor Gasoline Blending (MGB)  Indust...Advanced Parameter Estimation (APE) for Motor Gasoline Blending (MGB)  Indust...
Advanced Parameter Estimation (APE) for Motor Gasoline Blending (MGB) Indust...
 
PEEC based electromagnetic simulator
PEEC based electromagnetic simulator PEEC based electromagnetic simulator
PEEC based electromagnetic simulator
 
Flow control in computer
Flow control in computerFlow control in computer
Flow control in computer
 
Study of model predictive control using ni lab view
Study of model predictive control using ni lab viewStudy of model predictive control using ni lab view
Study of model predictive control using ni lab view
 
Citadel training on context awareness solution
Citadel training on context awareness solutionCitadel training on context awareness solution
Citadel training on context awareness solution
 
PV inverter
PV inverterPV inverter
PV inverter
 
Embedding SimulationX Models into Virtual-Reality Training Simulators of Powe...
Embedding SimulationX Models into Virtual-Reality Training Simulators of Powe...Embedding SimulationX Models into Virtual-Reality Training Simulators of Powe...
Embedding SimulationX Models into Virtual-Reality Training Simulators of Powe...
 
Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xi...
Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xi...Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xi...
Performance Analysis, Designing and Testing 512 Bit Sram Memory Chip Using Xi...
 
RE 07 - art.02
RE  07 - art.02RE  07 - art.02
RE 07 - art.02
 
2-DOF BLOCK POLE PLACEMENT CONTROL APPLICATION TO:HAVE-DASH-IIBTT MISSILE
2-DOF BLOCK POLE PLACEMENT CONTROL APPLICATION TO:HAVE-DASH-IIBTT MISSILE2-DOF BLOCK POLE PLACEMENT CONTROL APPLICATION TO:HAVE-DASH-IIBTT MISSILE
2-DOF BLOCK POLE PLACEMENT CONTROL APPLICATION TO:HAVE-DASH-IIBTT MISSILE
 
M ODEL P REDICTIVE C ONTROL U SING F PGA
M ODEL  P REDICTIVE  C ONTROL  U SING  F PGAM ODEL  P REDICTIVE  C ONTROL  U SING  F PGA
M ODEL P REDICTIVE C ONTROL U SING F PGA
 
Binary obfuscation using signals
Binary obfuscation using signalsBinary obfuscation using signals
Binary obfuscation using signals
 
Control term proj3012
Control term proj3012Control term proj3012
Control term proj3012
 
Robust and Tuneable Family of Gossiping Algorithms
Robust and Tuneable Family of Gossiping AlgorithmsRobust and Tuneable Family of Gossiping Algorithms
Robust and Tuneable Family of Gossiping Algorithms
 
UHF Tool MILCOM 2011 XPRT
UHF Tool MILCOM 2011 XPRTUHF Tool MILCOM 2011 XPRT
UHF Tool MILCOM 2011 XPRT
 
8
88
8
 

Destacado

Wind river NASA Real-Time Constrained Control Systems
Wind river NASA Real-Time Constrained Control SystemsWind river NASA Real-Time Constrained Control Systems
Wind river NASA Real-Time Constrained Control SystemsM Reza Rahmati
 
Symbolic Computation and Automated Reasoning in Differential Geometry
Symbolic Computation and Automated Reasoning in Differential GeometrySymbolic Computation and Automated Reasoning in Differential Geometry
Symbolic Computation and Automated Reasoning in Differential GeometryM Reza Rahmati
 
Fault detection and_diagnosis
Fault detection and_diagnosisFault detection and_diagnosis
Fault detection and_diagnosisM Reza Rahmati
 
Trilinos progress, challenges and future plans
Trilinos progress, challenges and future plansTrilinos progress, challenges and future plans
Trilinos progress, challenges and future plansM Reza Rahmati
 
Differential geometry vision systems
Differential geometry vision systemsDifferential geometry vision systems
Differential geometry vision systemsM Reza Rahmati
 
Open Source Visualization of Scientific Data
Open Source Visualization of Scientific DataOpen Source Visualization of Scientific Data
Open Source Visualization of Scientific DataMarcus Hanwell
 

Destacado (6)

Wind river NASA Real-Time Constrained Control Systems
Wind river NASA Real-Time Constrained Control SystemsWind river NASA Real-Time Constrained Control Systems
Wind river NASA Real-Time Constrained Control Systems
 
Symbolic Computation and Automated Reasoning in Differential Geometry
Symbolic Computation and Automated Reasoning in Differential GeometrySymbolic Computation and Automated Reasoning in Differential Geometry
Symbolic Computation and Automated Reasoning in Differential Geometry
 
Fault detection and_diagnosis
Fault detection and_diagnosisFault detection and_diagnosis
Fault detection and_diagnosis
 
Trilinos progress, challenges and future plans
Trilinos progress, challenges and future plansTrilinos progress, challenges and future plans
Trilinos progress, challenges and future plans
 
Differential geometry vision systems
Differential geometry vision systemsDifferential geometry vision systems
Differential geometry vision systems
 
Open Source Visualization of Scientific Data
Open Source Visualization of Scientific DataOpen Source Visualization of Scientific Data
Open Source Visualization of Scientific Data
 

Similar a Component Based Control System Design

EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODEXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODijcseit
 
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODEXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODijcseit
 
Extended distributed uml based protocol
Extended distributed uml based protocolExtended distributed uml based protocol
Extended distributed uml based protocolijcseit
 
CONCEPT OF OPERATIONS TO SYSTEM DESIGN AND DEVELOPMENT-AN INTEGRATED SYSTEM F...
CONCEPT OF OPERATIONS TO SYSTEM DESIGN AND DEVELOPMENT-AN INTEGRATED SYSTEM F...CONCEPT OF OPERATIONS TO SYSTEM DESIGN AND DEVELOPMENT-AN INTEGRATED SYSTEM F...
CONCEPT OF OPERATIONS TO SYSTEM DESIGN AND DEVELOPMENT-AN INTEGRATED SYSTEM F...ijcisjournal
 
Comparative analysis of the performance of various active queue management te...
Comparative analysis of the performance of various active queue management te...Comparative analysis of the performance of various active queue management te...
Comparative analysis of the performance of various active queue management te...IJECEIAES
 
Real time co-simulation platform using opal-rt and opnet for analyzing smart ...
Real time co-simulation platform using opal-rt and opnet for analyzing smart ...Real time co-simulation platform using opal-rt and opnet for analyzing smart ...
Real time co-simulation platform using opal-rt and opnet for analyzing smart ...Rasheed_Kh
 
Scheduling and Allocation Algorithm for an Elliptic Filter
Scheduling and Allocation Algorithm for an Elliptic FilterScheduling and Allocation Algorithm for an Elliptic Filter
Scheduling and Allocation Algorithm for an Elliptic Filterijait
 
MPSoC Platform Design and Simulation for Power %0A Performance Estimation
MPSoC Platform Design and  Simulation for Power %0A Performance EstimationMPSoC Platform Design and  Simulation for Power %0A Performance Estimation
MPSoC Platform Design and Simulation for Power %0A Performance EstimationZhengjie Lu
 
Pretzel: optimized Machine Learning framework for low-latency and high throu...
Pretzel: optimized Machine Learning framework for  low-latency and high throu...Pretzel: optimized Machine Learning framework for  low-latency and high throu...
Pretzel: optimized Machine Learning framework for low-latency and high throu...NECST Lab @ Politecnico di Milano
 
Implementing an ATL Model Checker tool using Relational Algebra concepts
Implementing an ATL Model Checker tool using Relational Algebra conceptsImplementing an ATL Model Checker tool using Relational Algebra concepts
Implementing an ATL Model Checker tool using Relational Algebra conceptsinfopapers
 
Verification of confliction and unreachability in rule based expert systems w...
Verification of confliction and unreachability in rule based expert systems w...Verification of confliction and unreachability in rule based expert systems w...
Verification of confliction and unreachability in rule based expert systems w...ijaia
 
K-10714 ABHISHEK(MATLAB )
K-10714 ABHISHEK(MATLAB )K-10714 ABHISHEK(MATLAB )
K-10714 ABHISHEK(MATLAB )shailesh yadav
 
Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP
Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP
Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP IJCSEIT Journal
 
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docx
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docxCS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docx
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docxfaithxdunce63732
 

Similar a Component Based Control System Design (20)

PID2143641
PID2143641PID2143641
PID2143641
 
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODEXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
 
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHODEXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD
 
Extended distributed uml based protocol
Extended distributed uml based protocolExtended distributed uml based protocol
Extended distributed uml based protocol
 
RT-lab based real-time simulation of flywheel energy storage system associate...
RT-lab based real-time simulation of flywheel energy storage system associate...RT-lab based real-time simulation of flywheel energy storage system associate...
RT-lab based real-time simulation of flywheel energy storage system associate...
 
CONCEPT OF OPERATIONS TO SYSTEM DESIGN AND DEVELOPMENT-AN INTEGRATED SYSTEM F...
CONCEPT OF OPERATIONS TO SYSTEM DESIGN AND DEVELOPMENT-AN INTEGRATED SYSTEM F...CONCEPT OF OPERATIONS TO SYSTEM DESIGN AND DEVELOPMENT-AN INTEGRATED SYSTEM F...
CONCEPT OF OPERATIONS TO SYSTEM DESIGN AND DEVELOPMENT-AN INTEGRATED SYSTEM F...
 
2453
24532453
2453
 
Comparative analysis of the performance of various active queue management te...
Comparative analysis of the performance of various active queue management te...Comparative analysis of the performance of various active queue management te...
Comparative analysis of the performance of various active queue management te...
 
Real time co-simulation platform using opal-rt and opnet for analyzing smart ...
Real time co-simulation platform using opal-rt and opnet for analyzing smart ...Real time co-simulation platform using opal-rt and opnet for analyzing smart ...
Real time co-simulation platform using opal-rt and opnet for analyzing smart ...
 
Scheduling and Allocation Algorithm for an Elliptic Filter
Scheduling and Allocation Algorithm for an Elliptic FilterScheduling and Allocation Algorithm for an Elliptic Filter
Scheduling and Allocation Algorithm for an Elliptic Filter
 
MPSoC Platform Design and Simulation for Power %0A Performance Estimation
MPSoC Platform Design and  Simulation for Power %0A Performance EstimationMPSoC Platform Design and  Simulation for Power %0A Performance Estimation
MPSoC Platform Design and Simulation for Power %0A Performance Estimation
 
Pretzel: optimized Machine Learning framework for low-latency and high throu...
Pretzel: optimized Machine Learning framework for  low-latency and high throu...Pretzel: optimized Machine Learning framework for  low-latency and high throu...
Pretzel: optimized Machine Learning framework for low-latency and high throu...
 
Planuling & Phasing
Planuling & PhasingPlanuling & Phasing
Planuling & Phasing
 
Implementing an ATL Model Checker tool using Relational Algebra concepts
Implementing an ATL Model Checker tool using Relational Algebra conceptsImplementing an ATL Model Checker tool using Relational Algebra concepts
Implementing an ATL Model Checker tool using Relational Algebra concepts
 
Verification of confliction and unreachability in rule based expert systems w...
Verification of confliction and unreachability in rule based expert systems w...Verification of confliction and unreachability in rule based expert systems w...
Verification of confliction and unreachability in rule based expert systems w...
 
10 3
10 310 3
10 3
 
K-10714 ABHISHEK(MATLAB )
K-10714 ABHISHEK(MATLAB )K-10714 ABHISHEK(MATLAB )
K-10714 ABHISHEK(MATLAB )
 
Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP
Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP
Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP
 
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docx
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docxCS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docx
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docx
 
shashank_mascots1996_00501002
shashank_mascots1996_00501002shashank_mascots1996_00501002
shashank_mascots1996_00501002
 

Más de M Reza Rahmati

Geometric Control System and Fault-Diagnosis
Geometric Control System and Fault-Diagnosis Geometric Control System and Fault-Diagnosis
Geometric Control System and Fault-Diagnosis M Reza Rahmati
 
Robust reachability analysis NASA
Robust reachability analysis NASARobust reachability analysis NASA
Robust reachability analysis NASAM Reza Rahmati
 
Reachability Analysis Control of Non-Linear Dynamical Systems
Reachability Analysis Control of Non-Linear Dynamical SystemsReachability Analysis Control of Non-Linear Dynamical Systems
Reachability Analysis Control of Non-Linear Dynamical SystemsM Reza Rahmati
 
Reachability Analysis "Control Of Dynamical Non-Linear Systems"
Reachability Analysis "Control Of Dynamical Non-Linear Systems" Reachability Analysis "Control Of Dynamical Non-Linear Systems"
Reachability Analysis "Control Of Dynamical Non-Linear Systems" M Reza Rahmati
 
Modeling and Prototyping Physical Neural Network and On-Line Learning Perform...
Modeling and Prototyping Physical Neural Network and On-Line Learning Perform...Modeling and Prototyping Physical Neural Network and On-Line Learning Perform...
Modeling and Prototyping Physical Neural Network and On-Line Learning Perform...M Reza Rahmati
 
Neural Network Dynamical Systems
Neural Network Dynamical Systems Neural Network Dynamical Systems
Neural Network Dynamical Systems M Reza Rahmati
 
Planning and Control Algorithms Model-Based Approach (State-Space)
Planning and Control Algorithms Model-Based Approach (State-Space)Planning and Control Algorithms Model-Based Approach (State-Space)
Planning and Control Algorithms Model-Based Approach (State-Space)M Reza Rahmati
 
Geometrical control theory
Geometrical control theoryGeometrical control theory
Geometrical control theoryM Reza Rahmati
 
Optimal Control System Design
Optimal Control System DesignOptimal Control System Design
Optimal Control System DesignM Reza Rahmati
 
Geometry methods dynamical_system_theory
Geometry methods dynamical_system_theoryGeometry methods dynamical_system_theory
Geometry methods dynamical_system_theoryM Reza Rahmati
 
The Existence and Laws of Our Universe
The Existence and Laws of Our Universe The Existence and Laws of Our Universe
The Existence and Laws of Our Universe M Reza Rahmati
 
Modelling Time in Computation (Dynamic Systems)
Modelling Time in Computation (Dynamic Systems)Modelling Time in Computation (Dynamic Systems)
Modelling Time in Computation (Dynamic Systems)M Reza Rahmati
 
Finite Elements libmesh
Finite Elements libmesh Finite Elements libmesh
Finite Elements libmesh M Reza Rahmati
 

Más de M Reza Rahmati (15)

Geometric Control System and Fault-Diagnosis
Geometric Control System and Fault-Diagnosis Geometric Control System and Fault-Diagnosis
Geometric Control System and Fault-Diagnosis
 
Robust reachability analysis NASA
Robust reachability analysis NASARobust reachability analysis NASA
Robust reachability analysis NASA
 
Reachability Analysis Control of Non-Linear Dynamical Systems
Reachability Analysis Control of Non-Linear Dynamical SystemsReachability Analysis Control of Non-Linear Dynamical Systems
Reachability Analysis Control of Non-Linear Dynamical Systems
 
Reachability Analysis "Control Of Dynamical Non-Linear Systems"
Reachability Analysis "Control Of Dynamical Non-Linear Systems" Reachability Analysis "Control Of Dynamical Non-Linear Systems"
Reachability Analysis "Control Of Dynamical Non-Linear Systems"
 
Modeling and Prototyping Physical Neural Network and On-Line Learning Perform...
Modeling and Prototyping Physical Neural Network and On-Line Learning Perform...Modeling and Prototyping Physical Neural Network and On-Line Learning Perform...
Modeling and Prototyping Physical Neural Network and On-Line Learning Perform...
 
Neural Network Dynamical Systems
Neural Network Dynamical Systems Neural Network Dynamical Systems
Neural Network Dynamical Systems
 
HyperSpace
HyperSpace HyperSpace
HyperSpace
 
Planning and Control Algorithms Model-Based Approach (State-Space)
Planning and Control Algorithms Model-Based Approach (State-Space)Planning and Control Algorithms Model-Based Approach (State-Space)
Planning and Control Algorithms Model-Based Approach (State-Space)
 
Geometrical control theory
Geometrical control theoryGeometrical control theory
Geometrical control theory
 
Optimal Control System Design
Optimal Control System DesignOptimal Control System Design
Optimal Control System Design
 
Geometry methods dynamical_system_theory
Geometry methods dynamical_system_theoryGeometry methods dynamical_system_theory
Geometry methods dynamical_system_theory
 
The Existence and Laws of Our Universe
The Existence and Laws of Our Universe The Existence and Laws of Our Universe
The Existence and Laws of Our Universe
 
Modelling Time in Computation (Dynamic Systems)
Modelling Time in Computation (Dynamic Systems)Modelling Time in Computation (Dynamic Systems)
Modelling Time in Computation (Dynamic Systems)
 
Finite Elements libmesh
Finite Elements libmesh Finite Elements libmesh
Finite Elements libmesh
 
Germany2003 gamg
Germany2003 gamgGermany2003 gamg
Germany2003 gamg
 

Último

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Último (20)

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

Component Based Control System Design

  • 1. Component-Based Design and Analysis of Embedded Systems with UPPAAL PORT John H˚ kansson1 , Jan Carlson2 , Aurelien Monot3 , Paul Pettersson2 , and Davor Slutej2 a 1 Department of Information Technology, Uppsala University, Sweden johnh@it.uu.se 2 M¨ lardalen Real-Time Research Centre, V¨ ster˚ s, Sweden a a a jan.carlson@mdh.se, paul.pettersson@mdh.se, davor@slutej.com 3 Ecole des Mines, Nancy, France aurelien.monot@mines-nancy.org Abstract. U PPAAL PORT is a new tool for component-based design and analysis of embedded systems. It operates on the hierarchically structured continuous time component modeling language SaveCCM and provides efficient model-checking by using partial-order reduction techniques that exploits the structure and the component behavior of the model. U PPAAL PORT is implemented as an extension of the verification engine in the U PPAAL tool. The tool can be used as back-end in to the Eclipse based SaveCCM integrated development environment, which supports user friendly editing, simulation, and verification of models. 1 Introduction U PPAAL PORT1 is a new extension of the U PPAAL tool. It supports simulation and model-checking of the component modelling language SaveCCM [1,6], which has been designed primarily for development of embedded systems in the area of vehicular systems. In SaveCCM, an embedded system is modelled as interconnected components with explicitly defined input and output ports for data and control. A component can be an encapsulation of a system of interconnected components, which externally behaves as a component, or a primitive component. In the latter case the functional and timing behaviour of a component is described as a timed automaton [2]. U PPAAL PORT accepts the hierarchical SaveCCM modelling language, represented in XML format, and provides analysis by model-checking without conversion or flattening to the model of network of timed automata normally used in the U PPAAL tool. The hierarchical structure of the model, and the particular “read-execute-write” component semantics adopted in SaveCCM is exploited in the tool to improve the efficiency of the model-checking analysis, which is further improved by a partial order reduction technique [10]. To provide user friendliness, U PPAAL PORT can serve as back-end in the SaveCCM integrated development environment (SAVE-IDE) based on Eclipse, see Fig. 1. We have 1 This work was partially supported by the Swedish Foundation for Strategic Research via the strategic research centre PROGRESS. U PPAAL PORT is available from the web page www.uppaal.org/port Cha et al. (Eds.): ATVA 2008, LNCS 5311, pp. 252–257, 2008. c Springer-Verlag Berlin Heidelberg 2008
  • 2. Component-Based Design and Analysis of Embedded Systems with UPPAAL PORT 253 Fig. 1. SAVE-IDE architectural editor (upper view) and U PPAAL PORT simulator (lower view) developed several plug-ins to integrate the two tools: an editor for timed automata descriptions of the functional and timing behaviour of components, support for mapping internal timed automata variables to external ports, a simulator that can be used to validate the behaviour of a SaveCCM system, and support for verifying reachability and liveness properties formalised in a subset of Timed CTL. Related work includes for example the BIP component framework [9], where a system is constructed in three layers: behaviour, interaction, and priorities. Partial order techniques for timed automata are described for example in [11,7,5]. See also [10] for additional related work. 2 Real-Time Component Specification The modelling language employed in U PPAAL PORT is SaveCCM — a component modelling language for embedded systems [1,6]. In SaveCCM, systems are built from interconnected components with well-defined interfaces consisting of input- and output ports. The communication style is based on the pipes-and-filters paradigm, but with an explicit separation of data transfer and control flow. The former is captured by connections between data ports where data of a given type can be written and read, and the latter by trigger ports that control the activation of components. Fig. 2 shows an example of the graphical SaveCCM notation. Triangles and boxes denote trigger ports and data ports, respectively.
  • 3. 254 J. H˚ kansson et al. a A component remains passive until all input trigger ports have been activated, at which point it first reads all its input data ports and then performs the associated computations over this input and an internal state. After this, the component writes to its output data ports, activates the output trigger ports, and returns to the passive state again. This strict “read-execute-write” semantics ensures that once a component is triggered, the execution is functionally independent of any concurrent activity. Components are composed into more complex structures by connecting output ports to input ports of other <<Component>> <<Component>> components. In addition to this “horizontal” composition, components can be composed hierarchically by placing a collection of interconnected components inside an enclosing component. From the outside, such a composite Fig. 2. Composition of two SaveCCM components component is indistinguishable from a primitive component where the behaviour is given by a single model or piece of code. To support analysis and synthesis, a number of quality attributes and models can be associated with a component, such as execution time information, reliability estimates, safety models, etc. For U PPAAL PORT, it is required that each component is associated with a behavioural model consisting of a timed automaton and a mapping between component data ports and automata variables. 3 Model-Checking Real-Time Components To support the dependability requirements of embedded real-time systems, SaveCCM is designed for predictability in terms of functionality, timeliness, and resource usage. In particular, the independence introduced by the “read-execute-write” semantics can be exploited for analysis purposes using partial order reduction techniques (PORT). When model-checking, PORTs explore only a subset of the state space. The idea is to define equivalence between traces based on reordering of independent actions, and to explore a representative trace for each equivalence class.This approach has been successful for untimed systems, but for timed automata (TA) the implicit synchronization of global time restricts independence of actions [3,11]. In [10] we have described a PORT for SaveCCM which we have implemented in the U PPAAL PORT tool. As in [3,12] we use local time semantics to increase independence. The structure of a SaveCCM system is used to partition local time-scales, to determine independence of activities, and to construct the Ample-set. Fig. 3 shows the tool architecture of U PPAAL PORT. The SAVE-IDE integrates an editor for SaveCCM systems in the Eclipse framework, as well as a TA editor to model the timing and behaviour of components. U PPAAL PORT adds support for simulation and verification, using a client-server architecture. When a new SaveCCM system is loaded into the server, the XML parser builds internal representations of U PPAAL TA
  • 4. Component-Based Design and Analysis of Embedded Systems with UPPAAL PORT SAVE-IDE (SaveCCM modelling tool) TA editor plug-in (timing/behaviour modelling) Uppaal PORT plug-in (simulation and verification) command response UPPAAL PORT server Trans Ample Succ Delay 255 XML Parser Norm state space representation UPPAAL TA representation Query yes / no / maybe initial state SaveCCM system representation Fig. 3. Overview of the U PPAAL PORT tool architecture and the SaveCCM system. By separating the U PPAAL TA representation when a new SaveCCM system is parsed we can reuse much of the source code from the U PPAAL model-checker. The verification setup is shown in Fig. 3 as pipeline stages connected to the state space representation, as described in [8]. Unexplored states are put into the transition filter (Trans), which computes the enabled transitions. Each transition is forwarded with a copy of the state to the successor filter (Succ), which computes the resulting state after the transition. These two filters of the U PPAAL verifier are extended to implement the SaveCCM semantics. An additional filter (Ample) selects a sufficiently large subset of enabled transitions to be explored in order to model-check the property. This filter implements the PORT described in [10]. The zone representation is replaced with local time zones that are implemented as a data structure similar to Difference Bound Matrices (DBMs), as described for example in [3]. When a component writes data to other components, the local time-scales of participating components are synchronized by the successor filter. In combination with a modified filter (Delay) this implements local time semantics. The purpose of the normalisation filter (Norm) is to ensure that the state space is finite. This remains to be updated in order to handle the ‘difference constraints’ introduced by using local time. The transition, successor, and delay filters are used also during simulation to compute possible transitions from the current state of the simulator, and to compute a new state for the simulation when the user selects to make a transition. 4 Case Studies U PPAAL PORT has so far been applied to some benchmark examples, and two larger case studies. In [1], we present how an early version of U PPAAL PORT is applied to analyse a SaveCCM model of an adaptive cruise controller. A small benchmark of the partial order reduction technique implemented in the tool is described in [10], showing significant improvement over the standard global time semantics of, e.g., U PPAAL.
  • 5. 256 J. H˚ kansson et al. a We are currently modelling and analysing a turntable production unit [4]. The system has been modelled and the specified requirements (similar to those given in [4]) have been analysed by model-checking. The turntable system consists of a rotating disc (turntable) with four product slots and four tools in fixed positions around the turntable; the tools operate on the products, as illustrated in Fig. 4. Each slot either holds a single product in some state of the production cycle or is empty. After each 90◦ rotation of the turntable, the tools are allowed to operate - the turntable is stationary until all tools have finished operating. All slots can hold products and tools are allowed to work in parallel. The architecture of the system is encapsulated by five SaveCCM components (a turntable and four tools) modelled using SaveCCM timed automata, which are passive and activated by trigger ports. Each component TA wraps C-style code that defines the actual behaviour of the component. This C-style code is directly interpreted by U P PAAL PORT and is suitable as basis for expansion into a production system (the code used in the model for verification Fig. 4. Turntable system overview has no timeout-detection and error-handling). The control system communicates with the environment by means of external ports that are defined at the root application level. When the code is generated for the target platform these ports are connected to the sensors and actuators. For simulation and verification purposes however, the external ports are mapped to global variables in the environment model. The environment model is constructed using the U PPAAL tool and utilizes U PPAAL timed automata, which, contrasting the SaveCCM TAs, are active. Properties of safety and liveness are expressed as statements in the U PPAAL requirement specification language. To support more complex queries (involving a sequence of states), a test automaton is constructed in U PPAAL as a part of the environment model. The test automaton is connected to relevant ports in the SaveCCM model, to eliminate the need for test flags and other verification specific (as opposed to functional) additions to the control system model. Model-checking the properties requires around 16MB at peak and an average of around 3 seconds per verified property (on an Intel T2600 2.16 GHz processor). The verification tool only needs to explore a maximum of 38,166 states to verify properties such as deadlock freedom.
  • 6. Component-Based Design and Analysis of Embedded Systems with UPPAAL PORT 257 5 Conclusion In this paper, we have briefly described the new tool U PPAAL P ORT that extends the verification engine of U PPAAL with partial order verification techniques for the real-time component language SaveCCM. Our initial experiments with the new verifier have been very encouraging and we are now in progress with evaluating U PPAAL P ORT (together with the SaveCCM component modeling language and Save IDE) in a larger case study. As future work, U PPAAL P ORT will be expended to support a richer component modeling language with components that may be active, have multiple service interfaces, or use other forms of communication. References ˚ 1. Akerholm, M., Carlson, J., Fredriksson, J., Hansson, H., H˚ kansson, J., M¨ ller, A., Pettersa o son, P., Tivoli, M.: The SAVE approach to component-based development of vehicular systems. Journal of Systems and Software 80(5), 655–667 (2007) 2. Alur, R., Dill, D.L.: A theory of timed automata. Theoretical Computer Science 126(2), 183– 235 (1994) 3. Bengtsson, J., Jonsson, B., Lilius, J., Yi, W.: Partial order reductions for timed systems. In: Sangiorgi, D., de Simone, R. (eds.) CONCUR 1998. LNCS, vol. 1466, pp. 485–500. Springer, Heidelberg (1998) 4. Bortnik, E., Trˇ ka, N., Wijs, A.J., Luttik, S.P., van de Mortel-Fronczak, J.M., Baeten, J.C.M., c Fokkink, W.J., Rooda, J.E.: Analyzing a χ model of a turntable system using Spin, CADP and Uppaal. Journal of Logic and Algebraic Programming 65(2), 51–104 (2005) 5. Bouyer, P., Haddad, S., Reynier, P.-A.: Timed unfoldings for networks of timed automata. In: Graf, S., Zhang, W. (eds.) ATVA 2006. LNCS, vol. 4218, pp. 292–306. Springer, Heidelberg (2006) 6. Carlson, J., H˚ kansson, J., Pettersson, P.: SaveCCM: An analysable component model for a real-time systems. In: Proc. of the 2nd Workshop on Formal Aspects of Components Software (FACS 2005). Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam (2005) 7. Cassez, F., Chatain, T., Jard, C.: Symbolic unfoldings for networks of timed automata. In: Graf, S., Zhang, W. (eds.) ATVA 2006. LNCS, vol. 4218, pp. 307–321. Springer, Heidelberg (2006) 8. David, A., Behrmann, G., Larsen, K.G., Yi, W.: A tool architecture for the next generation of UPPAAL. In: Aichernig, B.K., Maibaum, T.S.E. (eds.) Formal Methods at the Crossroads. From Panacea to Foundational Support. LNCS, vol. 2757, pp. 352–366. Springer, Heidelberg (2003) 9. G¨ ssler, G., Sifakis, J.: Composition for component-based modelling. Science of Computer o Programming 55(1-3), 161–183 (2005) 10. H˚ kansson, J., Pettersson, P.: Partial order reduction for verification of real-time components. a In: Proc. of 1st International Workshop on Formal Modeling and Analysis of Timed Systems. LNCS. Springer, Heidelberg (2007) 11. Lugiez, D., Niebert, P., Zennou, S.: A partial order semantics approach to the clock explosion problem of timed automata. Theoretical Computer Science 345(1), 27–59 (2005) 12. Minea, M.: Partial order reduction for model checking of timed automata. In: Baeten, J.C.M., Mauw, S. (eds.) CONCUR 1999. LNCS, vol. 1664, pp. 431–446. Springer, Heidelberg (1999)