Elsevier

Journal of Systems and Software

Volume 68, Issue 2, 15 November 2003, Pages 153-165
Journal of Systems and Software

Modeling and verification of a class of real-time systems by the use of High Level Petri Nets

https://doi.org/10.1016/S0164-1212(02)00146-2Get rights and content

Abstract

Homogeneous, shared memory multiprocessors that incorporate real-time operating systems constitute in many corporations the basic platforms for developing applications of plant monitoring and automation. In this work, a template model based on the High Level Petri Net (HLPN) formalism is proposed for this class of computers. Mapping functional and timing requirements of the application software to states of this model and searching for their existence in the reachability tree of the net can verify the satisfaction of these requirements. A state searching algorithm has been developed for the case of a shared memory multiprocessor in which there is a bus-based interconnection network supporting a single communication channel for the exchange of data among the CPUs, the common memory and the computer interfaces. This algorithm groups the infinite number of states of the HLPN to a number of finite regions, identifies the region, which the desired state belongs to, and checks for the existence of a path from the initial state that leads to this region. In order to demonstrate the use of the template in the modeling and verification of timing and functional specifications of a system of the considered class, the implementation of the automation functions of a chemical reactor by a VME-bus based multiprocessor with two CPUs and running under the control of the OS-9 operating system was studied. In this study the template model was used to create a specific for this application HLPN model. The response times of two automation functions were predicted by the use of this model and compared with those derived from the operating characteristics of the reactor.

Introduction

Multiprocessing computer platforms with shared memory architectures are used extensively in industrial automation applications. The software that implements the automation functions is written as a series of separate program tasks that can execute concurrently. Separating main functions into different tasks and planning the way tasks will coordinate are crucial decisions taken during the phase of the basic design of the application software. Designers wish to have a model of the way their design will execute on a specific platform under specific input scenarios, in order to become able to assess the software response time and the satisfaction of critical functions (Clarke and Wing, 1996).

Over the last 20 years several researchers have developed models for various classes of multiprocessor systems with the purpose of studying different aspects of their timing and functional behavior. Different models have been proposed (Kriz, 1983; Marsan et al., 1984; Marsan et al., 1985; Mudge et al., 1985; Marsan et al., 1986; Peng and Shin, 1987; Woodbury and Shin, 1988; Bodnar and Liu, 1989; Hassapis, 1993; Jrjung et al., 1998) for assessing the adequacy of the computing power, the throughput, service rate and other similar performance indices of various single bus and multiple bus architectures under certain workload conditions. Other models (Zuberek, 1985; Zuberek, 1987; Zuberek et al., 1998; Lindemann, 1998; Koriem, 1999) have been proposed for assessing the probability of meeting task deadlines in distributed and bus-based multiprocessor architectures when various task allocation schemes to different processing elements are used. There are also models addressing the evaluation of a single aspect of the multiprocessing environment such as the CPU scheduling policy (Economides and Duboi, 1990) or the assignment of priorities to tasks (Ramani et al., 1992). The majority of these models are probabilistic, based mainly on Markov processes, queuing networks and stochastic Petri nets. In order to cope with the state explosion during model analysis and when the numbers of the processing elements and the application program tasks become large, these models view the running of the application programs in a very abstract way in which only the number of the processing elements and the task assignment to these elements are considered. The combined influence of the CPU scheduling, the task communication and synchronization policy and the algorithm that resolves the communication medium contention is expressed in an overall statistical distribution either of the task execution time or the task service time and the like. It is not feasible with the just referenced models to predict deterministic figures for program response time, functional behavior to various modes of the controlled process operation and specific input scenarios. However, in the case of industrial automation, applications can be decomposed to relatively small independent groups of interacting tasks that can run on computer platforms with a small number of processing elements. Therefore, it might be possible to form models that include the combined influence of the above-mentioned factors without facing an unmanageable state explosion during model analysis.

