Microsoft Research, Foundations of Software EngineeringW. Grieskamp et. al: Behavioral Compositions in Symbolic Domains Behavioral Composition in Symbolic.

Slides:



Advertisements
Similar presentations
Programming Languages for End-User Personalization of Cyber-Physical Systems Presented by, Swathi Krishna Kilari.
Advertisements

Abstract State Machines, and lessons of an ASM-based project at Microsoft Yuri Gurevich ( Erdos #2 ) Microsoft Research.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Architecture Representation
SATEL Semi Automatic TEsting Language University of Geneva Levi Lúcio, Didier Buchs M-TOOS, Portland 4/30/2015.
Karolina Muszyńska Based on:
Model-Based Testing Using Spec Explorer Aditya Mathur Purdue University CS Software Testing Spring 2011 Material extracted mostly from: “Model-Based.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Towards An Algebraic Formulation of Domain Definitions using Parameterised Machines T. L. McCluskey and R. M.Simpson School of Computing and Engineering.
An Integrated Framework for Scenarios and State Machines Bikram Sengupta IBM Research India Rance Cleaveland Department of Computer Science University.
Chapter 6 Methodology Conceptual Databases Design Transparencies © Pearson Education Limited 1995, 2005.
1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric.
Developing Verifiable Concurrent Software Tevfik Bultan Department of Computer Science University of California, Santa Barbara
Reasons to study concepts of PL
Chapter 8 . Sequence Control
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
Describing Syntax and Semantics
April 20, 2006 Model Program Based Black-Box Testing, Lentedagen, Vught, The Netherlands 1 Model Program Based Black-Box Testing Margus Veanes Foundations.
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
Symbolic Path Simulation in Path-Sensitive Dataflow Analysis Hari Hampapuram Jason Yue Yang Manuvir Das Center for Software Excellence (CSE) Microsoft.
Unified Modeling Language(UML) BY
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Lecture 6 Template Semantics CS6133 Fall 2011 Software Specification and Verification.
Chapter 10 Architectural Design
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
CS527 Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 15, 2011.
Texas A&M University Department of Computer Science Sameh S. Sharkawi
Requirements Expression and Modelling
Mapping Specification Notations to Analysis Tools
Copyright © Siemens AG All rights reserved. Essential Criteria on MBT to Ensure Quality of Software in Industry PVR Murthy Andreas Ulrich Siemens.
Compositional IS Development Framework Application Domain Application Domain Pre-existing components, legacy systems Extended for CD (ontologies) OAD Methods.
Methodology - Conceptual Database Design Transparencies
Methodology Conceptual Databases Design
1 Chapter 15 Methodology Conceptual Databases Design Transparencies Last Updated: April 2011 By M. Arief
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
Object-Oriented Analysis and Design An Introduction.
111 Protocols CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 8) Meyer, B., Applying design by contract,
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
Methodology: Conceptual Databases Design
1 Generating FSMs from Abstract State Machines Wolfgang Grieskamp Yuri Gurevich Wolfram Schulte Margus Veanes Foundations of Software Engineering Microsoft.
Generative Programming. Automated Assembly Lines.
1 Introduction to Software Engineering Lecture 1.
Methodology - Conceptual Database Design
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
More motivation for model checking ISSTA 1998 (March), Model Checking Without a Model:An Analysis of the Heart- Beat Monitor of a Telephone Switch using.
Theory of Programming Languages Introduction. What is a Programming Language? John von Neumann (1940’s) –Stored program concept –CPU actions determined.
Applying a Research Prototype Tool in Industrial Practice Ottawa Carleton Institute for Computer Science Umple: a Model Oriented Programming Language University.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Formal Verification of Synchronization Issues of SpecC Description with Automatic Abstraction Thanyapat Sakunkonchak Masahiro Fujita Department of Electronics.
Inferring Declarative Requirements Specification from Operational Scenarios IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998.
Rigorous Testing by Merging Structural and Behavioral UML Representations Presented by Chin-Yi Tsai.
IS 2620: Developing Secure Systems Formal Verification/Methods Lecture 9 March 15, 2012.
State Modeling. Introduction A state model describes the sequences of operations that occur in response to external stimuli. As opposed to what the operations.
Design Patterns CSCE 315 – Programming Studio Spring 2013.
Introduction to Formal Methods
Methodology Conceptual Databases Design
Methodology Conceptual Database Design
Input Space Partition Testing CS 4501 / 6501 Software Testing
Model-based Software Testing and Analysis with C#
Class Diagrams Oct 20, 2006.
IS 2935: Developing Secure Systems
Protocols CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 8) Meyer, B., Applying design by contract, Computer,
Methodology Conceptual Databases Design
Sub-system interfaces
Presentation transcript:

