--%>

Modeling Language for SPIN-Promela

Modeling Language: The modeling language used for SPIN is called Promela (Process Meta Language). In fact, the name SPIN stands for Simple Promela Interpreter. Promela is a powerful C-like specification language with a variety of synchronization primitives that enables construction of models of distributed systems. Promela is a guarded command language for specifying possibly non-deterministic system behaviors in a distributed system design. It allows for the dynamic creation of concurrent processes which communicate synchronously or asynchronously via message channels.

For example, the following Promela specification describes two processes P and Q that synchronize over a critical region.

2110_promela1.jpg

A Promela model consists of declarations of types, channels, variables, and processes, as well as facilities for initializing the processes. For example,

2359_promela2.jpg

A model consists of a set of concurrent processes, each in turn consisting of a set of atomic guarded actions or transitions. An action whose guard is true is called enabled and can be executed; otherwise, it is disabled and cannot be executed. Actions are not really executed concurrently; rather, they are non-deterministically interleaved, and this is used to model concurrency. Also processes do not have to terminate, which is useful when modeling reactive systems.

   Related Questions in Programming Languages

  • Q : Define the term Constant Define the

    Define the term Constant: A variable whose value might not be changed. In Java, such are implemented by the final variables.

  • Q : Explain Aggregation Aggregation : It is

    Aggregation: It is a relationship in which an object has one or more other subordinate objects as portion of its state. The subordinate objects usually have no self-governing existence separate from their containing object. Whenever the containing obj

  • Q : Define the term Boot Boot: Whenever a

    Boot: Whenever a computer is switched on it is said to be `boot up'. This word comes from the phrase, “Pulling yourself up by your bootstraps”. Before a computer is ready to be utilized, it should load the programs which it requires from i

  • Q : Task decomposition and Data

    Discuss the idea of task decomposition and data decomposition within the perspective of parallel programming.

  • Q : Define the term RGB Color Model Define

    Define the term RGB Color Model: It is a color model based on representing a color as three components: green, red, and blue.

  • Q : Problem on Planar scintigraphy Let

    Let assume seven PMTs situated around the origin of the x-y coordinates on the face of the Anger camera as illustrated in the figure. The size of the PMTs is 2mm by 2 mm and each PMT has been allocated a number. The single scintillation event yields a response from PM

  • Q : Define the term Condition Define the

    Define the term Condition: It is a Boolean expression which controls a conditional statement or loop.

  • Q : Storing the CSS Definitions in external

    Describe the code in order to store CSS Definitions within the external Files.

  • Q : Define undershoot You have a driver as

    You have a driver as drives a long signal and connect to an input device. On the input device there is either undershoot, overshoots or signal threshold violations, so what can be done to correct such problem?

  • Q : What is Central Processing Unit Central

    Central Processing Unit: The Central Processing Unit (that is, CPU) is the heart of a computer as it is the portion that includes the computer's capability to follow instructions. Each kind of CPU has its own instruction set.