In this work the development of a model, based on the abstraction of the High Level Petri Net (HLPN) (Genrich, 1987; Morasca et al., 1991), is proposed. The model tries to describe the way the application software is executed on the computer platform over the time. The paper is organized in eight sections. In Section 2 an overview of the shared memory distributed multiprocessing architecture is given and the way application software can run on such a computer platform under a real-time operating system is described. In Section 3 an informal presentation of the HLPN formalism as a subclass of the parameterized abstract Petri nets is provided and how this formalism can be used to model the software execution on the considered computer platform is outlined. In Section 4 a descriptive and graphical presentation of the developed HLPN model is given and the data structure of the tokens is formally presented. Section 5 refers to an algorithm that finds whether a state of the net is reachable from an initial one. 6 Modeling an application example, 7 Model analysis deal with the modeling and analysis of the software designed for the automation of a chemical reactor. By using the developed Petri net model and the algorithm of Section 5 a prediction of the completion times of critical control functions is made by relating the execution of these functions with specific states of the net. These figures are compared with those obtained from the operating characteristics of the reactor and an assessment of the accuracy of the model predictive abilities is made. The conclusions drawn from this work are presented in Section 8.

Section snippets

The industrial computer platform

Multiprocessing shared memory architectures have been used in industrial automation applications since 1980. For small number of processors (typically less than 16 or 32) the dominant architecture was the single shared memory architecture with multiple processors, interconnected with a bus. Through the 1990s designers distributed the memory throughout the machine and used an interconnection network to scale to larger number of processors and enable processor memory pairs to communicate. The

High Level Petri Nets

A HLPN is a Petri net in which places are associated with different types of tokens and the tokens in each place are associated with a data structure. The transitions of a HLPN are associated with relationships that determine the enabling and firing of the transitions and determine the tokens produced by the transition firing. Extensions of these nets for handling time include in the data structure of their token a time stamp indicating the time of a token creation and a time interval within

Modeling the execution of the application software

The developed net has 14 places and 11 transitions. The data structure of each token is considered to consist of a set of attributes, each attribute being an ordered pair of the attribute identifier and the attribute value. One of the token attributes is a time stamp taking values at a multiple of consecutive kernel ticks which we call it ‘syst_time’. At these time instances the marking of the net is used to denote the state of the model execution, therefore the considered net may be viewed as

Timeliness and functional analysis of the net

For the verification of the timeliness task execution and the completion of task functions the widely applied method of the net reachability analysis was employed. As it is stated in (Ghezzi et al., 1991) the problem of finding the complete reachability tree of a net in its general case is undecidable. However, this does not imply that there is not an algorithm for each individual case that cannot terminate or verify whether a state is reachable from another without finding the entire

Modeling an application example

It is required to design the automation system of the operating cycle of a chemical reactor. The operating cycle of the reactor starts by raising the temperature in its interior to 40 °C and keeping it at this value until the reactor is filled with the mixture of two ingredients. Ingredient A is poured into the reactor by opening a solenoid valve, SOL1. When the level of the ingredient reaches a certain level determined by the state of a level switch, LLS1, then SOL1 is closed and ingredient B

Model analysis

Analyzing the model, conclusions can be drawn on whether considered control actions will be carried out within the required times. The analysis consists of obtaining the reachability tree of state-classes of the model and searching for states that can be related with the completion of tasks that perform the control actions. Then, the completion times of these tasks are compared with the times that the operating characteristics of the chemical reaction require for these control actions. For

Conclusions

It has been demonstrated in this work that the execution of application software developed on a homogeneous shared memory multiprocessor with a real-time multitasking operating system can be modeled by a HLPN. When various scenarios of occurrence of external events are considered, the states to which the model can be driven over the time can be generated by a proposed computer algorithm which copes with the state explosion problem by finding first the reachability tree of classes of states,

