Plan-Directed Architectural Change for Autonomous Systems Daniel Sykes, William Heaven, Jeff Magee, Jeff Kramer Imperial College London.

Slides:



Advertisements
Similar presentations
An Adaptive Policy-Based Framework for Network Service Management Leonidas Lymberopoulos Emil Lupu Morris Sloman Department of Computing Imperial College.
Advertisements

Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Configuration management
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Architecture Representation
CS 795 – Spring  “Software Systems are increasingly Situated in dynamic, mission critical settings ◦ Operational profile is dynamic, and depends.
Fault Detection in a HW/SW CoDesign Environment Prepared by A. Gaye Soykök.
OASIS Reference Model for Service Oriented Architecture 1.0
Object-Oriented Analysis and Design
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Domain-Specific Software Engineering (DSSE). Software Engineering Concerns  There are many of them  “Classical” software architecture research has focused.
The Architecture Design Process
1 Building with Assurance CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute May 10, 2004.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
Universal Plans for Reactive Robots in Unpredictable Environments By M.J. Schoppers Presented by: Javier Martinez.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
Design Patterns Ref : Chapter 15 Bennett et al. useful groups of collaborating classes that provide a solution to commonly occuring problems. provide.
Course Instructor: Aisha Azeem
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
Object Oriented Analysis and Design Using the UML
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 1.
© 2010 by Elbit Systems | Elbit Systems Proprietary ADAPT: Abstraction Hierarchies to Succinctly Model Teamwork Meirav Hadad 1, Avi Rosenfeld 2 2 Department.
What is it? A mobile robotics system controls a manned or partially manned vehicle-car, submarine, space vehicle | Website for Students.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
CSE 303 – Software Design and Architecture
New SVS Implementation Joseph Xu Soar Workshop 31 June 2011.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
ENG6090 Reconfigurable Computing Systems Hardware Description Languages Part 6: Configurations.
Testing Workflow In the Unified Process and Agile/Scrum processes.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
Approaching a Problem Where do we start? How do we proceed?
Chapter 7 Applying UML and Patterns Craig Larman
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
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.
CMPS 435 F08 These slides are designed to accompany Web Engineering: A Practitioner’s Approach (McGraw-Hill 2008) by Roger Pressman and David Lowe, copyright.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Introduction of Intelligent Agents
Software Design Patterns Curtsy: Fahad Hassan (TxLabs)
Design time and Run time Chris, Andrea, Martina, Henry, Antonio, Ole, Philippe, Hartmut, Anne, Jeff, Felix, Sebastian, Kurt.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CSE 303 – Software Design and Architecture
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Lecture Videos will no longer be posted. Assignment 3 is due Sunday, the 8 th, 7pm. Today: –System Design,
Autonomous Robots Robot Path Planning (3) © Manfred Huber 2008.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Architecture Tradeoff Analysis Method Software Engineering Institute Carnegie Mellon University Presented by: Senthil ayyasamy CS 590l- winter 2003.
Tomás BarrosMonday, April 18, 2005FIACRE Toulouse p. 1 Behavioural Models for Hierarchical Components Tomás Barros, Ludovic Henrio and Eric Madelaine.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Application Design Document Developers: o Uri Goldenberg o Henry Abravanel o Academic.
TTCN-3 Testing and Test Control Notation Version 3.
A Generic Model for Software Architecture Yun Sang-hyun Rossak. W. / Kirova. V. / Jolian. L. / Lawson. H. / Zemel. T. Software, IEEE Jul/Aug.
Integration Testing.
The Development Process of Web Applications
Anne Pratoomtong ECE734, Spring2002
Chapter 9 Requirements Modeling: Scenario-Based Methods
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Joseph Xu Soar Workshop 31 June 2011
Software Engineering with Reusable Components
Design Yaodong Bi.
Presentation transcript:

Plan-Directed Architectural Change for Autonomous Systems Daniel Sykes, William Heaven, Jeff Magee, Jeff Kramer Imperial College London September 3 rd 2007

A linear plan Motivation for adaptation Generating reactive plans Deriving configurations from plans Ongoing work and conclusion

Coping with reality Autonomous systems need to cope with the real world The real world is unpredictable Autonomy implies minimal contact with programmer Thus, need to adapt to changing circumstances and potentially changing goals

