Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,

Slides:



Advertisements
Similar presentations
From System Specifications to Component Behavioral Models Ivo Krka George Edwards Yuriy Brun Nenad Medvidovic.
Advertisements

Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
Architecture Representation
Lecture 8: Three-Level Architectures CS 344R: Robotics Benjamin Kuipers.
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Page 1 Building Reliable Component-based Systems Chapter 7 - Role-Based Component Engineering Chapter 7 Role-Based Component Engineering.
Software Testing and Quality Assurance
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Complex Security Policies Dave Andersen Advanced Operating Systems Georgia State University.
Process-oriented System Automation Executable Process Modeling & Process Automation.
David Garlan Ivan Ruchkin Carnegie Mellon University Pittsburgh, PA, USA December 2014.
Chapter 16 Stream Control Transmission Protocol (SCTP)
Špindlerův Mlýn, Czech Republic, SOFSEM Semantically-aided Data-aware Service Workflow Composition Ondrej Habala, Marek Paralič,
COMPLEXITY SCIENCE WORKSHOP 18, 19 June 2015 Systems & Control Research Centre School of Mathematics, Computer Science and Engineering CITY UNIVERSITY.
Ch.2 Part A: Requirements, State Charts EECE **** Embedded System Design.
CLEANROOM SOFTWARE ENGINEERING.
Concurrency Programming Chapter 2. The Role of Abstraction Scientific descriptions of the world are based on abstractions. A living animal is a system.
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Swarm Computing Applications in Software Engineering By Chaitanya.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
A performance evaluation approach openModeller: A Framework for species distribution Modelling.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
EEC 688/788 Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Approaching a Problem Where do we start? How do we proceed?
Timed Test Cases Generation Based on MSC-2000 Test Purposes Abdeslam En-Nouaary and Gang Liu Department of Electrical and Computer Engineering Concordia.
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
Real Time Event Based Communication Team Abhishekh Padmanabhan CIS 798 Final Presentation.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
ACS'08, November, Venice, ITALY Designing organic reaction simulation engine using qualitative reasoning approach Y.C. Alicia Tang Tenaga Nasional.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Secure Systems Research Group - FAU 1 Active Replication Pattern Ingrid Buckley Dept. of Computer Science and Engineering Florida Atlantic University Boca.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
TTCN-3 MOST Challenges Maria Teodorescu
Submodule construction in logics 1 Gregor v. Bochmann, University of Ottawa Using First-Order Logic to Reason about Submodule Construction Gregor v. Bochmann.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
Internal Talk, Oct Executable Specifications using Message Sequence Charts Abhik Roychoudhury School of Computing National University of Singapore.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
1 Kyung Hee University Statecharts Spring Kyung Hee University Specifying Objects’ Behaviour  Interaction diagrams show message-passing behaviour.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 16 Stream Control Transmission.
Agenda  Quick Review  Finish Introduction  Java Threads.
Topic:- At the end we will be able to explain:- Why it is called Meta Model ?? Spiral Model Its Advantages & Disadvantages… Phases of Spiral Model...
Systems Architectures System Integration & Architecture.
Maestro AI Vision and Design Overview Definitions Maestro: A naïve Sensorimotor Engine prototype. Sensorimotor Engine: Combining sensory and motor functions.
BAHIR DAR UNIVERSITY Institute of technology Faculty of Computing Department of information technology Msc program Distributed Database Article Review.
Software Design Refinement Using Design Patterns
Unified Modeling Language
Failure mode and effect analysis
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Chapter 20 Object-Oriented Analysis and Design
Electrical and Computer Engineering Department
Subsuption Architecture
Presented By: Darlene Banta
Software Design Methodologies and Testing
Review and comparison of the modeling approaches and risk analysis methods for complex ship system. Author: Sunil Basnet.
Presentation transcript:

Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla, mmoshirp,

Introduction Background Problem Solution and Challenges Distributed System Example Behavioral Modeling Identical States Semantic Causality and State Values Detecting Emergent Behavior Criteria for merging identical States Conclusion and Future work

Emergent behavior is a vital problem in distributed systems which leads to unexpected behaviors and major problems. Detecting emergent behavior in early design stages reduces the deployment costs significantly. Overgeneralization happens as the result of behavior model synthesis and depends on the assumptions of the process. Designing an automated algorithm for detecting emergent behaviors is beneficial.

