Christian Heinzemann 11. Oktober 2015 Modeling Behavior of Self-Adaptive Systems Seminar Software Quality and Safety.

Slides:



Advertisements
Similar presentations
Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
Advertisements

Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Identifying, Modifying, Creating, and Removing Monitor Rules for SOC Ricardo Contreras Andrea Zisman
Architecture Representation
GENETICA The problem-solving approach proposed here, largely based on the previous remarks, is implemented through the computer language GENETICA. GENETICA.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
UNIVERSITY OF JYVÄSKYLÄ Building NeuroSearch – Intelligent Evolutionary Search Algorithm For Peer-to-Peer Environment Master’s Thesis by Joni Töyrylä
1 Reinforcement Learning Introduction & Passive Learning Alan Fern * Based in part on slides by Daniel Weld.
Systems-within-systems: a unifying perspective Wayne J. Davis Professor Emeritus Industrial and Enterprise Systems Engineering University of
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Software Testing and Quality Assurance
An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane.
The Architecture Design Process
Self Adaptive Software
Software Self-Adaptation A survey of the field “Self-adaptive software evaluates its own behavior and changes behavior when the evaluation indicates it.
Applying Dynamic Analysis to Test Corner Cases First Penka Vassileva Markova Madanlal Musuvathi.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
UNIVERSITY OF JYVÄSKYLÄ Resource Discovery in Unstructured P2P Networks Distributed Systems Research Seminar on Mikko Vapa, research student.
Scaling and Attitude Measurement in Travel and Hospitality Research Research Methodologies CHAPTER 11.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
Using Runtime Information for Adapting Enterprise Java Beans Application Servers Mircea Trofin *, John Murphy ** Performance Engineering Laboratory * DCU,
SOFTWARE ADAPTIVITY THROUGH XML-BASED BUSINESS RULES AND AGENTS Queen’s University of Belfast, School of Computer Science, Belfast, United Kingdom Liang.
Lecture # 06 Design Principles II
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
Testing : A Roadmap Mary Jean Harrold Georgia Institute of Technology Presented by : Navpreet Bawa.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Architecture-based Adaptivity by Amir Taherkordi INF5360: Seminar on Dependable and Adaptive Distributed Systems Department of Informatics.
A Tooling Environment for Quality-Driven Domain- Specific Modelling Janne Merilinna.
Nitin Kumar Yadav RMIT University, Melbourne Minor thesis - semester 2, 2009, under the supervision of Dr. Sebastian Sardina,
Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach1.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
CS551 - Lecture 8 1 CS551 Modelling with Objects (Chap. 3 of UML) Yugi Lee STB #555 (816)
CHAPTER 12 Descriptive, Program Evaluation, and Advanced Methods.
Simultaneously Learning and Filtering Juan F. Mancilla-Caceres CS498EA - Fall 2011 Some slides from Connecting Learning and Logic, Eyal Amir 2006.
Memory Hierarchy Adaptivity An Architectural Perspective Alex Veidenbaum AMRM Project sponsored by DARPA/ITO.
Lecture 25: Implementation Complicating factors Control design without a model Implementation of control algorithms ME 431, Lecture 25.
Hossein Tajalli, Joshua Garcia, George Edwards, and Nenad Medvidovic Computer Science Department University of Southern California.
Engineering Self-adaptive Service Mashups Mahdi Bashari LS3 Colloquium May 7 th 2014.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Self-Adaptive Embedded Technologies for Pervasive Computing Architectures Self-Adaptive Networked Entities Concept, Implementations,
CSE 471/598 Intelligent Agents TIP We’re intelligent agents, aren’t we?
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
A practical experience in designing an OpenFlow controller Presented by: Itzik Malkiel.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
1 Architecture and Behavioral Model for Future Cognitive Heterogeneous Networks Advisor: Wei-Yeh Chen Student: Long-Chong Hung G. Chen, Y. Zhang, M. Song,
Chapter 4 Motor Control Theories Concept: Theories about how we control coordinated movement differ in terms of the roles of central and environmental.
Hossein Tajalli & Joshua Garcia. Motivation Self-* or autonomic systems Self-configuration, self-adaptation, and self-healing Why we might want self-adaptive.
Improving System Availability in Distributed Environments Sam Malek with Marija Mikic-Rakic Nels.
Systems Architectures System Integration & Architecture.
Decisive Themes, July, JL-1 ARTEMIS Decisive Theme for Integrasys Pedro A. Ruiz Integrasys July, 2011.
CRITICAL THINKING. DEFINATION Broad definition: reasonable, reflecting thinking that is focuses on deciding what to believe or do Criteria: evaluative.
Memory Management.
Classifications of Software Requirements
Recall The Team Skills Analyzing the Problem (with 5 steps)
Jigar.B.Katariya (08291A0531) E.Mahesh (08291A0542)
CS 584.
Market-based Dynamic Task Allocation in Mobile Surveillance Systems
Self-Managed Systems: an Architectural Challenge
State University of Telecommunications
Presentation transcript:

Christian Heinzemann 11. Oktober 2015 Modeling Behavior of Self-Adaptive Systems Seminar Software Quality and Safety

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems - 2 Example scenario  Railcab shuttles are autonomous train systems  Transport goods or people  May form convoys to save energy  Here: Two modes of operation  Energy efficient travelling  Fast travelling to fulfill a pressing deadline

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems - 3 Motivation  Autonomous systems operate without human control  Intuitively: Self-Adaptive systems adapt own behavior autonomously  Useful in situations that are  dangerous, e.g. chemical accidents  unpleasantly, e.g. dusty environments  stupid, e.g. manufacturing at assembly-lines  Systems should react to environment changes

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems - 4 Self-Adaptive Software  Definition:  „Self-Adaptive Software evaluates its own behavior and changes behavior when the environment indicates that it is not accomplishing what the software is intended to do, or when better functionality or performance is possible.” DARPA Broad Agency Anouncement  Here:  Shuttle must increase speed when deadline might be missed  Shuttle may decrease speed when deadline can be accomplished easily

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems - 5 General approach  Self-Adaptation requires  Monitoring of environment  Analysis of monitored state  Knowledge about own architecture and behaviors  Ability to modify architecture and/or load algorithms Adaptation planning and deployment Architecture editor Observation analysers Observers cf. Oreizy et.al. - An Architecture-Based Approach to Self-Adaptive Software

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems - 6 General steps in modeling self- adaptive behavior  General modeling approach introduced by Zhang and Cheng: 1.Specify global invariants 2.Enumerate domains and conditions under which system is in domain 3.Specify local properties for each domain 4.Build state based models for each domain 5.Enumerate possible domain changes and build adaptation models 6.Use state-based models to generate test cases. cf. Ji Zhang, Betty H.C. Cheng - Model-Based Development of Dynamically Adaptive Software

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems Specify global invariants  Two properties for shuttle scenario  (1) Shuttle will eventually reach its target  (2) If a deadline exists, the shuttle will fulfill it  Properties are specified using temporal logic  (1) G F shuttle_atTarget  (2) G (existsDeadline => (t(shuttle_atTarget) <= deadline)

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems Enumerate domain and conditions  Two modes of operation correspond to two domains  Energy efficient travelling In case of no deadline In case of non pressing deadline  Fast travelling In case of pressing deadline

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems Specify local properties  Local properties must fulfill global properties  Properties for energy efficient travelling  G( convoy_available => join_convoy)  Properties for fast travelling  G( convoy_available  speed(convoy) overtake_convoy)

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems Build state-based models  Models are steady-state models that contain no adaptive behavior  Can be Model Checked against local properties Energy efficient travellingFast travelling

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems Enumerate domain changes …  Domain changes:  Energy efficient travelling -> Fast travelling Change if deadline cannot be fulfilled with current speed  Fast travelling -> Energy efficient travelling Change if deadline can be reached with efficient speed  Adaptation model describes switch from old to new behavior  Adaptations can be model checked against global properties

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems - 12 … and build adaptation models  Adaptation possible in so called quiescent states  Intuitively: Quiescent states are stateless and therefore equivalent to the initial state  E.g. switch from energy efficient to fast travelling Adaptation Model 1 adaptReq(1) Performs the change, transfers important variables.

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems Generate test-cases  Use state-based models to generate test-cases  Can be done using standard techniques  Shall not be treated here.

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems - 14 Structure and behavior adaptation  Seen so far:  pure structure adaptation  pure behavior adaptation  But: Structure and behavior influence each other!  Changing system structure changes system behavior  Changing behavior may require new components and links  Behavior change may be implemented by loading components  New components may introduce new behavior  It might not be known how many components are connected at runtime

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems - 15 Structure change affects behavior  Example:  Shuttles can build convoys  Build of a new convoy requires one shuttle to coordinate  Needs additional coordination behavior  Change can be executed by loading a new component which provides coordination behavior

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems - 16 Comparison  Commonalities:  Allow adaptation only on one hierarchy level  Selection of next algorithm out of fixed set  Differences  States from which adaptation is possible Approach by Zhang & Cheng allows to jump directly into new behavior Mechatronic UML starts component behavior from the initial state

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems - 17 Limitations  Self-Adaptive systems and modeling of these system is still under research  Some points are still unclear:  How can surprise be handled by the system?  Will the system behave reasonable and find a good solution in all environment situations?  How can self-adaptation be combined with learning algorithms to optimize adaptation decisions at runtime? cf. Laddaga - Self Adaptive Software – Problems and Projects

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems - 18 Conclusions  Self-Adaptive systems operate autonomously and adapt to changing environment  Self-Adaptation requires monitoring of the environment and knowledge about own architecture  General approach proposes six steps during the modelling process.  Adaptations can be modelled by adaptation models  Structure and behavior influence each other  Self-Adaptation is still under research

Christian Heinzemann Modeling Behavior of Self-Adaptive Systems - 19 Degrees of Self-Adaptation  Conditional expressions  Online algorithms  Parameterized algorithms  Algorithm selection  Evolutionary Programming Low High