PROMELA (Process or Protocol Meta Language) is a verification modeling language introduced by Gerard J. Holzmann. The language allows for the dynamic creation of concurrent processes to model, for example, distributed systems. In PROMELA models, communication via message channels can be defined to be synchronous (i.e., rendezvous), or asynchronous (i.e., buffered). PROMELA models can be analyzed with the SPIN model checker, to verify that the modeled system produces the desired behavior. An implementation verified with Isabelle/HOL is also available, as part of the Computer Aided Verification of Automata project.
PROMELA is a process modeling language whose intended use is to verify the logic of parallel systems. Given a program in PROMELA, Spin can verify the model for correctness by performing random or iterative simulations of the modeled system's execution, or it can generate a C program that performs a fast exhaustive verification of the system state space. During simulations and verifications SPIN checks for the absence of deadlocks, unspecified receptions, and unexecutable code. The verifier can also be used to prove the correctness of system invariants and it can find non-progress execution cycles. Finally, it supports the verification of linear time temporal constraints; either with Promela never-claims or by directly formulating the constraints in temporal logic. Each model can be verified with Spin under different types of assumptions about the environment. Once the correctness of a model has been established with Spin, that fact can be used in the construction and verification of all subsequent models.
Every now and then I think about you Wondered how I’d ever live without
you Whenever I think I figured it out my reasons turn to shame so I wash
em down forget it now I wanted you to stay but I watched myself fall away
from you So lay me down if you’re broken hearted and let the sunlight
shine in I’ll hold you close if I think you’re falling so we wont burn out in
the end I still have your pictures I still wonder how you are I’ve heard
about you and how you fell apart and I know you’ve been wasting for so
long now and I’m sorry that I did nothing to turn you around I just
watched myself (watched myself) fall away from you lay me down if you’re
broken hearted and let the sunlight shine in I’ll hold you close if I think
you’re falling so we won’t burn out in the end Shouldn’t I learn a thing or
two shouldn’t I wake up next to you shouldn’t I be the one that said to
hold you hold you shouldn’t I shouldn’t I shouldn’t I shouldn’t I hold you
hold you lay me down if you’re broken hearted and let the sunlight shine
in I’ll hold you close if I think you’re falling so we wont burn out in the
end lay me down if you’re broken hearted and let the sunlight shine in I’ll
hold you close if I think you’re falling so we wont burn out in the end in