Microsoft Research, Foundations of Software EngineeringW. Grieskamp et. al: Behavioral Compositions in Symbolic Domains Behavioral Composition in Symbolic Domains Wolfgang Grieskamp Nicolas Kicillof Colin Campbell Foundations of Software Engineering Microsoft Research, Redmond AOM 2005

Microsoft Research, Foundations of Software EngineeringW. Grieskamp et. al: Behavioral Compositions in Symbolic Domains Model-based testing at Microsoft Success story –approx. 1k users and growing Smart testers like modeling –Backdoor entry Models given as –Plain state machines –Model programs (abstract state machines)

Microsoft Research, Foundations of Software EngineeringW. Grieskamp et. al: Behavioral Compositions in Symbolic Domains Model-based testing with Spec Explorer Spec Explorer [ISSTA02, FATES03, QSIC03, ISSTA04, FATES05, FSE05,…] supports analysis and conformance testing of concurrent systems with model programs Model Program State Graph Test cases Pass/Fail Implementation Exploration & Scenario control Modeling (in Spec# or AsmL) Test Generation Test ExecutionCoding

Microsoft Research, Foundations of Software EngineeringW. Grieskamp et. al: Behavioral Compositions in Symbolic Domains Users want more! Notational diversity –Models in state-based and interaction-based paradigms –Models as diagrams and in textual notations Compositionality –Combining feature models –Merging aspect models (like test purpose) Analyzability –Property checking –Refinement checking –Doing this independently or in composition

Microsoft Research, Foundations of Software EngineeringW. Grieskamp et. al: Behavioral Compositions in Symbolic Domains Addressing the requirements: Action Machines Language-agnostic representation of behavior –Represent various modeling styles (state-based, scenario-based) as well as programs uniformly Allow for many composition types –Product, alternating simulation, substitution, etc. Incorporate symbolic state and computation –Allow for partial, aspect-oriented models –Allow to close environment symbolically (e.g. parameters to method calls)

Microsoft Research, Foundations of Software EngineeringW. Grieskamp et. al: Behavioral Compositions in Symbolic Domains Example of basic action machines: Abstract State Machines Methods describe state transitions (Spec Explorer methodology) State can be symbolic Parameters of method invocations can be symbolic S0 int count; [Action] bool Add(int x){ requires x >= 0; if (x < 10){ count += x; return true; } else return false; } S1S2 0 >= u & u < 10: Add(u)/true 0 >= u & !(u < 10): Add(u)/false count := v count:=v+ucount:=v

Microsoft Research, Foundations of Software EngineeringW. Grieskamp et. al: Behavioral Compositions in Symbolic Domains Example of basic action machines: Scenario machines Control-flow oriented description of behavior Invocations to designated actions “abstracted” Can use symbolic parameters, choices S0 [Action] Client.Enter(); [Action] Client.Send(object msg); [Action] Client.Recv(object msg); [Scenario] void S(){ Client c = Any ; c.Enter(); while (Any ) c.Send(Any ); while (Any ) Any.Recv(Any ); } S1 v.Enter() v.Send(_) S2 _.Recv(_)

Microsoft Research, Foundations of Software EngineeringW. Grieskamp et. al: Behavioral Compositions in Symbolic Domains Compound Action Machines: Product Contains steps both machines can do Unification of symbolic state part Can be used for –Scenario control (restrict behavior) –Property checking (one machine is the “anti-machine” and the product is empty if the property holds) A(v) B() v > 0 A(u) C() u <= 1 X = A(1) u = v v > 0 u <= 1

Microsoft Research, Foundations of Software EngineeringW. Grieskamp et. al: Behavioral Compositions in Symbolic Domains More composition operators Process algebra –Product, interleaving, renaming (translation) Temporal logics and regular expressions –Sequencing, repetition, joker, … Refinement –Alternating simulation (conformance notion of Spec Explorer) AOM –Substitution

Microsoft Research, Foundations of Software EngineeringW. Grieskamp et. al: Behavioral Compositions in Symbolic Domains Conclusion Notation independence achieved –We plan to combine action machines with VS DSL tools/software factories Model-checking and model-based testing possible –benefiting from strict semantics No difference between a “main” model and an “aspect” model –the later is just more partial Symbolic state exploration is key technology –helps us to naturally describe and analyze partial models and model compositions