Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Rebecca Modeling Language Mahdieh Ahmadi Verification of Reactive Systems March 2014."— 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 March 2014Rebeca Modeling Language2

3 Motivation March 2014Rebeca Modeling Language3 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 Motivation Actor-based Language Rebeca SyntaxSemantics Compositional Verification of Rebeca Supporting Tools

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 March 2014Rebeca Modeling Language4 Motivation Actor-based Language Rebeca SyntaxSemantics Compositional Verification of Rebeca Supporting Tools

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) March 2014Rebeca Modeling Language5 Motivation Actor-based Language Rebeca SyntaxSemantics Compositional Verification of Rebeca Supporting Tools

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 March 2014Rebeca Modeling Language6 Motivation Actor-based Language Rebeca SyntaxSemantics Compositional Verification of Rebeca Supporting Tools

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 March 2014Rebeca Modeling Language7 Motivation Actor-based Language Rebeca SyntaxSemantics Compositional Verification of Rebeca Supporting Tools

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 March 2014Rebeca Modeling Language8 Motivation Actor-based Language Rebeca SyntaxSemantics Compositional Verification of Rebeca Supporting Tools

9 Syntax Actor-based computational model Units of concurrency and distribution: Reactive objects Simple and natural Objects are threads. March 2014Rebeca Modeling Language9 Motivation Actor-based Language Rebeca SyntaxSemantics Compositional Verification of Rebeca Supporting Tools

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 March 2014Rebeca Modeling Language10 Motivation Actor-based Language Rebeca SyntaxSemantics Compositional Verification of Rebeca Supporting Tools

11 Syntax March 2014Rebeca Modeling Language11 Motivation Actor-based Language Rebeca SyntaxSemantics Compositional Verification of Rebeca Supporting Tools Set of Reactive Classes Initial Configuration Upper bound on the Length of the Message Queue Initial Communication Topology of the System

12 Syntax :: Example March 2014Rebeca Modeling Language12 Motivation Actor-based Language Rebeca SyntaxSemantics Compositional Verification of Rebeca Supporting Tools S0S0

13 Semantics March 2014Rebeca Modeling Language13 Motivation Actor-based Language Rebeca SyntaxSemantics Compositional Verification of Rebeca Supporting Tools 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.

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 March 2014Rebeca Modeling Language14 Motivation Actor-based Language Rebeca SyntaxSemantics Compositional Verification of Rebeca Supporting Tools

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 March 2014Rebeca Modeling Language15 Motivation Actor-based Language Rebeca SyntaxSemantics Compositional Verification of Rebeca Supporting Tools

16 Compositional Verification of Rebeca Decompose a model into components, Verify some 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 March 2014Rebeca Modeling Language16 Motivation Actor-based Language Rebeca SyntaxSemantics Compositional Verification of Rebeca Supporting Tools

17 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 March 2014Rebeca Modeling Language17 Motivation Actor-based Language Rebeca SyntaxSemantics Compositional Verification of Rebeca Supporting Tools Direct model Checking of Rebeca

18 References Marjan Sirjani, 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. Marjan Sirjani 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. March 2014Rebeca Modeling Language18 Motivation Actor-based Language Rebeca SyntaxSemantics Compositional Verification of Rebeca Supporting Tools


Download ppt "Rebecca Modeling Language Mahdieh Ahmadi Verification of Reactive Systems March 2014."

Similar presentations


Ads by Google