George Hassapis received his diploma in Electrical Engineering from the University of Patras, Greece and his M.Sc. and Ph.D. degrees from the Control Systems Centre of the University of Manchester, Institute of Science and Technology, UK in 1973 and 1978 respectively. After completing his military service he joined the Exxon Corporation in 1980 where he was involved in the design and development of computer-based instrumentation and process control systems. From October 1985 he is employed by

References (35)

  • V.C. Gerogiannis et al.

    Comparative study and categorization of high-level petri nets

    J. Syst. Softw.

    (1998)
  • G. Hassapis

    High-level Petri net modeling and analysis of VME-based multiprocessors

    Microprocess. Microprogram.

    (1993)
  • ANSI/IEEE STF 1014, 1987. The VME_bus Specification. VITA Zaltommel, The...
  • B. Berthomieu et al.

    Modeling and verification of time dependent systems using petri nets

    IEEE Trans. Softw. Eng.

    (1991)
  • B.L. Bodnar et al.

    Modeling and performance analysis of single-bus tightly coupled multiprocessors

    IEEE Trans. Comp.

    (1989)
  • G. Bucci et al.

    Compositional validation of time-critical systems using communicating time Petri nets

    IEEE Trans. Softw. Eng.

    (1995)
  • E. Clarke et al.

    Formal methods: state-of-the-art and future directions

    ACM Comput. Surv.

    (1996)
  • A.A. Economides et al.

    The performance of multiprogrammed multiprocessor scheduling policies

  • H. Ehrig et al.

    A uniform approach to petri nets

  • M. Gajewsky et al.

    In: The Petri Net Baukasten: An Overview, Unifying Petri Nets, LNCS 2128

  • H. Genrich

    Predicate/transition nets

  • C. Ghezzi et al.

    A unified high-level petri net formalism for time-critical systems

    IEEE Trans. Softw. Eng.

    (1991)
  • J. Hennessy et al.

    Cache-coherent distributed shared memory: perspectives on its development and future challenges

    IEEE Proc.

    (1999)
  • K. Jensen

    An Introduction to the Theoretical Aspects of Colored Petri Nets

    (1994)
  • K. Jensen

    Colored Petri Nets––Basic Concepts, Analysis Methods and Practical Use, vol. 2

    (1994)
  • L. Jrjung et al.

    Petri nets for performance modelling study of client–server systems

    Int. J. Syst. Sci.

    (1998)
  • M.S. Koriem

    R-nets for the performance evaluation of hard real-time systems

    J. Syst. Softw.

    (1999)
  • Cited by (2)

    George Hassapis received his diploma in Electrical Engineering from the University of Patras, Greece and his M.Sc. and Ph.D. degrees from the Control Systems Centre of the University of Manchester, Institute of Science and Technology, UK in 1973 and 1978 respectively. After completing his military service he joined the Exxon Corporation in 1980 where he was involved in the design and development of computer-based instrumentation and process control systems. From October 1985 he is employed by the Aristotle University of Thessaloniki, Dpt. of Electrical and Computer Engineering where he holds the position of the Associate Professor. He served as Head of the Division of Electronics and Computer Engineering of the Department from October of 1996 until the August of 1998 and he is the Director of the Computer Systems Architecture Laboratory. His current research interests are focused on real-time computer systems, advanced computer architectures and hybrid systems. He is a member of IEEE, the Technical Chamber of Greece, a chartered engineer of the Engineering Council of UK and recipient of ABI awards. He is the author of a book and more than 50 publications in scientific journals, conference proceedings and book chapters.

    Dimitra Ananidou, received a Bachelor degree in Physics from the Aristotle University of Thessaloniki, Greece in 1975, a Bachelor degree in Information Technology from the Technological Educational Institute of Thessaloniki, Greece and a Ph.D. degree from the Department of Electrical and Computer Engineering of the Artistotle University of Thessaloniki in 2000. Since 1979 she is teaching at the 6th Technical High School of Thessaloniki. Her research interests are in the areas of real-time systems and Petri nets.

    View full text