Architectural adaptation Adaptations can range from small (continuous) parameter adjustments to complete change of software Focus on architectural reconfiguration –Wide scope from ‘medium’ to ‘total’ change –Can reason about adaptation independent of domain specifics (components are black boxes) Much previous work is too rigid –Programmer specifies what to change in what circumstances (can he predict all combinations of circumstances?)

Changing with intent Want to allow arbitrary change, but change that serves our goals Use the system’s plan as a functional specification If a component fails during operation we need to find an alternative

Overview Goal Management Change Management Component Control G1 G2G3 C1C2C3 Generate plans Generate configs. Replan Failure

‘Failure’ may be implementation error, environment problem (network connections, unexpected obstacles) Hopefully find alternative component(s) and continue same plan Otherwise, replan (not currently addressed)

Reactive plans Desired behaviour of the system given as CTL goals, over some domain description Planner (MBP) uses model-checking to generate a reactive plan (as opposed to a linear plan) The plan contains all (world) states from which goal is reachable –handles non-determinism in environment – actual next state may not be the expected result of an action Reactive plan Linear plan

Domain description Domain description contains a set of actions, with their pre and post conditions –Pre: ball_at(loc1), robot_at(loc1) –Action: pickup –Post: robot_has(ball) Can be regarded as an LTS where states are conjunctions of predicates, which the planner prunes to generate a plan …… Domain descriptionReactive plan

Plans Generated plans are sets of condition-action rules Interpreter checks actual world state after every action (case (and (= photographed target1)) (done)) (case (and (= photographed 0) (= koala1_location loc1) (= target1_location loc1)) (action koala1_photograph_target1)) (case (and (= photographed 0) (= koala1_location loc1) (= target1_location loc2)) (action koala1_goto_loc2)) … (case (and (= photographed 0) (= koala1_location loc3) (= target1_location loc3)) (action koala1_photograph_target1)) (else (fail)) S1 S2 S3 SnSn (ordering of states is arbitrary)

Managing state space State explosion a problem for non-trivial domains Use a hierarchy of partial descriptions, and generate a hierarchy of plans Root plan contains only ‘abstract’ or ‘compound’ actions Subplans contain ‘primitive’ actions which elaborate or refine the compound actions Subplans are generated at runtime from the current state Plan tree Compound action Subplan

Deriving configurations Plan describes functional requirements in terms of actions –They do not refer to configurations explicitly Primitive actions associated with interfaces which the interpreter can call Hence, need a set of components which implement every interface required by the plan Components to interfaces is a many to many relationship, providing alternatives

Component selection GoToTask MotorsLocation move(t) Repository Hardware Motors SkyCamera Location SLAM Location Camera Unavailable, network failure Already instantiated Webcam Camera

Components already instantiated or already selected are reused –Assumes one instance providing each interface Components marked as unavailable (or have unsatisfiable requirements) are not selected Here, 2 solutions – {A1,B2} or {A2,C} – which is better? Req(IA) A1 Req(IB) A2 Req(IC) C Req(IA) B1 Unavailable B2 reuse selected

Component properties {A1,B2} and {A2,C} may have very different characteristics –Power usage, reliability, CPU use, network use, number of changes to existing configuration –Further structural constraints Ideal selection would account for these non- functional attributes Suppose A1 has low reliability, but low CPU use; A2 has high reliability, but high CPU use Need to prioritise CPU use versus reliability to make a choice

Adaptation Components that ‘fail’ at runtime invoke the selection process ‘Failed’ component marked as unavailable If no alternatives can be used, replanning may be necessary

Implementation Implemented component selection from NPDDL plans generated from goals on Koala robotic platform Components implemented in Java, using the Backbone system Goals such as “ensure the ball is in location 1” Plans involve moving around, picking up, and so on Videos at

Ongoing work Replanning when necessary Dynamic modification of goals and domain Incorporate non-functional properties into selection process Address safety issues in changing components at runtime – quiescence

Conclusions Plans provide a convenient source of functional requirements Reactive plans cope with non-determinism in environment Components selected at runtime based on mapping from action to interface and on availability Adaptation achieved by selecting alternatives after a fault Working towards ‘safer’ dynamic adaptation