--%>

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 : What is Filter stream Filter stream :

    Filter stream: It is an input-output class which filters or manipulates its stream of input- or output-data in some manner. Two illustrations are: DataInputStream and DataOutputStream.

  • Q : Explain Throw statement Throw statement

    Throw statement: It is a statement employed to throw an exception. For example:     throw new IndexOutOfBoundsException(i+" is too large.");

  • Q : Introduction to Programming for

    The purpose of this assignment is to get you started with C++ programming. You'll develop simple programs (with input and output) to solve simple mathematical and engineering problems. 1. Write a program to compute the area A of an

  • Q : Model Java Interface applications What

    What wide range of applications are provided by Model Java Interface?

  • Q : Define Zip file Zip file : It is a file

    Zip file: It is a file employed to store compressed versions of the files. In connection with Java bytecode files, such have mostly been superseded by the Java Archive (abbreviated as JAR) files.

  • Q : State the terms preemption and context

    State the terms preemption and context switching.

  • Q : Define the term Static type Define the

    Define the term Static type: It is the static type of an object is the declared type of the variable employed to refer to it.

  • Q : Write a program that initializes an

    Write a program that initializes an integer array a[20] with values {0, 1, 2, 3, ...18, 19 - once each} then scrambles them up and prints the values in random order. For example: 19 2 3 8 11 1 4 17 7 15 9 0 16 12 18 13 5 6 10 14    

  • Q : State Precedence rules Precedence rules

    Precedence rules: The rules which determine the order of computation of an expression comprising more than one operator. The operators of higher precedence are computed before those of lower precedence. For example, in the expression x+y*z, the multip

  • Q : Explain Counters Counter variables are

    Counter variables are commonly used in many computer applications for different purposes. Here is a typical example where a variable is used to measures the progress of some activity of interest:

    Discover Q & A

    Leading Solution Library
    Avail More Than 1415734 Solved problems, classrooms assignments, textbook's solutions, for quick Downloads
    No hassle, Instant Access
    Start Discovering

    18,76,764

    1937519
    Asked

    3,689

    Active Tutors

    1415734

    Questions
    Answered

    Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!

    Submit Assignment

    ©TutorsGlobe All rights reserved 2022-2023.