In this paper, we describe a plug-in for the Rhapsody tool, which demonstrates how UML models with SPT annotations can be analysed using the Times tool — a tool for modelling, schedulability analysis, and code generation for timed systems. The plug-in takes as input an UML model consisting of an assembly of components whose behaviours are specified by statecharts. Operations may be annotated with SPT timing parameters for their execution time, deadline, priority etc. The output is a network of timed automata extended with tasks that can be analysed using the Times tool. In particular, the Times tool will show whether the operations invoked from the UML model are guaranteed to meet their deadlines or not. We describe how this has been done in a case study where an SPT annotated UML model of an adaptive cruise controller is studied. 1 UML with SPT Annotations We use a subset of UML with SPT annotations (the UML profile for Scheduling, Performance and Time [11]) as an input language for our tool. The models that can be analysed are hierarchical static structure diagrams containing objects representing components or assemblies of components. The behaviour of each component is described by an associated statechart, each executing in its own thread of control. Figure 1 shows an example which can be analysed with the tool presented in this paper. Component A is composed of subcomponents B and C whose corresponding statecharts are shown to the right of the structure diagram. The operations of components represent tasks being scheduled for execution. We apply the SPT stereotype SAAction for operations to annotate them with parameters such as priority, computation time, deadline, etc. Parameters of the operation foo of C are shown in Figure 1. Operations are triggered by statecharts, and operations triggered by the same statechart are executed synchronously. Components can have ports that can be connected with directed links allowing for interaction between them. There are two types of ports, namely data ports and trigger ports. Data ports are defined using DataPort interface which has two methods get and set. Links between data ports are one place buffers that
[1]
Wang Yi,et al.
Timed Automata with Asynchronous Processes: Schedulability and Decidability
,
2002,
TACAS.
[2]
Paulo Martins,et al.
Integrating Real-Time UML Models with Schedulability Analysis
,
2001
.
[3]
Wang Yi,et al.
Formal Verification of UML Statecharts with Real-Time Extensions
,
2002,
FASE.
[4]
Iulian Ober,et al.
Model checking of UML models via a mapping to communicating extended timed automata
,
2003
.
[5]
David Harel,et al.
Executable object modeling with statecharts
,
1996,
Proceedings of IEEE 18th International Conference on Software Engineering.
[6]
Ivica Crnkovic,et al.
SaveCCM - a component model for safety-critical real-time systems
,
2004,
Proceedings. 30th Euromicro Conference, 2004..
[7]
Edmund M. Clarke,et al.
Counterexample-guided abstraction refinement
,
2003,
10th International Symposium on Temporal Representation and Reasoning, 2003 and Fourth International Conference on Temporal Logic. Proceedings..
[8]
Wang Yi,et al.
TIMES: A Tool for Schedulability Analysis and Code Generation of Real-Time Systems
,
2003,
FORMATS.
[9]
Hassen Saïdi,et al.
Construction of Abstract State Graphs with PVS
,
1997,
CAV.
[10]
Rajeev Alur,et al.
A Theory of Timed Automata
,
1994,
Theor. Comput. Sci..