Acme vs PDDL: support for dynamic reconfiguration of software architectures

Similar documents
Requirements for Software Deployment Languages and Schema

Software Architecture, Configuration Management, and Configurable Distributed Systems: A Ménage a Trois

PDDL (Planning Domain Definition Language) Jan Hrnčíř A4M33PAH Tutorial

Software Engineering

Specification and Analysis of Contracts Lecture 1 Introduction

Static Program Transformations for Efficient Software Model Checking

Chapter 4: Design Principles I: Correctness and Robustness

i. Node Y Represented by a block or part. SysML::Block,

Software Verification: Infinite-State Model Checking and Static Program

Modeling Coordination as Resource Flow: An Object-Based Approach

Rigorous Software Development CSCI-GA

Preserving Architectural Choices throughout the Component-based Software Development Process

Applying SDN to Network Management Problems. Nick Feamster University of Maryland

How To Write A Program Verification And Programming Book

Web Services Software Architecture

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

µz An Efficient Engine for Fixed points with Constraints

Introducing Formal Methods. Software Engineering and Formal Methods

Using Alloy and UML/OCL to Specify Run-Time Configuration Management: A Case Study

Software Engineering Reference Framework

Japan Communication India Skill Development Center

Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection

Quotes from Object-Oriented Software Construction

Definition of a Software Component and Its Elements

Introduction to the ITIL Service Management Framework

The SPES Methodology Modeling- and Analysis Techniques

Master of Science Service Oriented Architecture for Enterprise. Courses description

Software Modeling and Verification


Antonio Kung, Trialog. HIJA technical coordinator. Scott Hansen, The Open Group. HIJA coordinator

Dynamic Process/Service Composition/Combination

Lesson 4 Web Service Interface Definition (Part I)

Goal-Driven Adaptable Software Architecture for UAVs

The ProB Animator and Model Checker for B

Automatic vs. Manual Code Analysis

Software Architecture Document

A View Integration Approach to Dynamic Composition of Web Services


Patterns of Information Management

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer

Japan Communication India Skill Development Center

A study on Security Level Management Model Description

Software Architecture

Architecture Definitions

On the Modeling and Verification of Security-Aware and Process-Aware Information Systems

Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications

InvGen: An Efficient Invariant Generator

Reusable Connectors in Component-Based Software Architecture

Run-time Variability Issues in Software Product Lines

Advanced Systems Security: Retrofitting Commercial Systems

An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications

How To Understand Software Engineering

focus Software product line engineering (SPLE) is a paradigm of software reuse Combining Service Orientation with Product Line Engineering

VDM vs. Programming Language Extensions or their Integration

REGULATIONS AND CURRICULUM FOR THE MASTER S PROGRAMME IN INFORMATION ARCHITECTURE FACULTY OF HUMANITIES AALBORG UNIVERSITY

Communication Networks. MAP-TELE 2011/12 José Ruela

Software Engineering using Formal Methods

Secure Database Development

Software design (Cont.)

Runtime Enforcement of Timed Properties

Component Based Software Engineering: A Broad Based Model is Needed

Dr. Jana Koehler IBM Zurich Research Laboratory

LEVERAGING DEDUCTIVE VERIFICATION IN INDUSTRIAL CONTEXTS

WOW! YOU DID THAT WITH SAS STORED PROCESSES? Dave Mitchell, Solution Design Team, Littleton, Colorado

Problems and Measures Regarding Waste 1 Management and 3R Era of public health improvement Situation subsequent to the Meiji Restoration

Verifying Semantic of System Composition for an Aspect-Oriented Approach

Certifying the Security of Android Applications with Cassandra

Ruby on Rails Tutorial - Bounded Verification of Data Models

Transcription:

Acme vs PDDL: support for dynamic reconfiguration of software architectures Jean-Eudes Méhus, Thais Batista & Jérémy Buisson jean-eudes.mehus@st-cyr.terre-net.defense.gouv.fr thais@dimap.ufrn.br jeremy.buisson@st-cyr.terre-net.defense.gouv.fr

Dynamic reconfiguration reconf. app. old modify new CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 2 / 18

Dynamic reconfiguration reconf. app. what? old when? modify how? goal? new CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 2 / 18

Summary of contributions and directions Experiments with IA action planning Improvements with respect to the state-of-the-art : - Account for constraints, styles & types - Verification of invariants - Systematic evaluation of International Planning Competition (IPC) planners Towards improved reconfiguration language CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 3 / 18

