Refinement Types for tla +

نویسندگان

  • Stephan Merz
  • Hernán Vanzetto
چکیده

TLA is a specification language, mainly intended for concurrent and distributed systems. Its non-temporal fragment is based on a variant of (untyped) ZF set theory. Motivated by the integration of the TLA Proof System with SMT solvers or similar tools based on multi-sorted first-order logic, we define a type system for TLA and we prove its soundness. The system includes refinement types, which fit naturally in set theory. Combined with dependent function types, we obtain type annotations on top of an untyped specification language, getting the best of both the typed and untyped approaches. After implementing the type inference algorithm, we show that the resulting typing discipline improves the verification capabilities of the proof system.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Teaching Transition Systems and Formal Specifications with TLA

We present here our experience with teaching two courses using TLA. The first course concerns state transition systems, and the second one is about formal specifications. In the first course, TLA is used to describe, reason about, and analyze transition systems. The second course deals with refinement, simulation and bisimulation, and TLA is used to check refinements.

متن کامل

Stepwise Refinement Validation of Design Patterns Formalized in TLA+ using the TLC Model Checker

Spec ∆ = Abstract !Spec This is P ’s specification theorem Spec ⇒ AbstractSpec Spec is Q ’s specification Figure 2: Structure of a TLA+ refinement of patterns

متن کامل

Verifying and Constructing Abstract TLA Specifications: Application to the Verification of C programs

One approach to verify the correctness of a system is to prove that it implements an executable (specification) model whose correctness is more obvious. Here, we define a kind of automata whose state is the product of values of multiple variables that we name State Transition System (STS). We define the semantics of TLA+ (specification language of the Temporal Logic of Actions) constructs using...

متن کامل

Automatic Proof of Refinement among Design Patterns using the TLC Model Checker

Design patterns are reuse artifacts meant to improve the quality of software designs as well as the productivity of designers. Patterns (and their relationships) are mostly described in an informal fashion which leads to ambiguity and limits tools support. This has worsened with the growing number of well-established and candidate patterns. This paper discusses how to formally specify the "solu...

متن کامل

Feature Interactions: A Mixed Semantic Model Approach

The feature interaction problem is prominent in telephone service development. Through a number of case studies, we have discovered that no one semantic framework is suitable for the synthesis and analysis of formal feature requirements models. We illustrate our mixed-model approach, where we use OO LOTOS, B and TLA+ in a complementary fashion. A simple combination of call forwarding and call s...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014