Message sequence charts have been widely used for analyzing the behavior of the system. In order to explicitly model the system behavior, state machines are used. Blending scenarios that are used for describing the system, is necessary since it provides a comprehensive overview of the system behavior.

Two methods are proposed for combining the scenarios: State identification: In state identification, the components of the scenarios are first modeled with different states in the state machines. Then, similar component states are identified in a set of scenarios and combined in different state machines to enable the scenarios to merge Scenario composition using high-level MSC graphs: Scenarios are split to smaller parts with lower complexity. Then, high-level MSC graphs are used to blend the smaller sequence of behavior since they are simpler to manage.

Merging all similar states to achieve only one state machine for all of the scenarios is proposed for improving the synthesis of behavior models. However, this method takes too much time because of merging all the common states which is not always necessary as not all the common states lead to occurrence of emergent behavior.

In a message sequence chart MSC, Finite State Machines (FSMs) are built for any component. Merging partial behaviors from different scenarios automatically: Define a mechanism to identify identical states of components in different scenarios and assign state values. Considering three criteria before merging identical states in order to save the costs. Designing an automated method to deal with the defects which are caused by behavior model synthesis.

Mine Sweeping Robot (prototype) o Navigates through a city-like course o Navigates using sensory information (i.e. Battery, GPS data) o Identifies and flags the location of landmines o To cope with all of the robots functionalities two multi- core CPU units are utilized o The units are built on separate boards connected via a simple but reliable connection protocol o Two CPUs interact using the client-server architecture

Partial behavioral scenarios for the robot

For a given system component, the process of constructing a finite state machine (FSM) from message sequence charts (MSCs) that component appears in, is referred to as behaviour modeling. The state machine includes all the messages that are received or sent by that component. MSC1 MSC2 MSCn Behavioral Modeling MSC3 FSM

The behavior of the component is described by producing all the state machines of that system component.

During construction of behavioral model of a component, identical states must be identified. What is identical state? o A state of a component that remains the same during execution of multiple scenarios. Why is it important? o Identical States in the constructed behavioral model are where emergent behavior can potentially occur.

Other solutions: o Merge two states if their incoming transitions are the same. o Annotate all the messages in the scenarios with values of some “important” variables. Merge two states if their incoming transitions are the same and the values of system variables are also the same. o Let the domain expert decide! Our solution o Using semantic causality and state values

Semantic causality: A message m is a semantic cause for message n, if a component i has to keep the result of the operation m in order to perform n. o Semantic causality is an invariant property of the system under construction. o To detect identical states, we assign values to the states of the FSMs based on Semantic Causality. State values: First, the initial and final states of a FSM are defined. Then, the states value of the state m is defined depending on the transitions that come after this state.

Identical states are merged if the new behaviour that could be generated as the result of this merge is allowed by the system’s architecture expressed by scenarios.

q A B Assume two identical states q s and q t of two state machines A and B for the process i are merged into a single state q. The emergent behavior...a s b t+1... is obtained if:

1. b t+1 is a send message for component i. 2. b t+1 is a receive message for i and in a scenario m there is a process j where b t+1 could be sent by j to i even when a s+1 does not happen. Furthermore, process i must receive b t+1 after a s After b t, component i stops. q t is a final state for B. If a s+1 is a send message for i, then i has two options when it is in a state q: o Send message because of state machine A. Component i must continue with message a s+1. o Stop to send because of state machine B. So, emergent behavior...a s will happen.

There is no emergent behavior (none of the criteria happens )

Detecting unwanted behavior during the design phase is about 20 times cheaper than finding them during the deployment phase. Many of the methodologies utilized to analyze system requirements and design documents introduce a certain amount of overhead to the software development lifecycle. This work provides a systematic approach to analyze system requirements for defects, while saving on overhead by replacing ad-hoc methodologies with automated ones.

In this work, a new algorithm is developed for behavior model synthesis and emergent behavior detection while preventing overgeneralization. The future work may be implementing the proposed algorithm to provide an automated tool. Moreover, this work can be utilized as part of a comprehensive framework to analyze system requirements and design.