ACME, Armani & Plastik ACME [Garlan et al.(2010)] Architecture description language Components, connectors & attachments Focused on the structure of the software architecture Aimed as an interchange language Armani [Monroe(2001)] Constraints over the architecture Based on first-order predicate logic Plastik [Batista et al.(2005)] Reconfigurations for ACME architectures Triggering on Armani conditions Primitive operations CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 4 / 18

PDDL & Action planning Action planning Automatically find a sequence of actions that brings a system from an initial state to a goal state Planning Domain Definition Language [Ghallab et al.(1998)] Based on first-order logic Designed for the International Planning Competition (IPC) Domain definition Predicates Actions Problem definition Objects Initial & goal states Planning task CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 5 / 18

PDDL & Dynamic reconf. state-of-the-art [Arshad and Heimbigner(2005), Arshad et al.(2007)] A PDDL domain for reconfiguration [André et al.(2010)] PDDL as a pivot language Planners may generate optimal reconf. [Ingstrup and Hansen(2009), Hansen and Ingstrup(2010)] Planning for OSGi deployment Using Alloy to plan & verify, but not using the same specifications as with PDDL [El Maghraoui et al.(2006)] Planning Tivoli deployment CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 6 / 18

PDDL & Dynamic reconf. sum. of state-of-the-art PDDL is a relevant option State-of-the-art planners provide good results Several PDDL domains for reconfiguration But... Poor type support No constraint, no style support One PDDL domain per ADL / component model Are we sure that the PDDL domains are correct? Only few planners tested CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 7 / 18

PDDL domain for reconfiguration PDDL types : what kinds of objects do we reify? Predicates : how do we represent an architecture? Actions : what operations do we define? CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 8 / 18

Types Kinds of (reified) elements Type Instance System Component Connector Port Role CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 9 / 18

Predicates Bindings & containment relations Component port, connector role System component, system connector Instance type Existence Because the PDDL world is closed Design choices Negative predicates vs negation+quantification E.g., unbound port, unbound role Each component has its own unique type CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 10 / 18

Actions Example : attach a port p of a component c and a role r of a connector co Preconditions : - c exists ; co exists - c has port p ; co has role r - p on c is not bound ; r on co is not bound Positive effects : - p on c is bound to r on co Negative effects : - p on c is not bound - r on co is not bound CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 11 / 18

Invariants & constraints We can check statically that the actions preserve some invariants Example : one port is bound to at most one role Check each action E.g., the attach action binds only unbound ports CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 12 / 18

Invariants & constraints Some invariants cannot be checked statically Example : the client-server style Either we design a specific domain for the reconfiguration of client-server applications Or the domain is general, but the constraint is not statically enforced - Planning time verification : PDDL state trajectory constraints - Temporal modal operators : constraints over what happens during reconfiguration CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 13 / 18

Some experimental results Why systematic tests of IPC planners? International Planning Competition (IPC) promotes fastest planning time for 100-actions plans No IPC planner implements the whole PDDL Summary of experiments IPC planners 55 Successful (simplified problem) 17 Shortest plan 14 With derived predicates 1 With constraints 0 CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 14 / 18

Lessons learned Reconfiguration Architectural constraints can be enforced How do we specify what we expect to be true during reconfiguration? How do we reconfigure architectural constraints? Planning PDDL seems expressive enough - Some temporal operators shall be missing - Semantics of PDDL? No state-of-the-art off-the-shelf planner implements the needed PDDL fragments The planning community focuses on other issues CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 15 / 18

Future directions Towards next reconfiguration language Reconfiguration «style» Operations to reconfigure types & constraints Further inspection of existing planners More precise characterization of implemented PDDL features Compilation strategies of advanced PDDL features to core PDDL Impact on planning time CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 16 / 18

Acme vs PDDL: support for dynamic reconfiguration of software architectures Merci de votre attention! Avez-vous des question?

Françoise André, Erwan Daubert, Grégory Nain, Brice Morin, and Olivier Barais. F4Plan : an approach to build efficient adaptation plans. In 7th International ICST Conference on Mobile and Ubiquitous Systems, Sydney, Australia, December 2010. Naveed Arshad and Dennis Heimbigner. A comparison of planning based models for component reconfiguration. Technical Report CU-CS-995-05, University of Colorado, Boulder, Colorado, USA, 2005. Naveed Arshad, Dennis Heimbigner, and Alexander Wolf. CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 18 / 18