1 / 18

Rebecca Modeling Language

Rebecca Modeling Language. Mahdieh Ahmadi Verification of Reactive Systems March 2014. Outline. Motivation Actor-based Language Rebeca Syntax Semantics Compositional Verification of Rebeca Supporting Tools. Motivation. Establishing a F ormal verification method,

madison
Télécharger la présentation

Rebecca Modeling Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rebecca Modeling Language Mahdieh Ahmadi Verification of Reactive Systems March 2014

  2. Outline • Motivation • Actor-based Language Rebeca • Syntax • Semantics • Compositional Verification of Rebeca • Supporting Tools Rebeca Modeling Language

  3. Motivation Establishing a • Formal verification method, • Easy to use for software engineers For developing reliable systems in concurrent and distributed applications. Formal verification method: Modeling language + Verification mechanism Rebeca Modeling Language

  4. Motivation :: Idea • Popularity of Object Oriented Design Between Practitioners • Actor-based modeling language • Abstraction and Modular Verification • Plus component notation • Asynchronous message passing • No shared variables • Formal Verification Support • Tools for direct verification Rebeca Modeling Language

  5. Actor-based Language Rebeca :: Actor • A reference model for concurrent computation • Consisting of concurrent, distributed active objects Proposed by Hewitt as an agent-based language (MIT, 1971) Developed by Agha as a concurrent object-based language (Illinois, since 1984) Rebeca Modeling Language

  6. Actor-based Language Rebeca :: Rebeca • Reactive object language • Bridge the gap between formal verification approaches and real applications Introduced by Sirjani and Movaghar, 2001 Rebeca Modeling Language

  7. Actor-based Language Rebeca :: Rebeca:: Key Features • Independent active objects • Asynchronous message passing • Unbounded buffers for messages • Dynamically changing topology • Dynamic creation of active objects Rebeca Modeling Language

  8. Actor-based Language Rebeca :: Rebeca:: Added Features • Add class declarations to the syntax : Rebecs • Encapsulation of data and process, no shared variable • Grouping a set of reactive objects as an open component • Allow a set of more tightly coupled objects to be grouped as a component • A higher level of abstraction in software design • Tool supported • Model checking Rebeca code using back-end model checkers • Direct Verification capability using RMC Rebeca Modeling Language

  9. Syntax • Actor-based computational model • Units of concurrency and distribution: Reactive objects • Simple and natural • Objects are threads. Rebeca Modeling Language

  10. Syntax • Communication: • Asynchronous message passing • Unbounded message queue for each rebec • No explicit receive • Computation: • Take a message from top of the queue and execute it • Event-driven Introduced by Sirjani and Movaghar, 2001 Rebeca Modeling Language

  11. Syntax Initial Configuration Set of Reactive Classes Upper bound on the Length of the Message Queue Initial Communication Topology of the System Rebeca Modeling Language

  12. S0 Syntax :: Example Rebeca Modeling Language

  13. Semantics • Formal semantics • Labeled transition system • A solid basis for verification • The state of a rebec, is the valuation of • state variables, and • the unbounded buffer (queue) for incoming messages. • The state of the system, is the product of • local object states • A state transition: • an atomic execution of a method off the top of the rebec’s queue. Rebeca Modeling Language

  14. Compositional Verification of Rebeca :: Inherent Modularity in Rebeca • Only consider LTL and ACTL properties • State explosion problem • Solution: • Modularity • Abstraction • Rebecs are inherently • Independent, decoupled, encapsulated => Leads to natural modularity and abstraction techniques Rebeca Modeling Language

  15. Compositional Verification of Rebeca :: Components • What we had: • Decomposing a model for verification purposes • In a top-down manner. • What we added: • Notion of components • Re-usable parts • Fixed proven specifications • Build a system in bottom-up fashion Rebeca Modeling Language

  16. Compositional Verification of Rebeca • Decompose a model into components, • Verifysome specific properties for these components, and then deduce the system’s property from the properties of its components. • Components are sets of reactive objects • Components interact • via broadcasting • asynchronous • anonymous messages Rebeca Modeling Language

  17. Supporting Tools • Enter a model in Rebeca, • Translate it into SMV (or Promela), • Specify properties at Rebeca source code level (based on state variables), • Translate the properties to NuSMV(or Spin) format, • Model check using NuSMV(or Spin). • Direct model Checking of Rebeca Direct model Checking of Rebeca Rebeca Modeling Language

  18. References • MarjanSirjani, Ali Movaghar, Amin Shali, and Frank S. de Boer. 2004. Modeling and Verification of Reactive Systems using Rebeca. Fundam. Inf. 63, 4 (June 2004), 385-410. • MarjanSirjani and Mohammad Mahdi Jaghoori. 2011. Ten years of analyzing actors: Rebeca experience. In Formal modeling, Gul Agha, José Meseguer, and Olivier Danvy (Eds.). Springer-Verlag, Berlin, Heidelberg 20-56. Rebeca Modeling Language

More Related