Everything about Promela
Verification modeling language
PROMELA 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, or asynchronous. 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 (CAVA) project. Files written in Promela traditionally have a .pml file extension. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: PromelaA 5-minute orientation
- Skim a recent paper: From symbolic constraint automata to PromelaInfluential work since 2022
- Pick up a classic book: Antaraṅga āloke Najarula o PramīlāThe most-reprinted book on the subject
- Read the landmark paper: Issues in slicing PROMELA and its applications to model checking, protocol understanding, and simulationCited 41 times
- Go sideways: SystemVerilogA closely related topic
- Go sideways: Guarded Command LanguageA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Issues in slicing PROMELA and its applications to model checking, protocol understanding, and simulation
Formalization and validation of the General Inter-ORB Protocol (GIOP) using PROMELA and SPIN
Bounded verification of message-passing concurrency in Go using Promela and Spin
A generalized semantics of PROMELA for abstract model checking
SpinS: Extending LTSmin with Promela through SpinJa
DEv-PROMELA: modeling, verification, and validation of a video game by combining model-checking and simulation
Sdl2pml — Tool for automated generation of Promela model from SDL specification
Spin-to-Grape: A Tool for Analysing Symmetry in Promela Models
🆕 Influential since 2022
From symbolic constraint automata to Promela
PROMELA based formal verification for safety-critical software
Разработка транслятора кода из C в Promela, как компонента интеллектуальной обучающей системы для обучения программированию
Synthesizing Promela model sketches using abstract lifted model checking
📚 Books worth reading
- 📕Antaraṅga āloke Najarula o PramīlāĀsādula Haka · 2009
- 📕A short-term test method for assessing the reproductive toxicity of endocrine-disrupting chemicals using the fathead minnow (Pimephales promelas) · 2002
- 📕Standard test fish developmentIra R. Adelman · 1976
- 📕Short-term toxicity, pharmacokinetics, and critical body residues (CBR) for 1,1,2,2-tetrachloroethane, 1,4-dichlorobenzene, pentachlorobenzene, and hexachlorobenzene in larval fathead minnows (Pimephales promelas)Kory J Groetsch · 1996
Design and validation of computer protocolsGerard J. Holzmann · 1991- 📕Antaraṅga āloke Najarula o Pramīlā · 2009
- 📕Acute toxicities of organic chemicals to fathead minnows (Pimephales promelas) · 1984
- 📕Acute Toxicities of Organic Chemicals to Flathead Minnows (Pimephales Promelas)D. L. Geiger, C. E. Northcott · 1985
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- SystemVerilog SystemVerilog, standardized as IEEE 1800 by the Institute of Electrical and Electronics Engineers (IEEE), is a hardware description and hardware verification…
- Guarded Command Language The Guarded Command Language (GCL) is a programming language defined by Edsger Dijkstra for predicate transformer semantics in EWD472. It combines programming…
- XQuery API for Java XQuery API for Java (XQJ) refers to the common Java API for the W3C XQuery 1.0 specification. The XQJ API enables Java programmers to execute XQuery against…
- C syntax C syntax is the form that text must have in order to be C programming language code. The language syntax rules are designed to allow for code that is terse…
- Branch table In computer programming, a branch table or jump table is a method of transferring program control (branching) to another part of a program (or a different…
- PL/SQL PL/SQL (Procedural Language for SQL) is Oracle Corporation's procedural extension for SQL and the Oracle relational database. PL/SQL is available in Oracle…
- SuperPascal SuperPascal is an imperative, concurrent computing programming language developed by Per Brinch Hansen. It was designed as a publication language: a thinking…
- Comparison of Pascal and C The computer programming languages C and Pascal have similar times of origin, influences, and purposes. Both were used to design (and compile) their own…