English
Related papers

Related papers: Alloy meets TLA+: An exploratory study

200 papers

In this paper I discuss how can lightweight formal methods be used to specify and verify software with complex configurations (for example, distributed protocols that work on specific network configurations). More specifically, I briefly…

Software Engineering · Computer Science 2024-07-19 Alcino Cunha

TLA+ is a formal specification language used for designing, modeling, documenting, and verifying systems through model checking. Despite significant interest from the research community, knowledge about usage of the TLA+ ecosystem in…

Software Engineering · Computer Science 2024-11-22 Roman Bögli , Leandro Lerena , Christos Tsigkanos , Timo Kehrer

Alloy is formal modeling language based on first-order relational logic, with no specific support for specifying reactive systems. We propose the usage of temporal logic to specify such systems, and show how bounded model checking can be…

Software Engineering · Computer Science 2015-06-26 Alcino Cunha

Formal techniques have been shown to be useful in the development of correct software. But the level of expertise required of practitioners of these techniques prohibits their widespread adoption. Formal techniques need to be tailored to…

Software Engineering · Computer Science 2007-05-23 William Heaven , Alessandra Russo

Linear Temporal Logic (LTL) is the standard specification language for reactive systems and is successfully applied in industrial settings. However, many shortcomings of LTL have been identified in the literature, among them the limited…

Logic in Computer Science · Computer Science 2021-04-30 Daniel Neider , Alexander Weinert , Martin Zimmermann

Linear Temporal Logic (LTL) is the standard specification language for reactive systems and is successfully applied in industrial settings. However, many shortcomings of LTL have been identified in the literature, among them the limited…

Logic in Computer Science · Computer Science 2019-09-19 Daniel Neider , Alexander Weinert , Martin Zimmermann

TLA+ is a specification language based on standard set theory and temporal logic that has constructs for hierarchical proofs. We describe how to write TLA+ proofs and check them with TLAPS, the TLA+ Proof System. We use Peterson's mutual…

Software Engineering · Computer Science 2012-08-30 Denis Cousineau , Damien Doligez , Leslie Lamport , Stephan Merz , Daniel Ricketts , Hernán Vanzetto

Writing declarative models has numerous benefits, ranging from automated reasoning and correction of design-level properties be-fore systems are built, to automated testing and debugging of their implementations after they are built. Alloy…

Software Engineering · Computer Science 2021-10-25 Ana Jovanovic , Allison Sullivan

Feature Models (FMs) are a mechanism to model variability among a family of closely related software products, i.e. a software product line (SPL). Analysis of FMs using formal methods can reveal defects in the specification such as…

Software Engineering · Computer Science 2016-04-04 Anjali Sree-Kumar , Elena Planas , Robert Clarisó

This paper presents a framework for modeling, simulating, and checking properties of critical systems based on the Alloy language -- a declarative, first-order, relational logic with a built-in transitive closure operator. The paper…

Logic in Computer Science · Computer Science 2014-08-05 Aboubakr Achraf El Ghazi , Ulrich Geilmann , Mattias Ulbrich , Mana Taghdiri

TLA+ is a formal language for specifying systems, including distributed algorithms, that is supported by powerful verification tools. In this work we present a framework for relating traces of distributed programs to high-level…

Programming Languages · Computer Science 2024-09-18 Horatiu Cirstea , Markus A. Kuppe , Benjamin Loillier , Stephan Merz

Alloy is a lightweight formal specification language, supported by an IDE, which has proven well-suited for reasoning about software design in early development stages. The IDE provides a visualizer that produces graphical representations…

Human-Computer Interaction · Computer Science 2018-11-28 Rui Couto , José C. Campos , Nuno Macedo , Alcino Cunha

Writing declarative models has numerous benefits, ranging from automated reasoning and correction of design-level properties before systems are built, to automated testing and debugging of their implementations after they are built. Alloy…

Software Engineering · Computer Science 2024-04-02 Ana Jovanovic , Allison Sullivan

Declarative specifications have a vital role to play in developing safe and dependable software systems. Writing specifications correctly, however, remains particularly challenging. This paper presents a controlled experiment on using large…

Software Engineering · Computer Science 2025-07-22 Yang Hong , Shan Jiang , Yulei Fu , Sarfraz Khurshid

This paper is about modeling and verification languages with their pros and cons. Modeling is dynamic part of system development process before realization. The cost and risky situations obligate designer to model system before production…

Software Engineering · Computer Science 2014-05-01 Mostafavi Amjad Davoud , Zolfy Lighvan Mina

TLAPS, the TLA+ proof system, is a platform for the development and mechanical verification of TLA+ proofs written in a declarative style requiring little background beyond elementary mathematics. The language supports hierarchical and…

Logic in Computer Science · Computer Science 2010-11-12 Kaustuv Chaudhuri , Damien Doligez , Leslie Lamport , Stephan Merz

Using an algorithm due to Safra for distributed termination detection as a running example, we present the main tools for verifying specifications written in TLA+. Examining their complementary strengths and weaknesses, we suggest a…

Logic in Computer Science · Computer Science 2022-11-15 Igor Konnov , Markus Kuppe , Stephan Merz

As systems become ever more complex, verification becomes more main stream. Event-B and Alloy are two formal specification languages based on fairly different methodologies. While Event-B uses theorem provers to prove that invariants hold…

Logic in Computer Science · Computer Science 2008-05-30 Paulo J. Matos , Joao Marques-Silva

Several new algorithms for deciding emptiness of Boolean combinations of regular languages and of languages of alternating automata (AFA) have been proposed recently, especially in the context of analysing regular expressions and in string…

Formal Languages and Automata Theory · Computer Science 2023-04-12 Tomáš Fiedor , Lukáš Holík , Martin Hruška , Adam Rogalewicz , Juraj Síč , Pavol Vargovčík

We discuss the workflows supported by the TLA+ Toolbox to write and verify specifications. We focus on features that are useful in industry because its users are primarily engineers. Two features are novel in the scope of formal IDEs:…

Software Engineering · Computer Science 2019-12-24 Markus Alexander Kuppe , Leslie Lamport , Daniel Ricketts
‹ Prev 1 2 3 10 Next ›