Acme vs PDDL: support for dynamic reconfiguration of software architectures
|
|
|
- Alexander Brice Robbins
- 9 years ago
- Views:
Transcription
1 Acme vs PDDL: support for dynamic reconfiguration of software architectures Jean-Eudes Méhus, Thais Batista & Jérémy Buisson
2 Dynamic reconfiguration reconf. app. old modify new CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 2 / 18
3 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
4 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
5 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
6 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
7 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
8 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
9 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
10 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
11 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
12 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
13 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
14 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
15 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
16 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
17 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
18 Acme vs PDDL: support for dynamic reconfiguration of software architectures Merci de votre attention! Avez-vous des question?
19 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 Naveed Arshad and Dennis Heimbigner. A comparison of planning based models for component reconfiguration. Technical Report CU-CS , University of Colorado, Boulder, Colorado, USA, Naveed Arshad, Dennis Heimbigner, and Alexander Wolf. CAL 2012 Acme vs PDDL: support for dyn. reconf. for soft. architectures 18 / 18
Requirements for Software Deployment Languages and Schema
Requirements for Software Deployment Languages and Schema Richard S. Hall, Dennis Heimbigner, Alexander L. Wolf Software Engineering Research Laboratory Department of Computer Science University of Colorado
Software Architecture, Configuration Management, and Configurable Distributed Systems: A Ménage a Trois
Software Architecture, Configuration Management, and Configurable Distributed Systems: A Ménage a Trois André van der Hoek, Dennis Heimbigner, and Alexander L. Wolf Software Engineering Research Laboratory
PDDL (Planning Domain Definition Language) Jan Hrnčíř A4M33PAH Tutorial
PDDL (Planning Domain Definition Language) Jan Hrnčíř A4M33PAH Tutorial Introduction Standard encoding language for classical planning tasks International Planning Competition (IPC) Based on STRIPS notation
Software Engineering
Software Engineering Lecture 06: Design an Overview Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 35 The Design Phase Programming in
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
Static Program Transformations for Efficient Software Model Checking
Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major
Chapter 4: Design Principles I: Correctness and Robustness
Chapter 4: Design Principles I: Correctness and Robustness King Fahd University of Petroleum & Minerals SWE 316: Software Design & Architecture Semester: 072 Objectives To introduce two design principles
i. Node Y Represented by a block or part. SysML::Block,
OMG SysML Requirements Traceability (informative) This document has been published as OMG document ptc/07-03-09 so it can be referenced by Annex E of the OMG SysML specification. This document describes
Software Verification: Infinite-State Model Checking and Static Program
Software Verification: Infinite-State Model Checking and Static Program Analysis Dagstuhl Seminar 06081 February 19 24, 2006 Parosh Abdulla 1, Ahmed Bouajjani 2, and Markus Müller-Olm 3 1 Uppsala Universitet,
Modeling Coordination as Resource Flow: An Object-Based Approach
Modeling Coordination as Resource Flow: An Object-Based Approach John Noll Computer Engineering Department Santa Clara University 500 El Camino Real Santa Clara, CA 95053-0566 [email protected] Bryce Billinger
Rigorous Software Development CSCI-GA 3033-009
Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 11 Semantics of Programming Languages Denotational Semantics Meaning of a program is defined as the mathematical
Preserving Architectural Choices throughout the Component-based Software Development Process
Preserving Architectural Choices throughout the Component-based Software Development Process Chouki Tibermacine, Régis Fleurquin Salah Sadou VALORIA Lab, University of South Brittany F-56000 Vannes, France
Applying SDN to Network Management Problems. Nick Feamster University of Maryland
Applying SDN to Network Management Problems Nick Feamster University of Maryland 1 Addressing the Challenges of Network Management Challenge Approach System Frequent Changes Event-Based Network Control
How To Write A Program Verification And Programming Book
Jose Bacelar Almeida Maria Joao Frade Jorge Sousa Pinto Simao Melo de Sousa Rigorous Software Development An Introduction to Program Verification & Springer Contents 1 Introduction 1 1.1 A Formal Approach
Web Services Software Architecture
Web Services Software Architecture Syahrul Fahmy School of Informatics, The University of Manchester, PO Box 88, Manchester M60 1QD, United Kingdom [email protected] Abstract. Web
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, [email protected] 2 ABB Corporate Research,
µz An Efficient Engine for Fixed points with Constraints
µz An Efficient Engine for Fixed points with Constraints Kryštof Hoder, Nikolaj Bjørner, and Leonardo de Moura Manchester University and Microsoft Research Abstract. The µz tool is a scalable, efficient
Introducing Formal Methods. Software Engineering and Formal Methods
Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended
Using Alloy and UML/OCL to Specify Run-Time Configuration Management: A Case Study
Using Alloy and UML/OCL to Specify Run-Time Configuration Management: A Case Study Geri Georg Agilent Laboratories, Agilent Technologies, 4380 Zeigler Road, Fort Collins, Colorado 80525 [email protected]
Software Engineering Reference Framework
Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of
Japan Communication India Skill Development Center
Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 2a Java Application Software Developer: Phase1 SQL Overview 70 Introduction Database, DB Server
Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection
Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection Martin Leucker Technische Universität München (joint work with Andreas Bauer, Christian Schallhart et. al) FLACOS
Quotes from Object-Oriented Software Construction
Quotes from Object-Oriented Software Construction Bertrand Meyer Prentice-Hall, 1988 Preface, p. xiv We study the object-oriented approach as a set of principles, methods and tools which can be instrumental
Definition of a Software Component and Its Elements
I' Chapter 1 Definition of a Software Component and Its Elements Bill Councill George T. Heineman 1.1 Introduction The goal of this chapter is to rigorously define terms that describe the best practices
Introduction to the ITIL Service Management Framework
Introduction to the ITIL Service Management Framework ITIL is a registered trade mark of the Cabinet Office. The Swirl logo is a trade mark of the Cabinet Office. IT Infrastructure Library is a registered
The SPES Methodology Modeling- and Analysis Techniques
The SPES Methodology Modeling- and Analysis Techniques Dr. Wolfgang Böhm Technische Universität München [email protected] Agenda SPES_XT Project Overview Some Basic Notions The SPES Methodology SPES_XT
Master of Science Service Oriented Architecture for Enterprise. Courses description
Master of Science Service Oriented Architecture for Enterprise Courses description SCADA and PLC networks The course aims to consolidate and transfer of extensive knowledge regarding the architecture,
Software Modeling and Verification
Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system
Verication by Finitary Abstraction Weizmann Institute of Sciences and Universite Joseph Fourier, Grenoble Fourth International Spin Workshop (SPIN'98) Paris 2.11.98 Joint work with: Y. Kesten Ben Gurion
Antonio Kung, Trialog. HIJA technical coordinator. Scott Hansen, The Open Group. HIJA coordinator
HIJA Antonio Kung, Trialog HIJA technical coordinator Scott Hansen, The Open Group HIJA coordinator 1 Presentation Outline HIJA project ANRTS platforms Requirements for ANRTS platforms Profiles based on
Dynamic Process/Service Composition/Combination
INFINT 2009 - Bertinoro Workshop on Data and Service Integration Bertinoro, March 15-20, 2009 Dynamic Process/Service Composition/Combination Ugo Montanari Dipartimento di Informatica Università di Pisa
Lesson 4 Web Service Interface Definition (Part I)
Lesson 4 Web Service Interface Definition (Part I) Service Oriented Architectures Module 1 - Basic technologies Unit 3 WSDL Ernesto Damiani Università di Milano Interface Definition Languages (1) IDLs
Goal-Driven Adaptable Software Architecture for UAVs
SEAS DTC Annual Technical Conference 2008 Goal-Driven Adaptable Software Architecture for UAVs William Heaven, Daniel Sykes, Jeff Magee, Jeff Kramer SER001 Imperial College London The Challenge Autonomous
The ProB Animator and Model Checker for B
The ProB Animator and Model Checker for B A Tool Description Michael Leuschel and Michael Butler Department of Electronics and Computer Science University of Southampton Highfield, Southampton, SO17 1BJ,
Automatic vs. Manual Code Analysis
Automatic vs. Manual Code Analysis 2009-11-17 Ari Kesäniemi Senior Security Architect Nixu Oy [email protected] Copyright The Foundation Permission is granted to copy, distribute and/or modify this
Software Architecture Document
Software Architecture Document Natural Language Processing Cell Version 1.0 Natural Language Processing Cell Software Architecture Document Version 1.0 1 1. Table of Contents 1. Table of Contents... 2
A View Integration Approach to Dynamic Composition of Web Services
A View Integration Approach to Dynamic Composition of Web Services Snehal Thakkar, Craig A. Knoblock, and José Luis Ambite University of Southern California/ Information Sciences Institute 4676 Admiralty
Note: This App is under development and available for testing on request. Note: This App is under development and available for testing on request. Note: This App is under development and available for
Patterns of Information Management
PATTERNS OF MANAGEMENT Patterns of Information Management Making the right choices for your organization s information Summary of Patterns Mandy Chessell and Harald Smith Copyright 2011, 2012 by Mandy
Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer
Generate Results. Real Models. Real Code. Real Fast. Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer Andreas Henriksson, Ericsson [email protected]
Japan Communication India Skill Development Center
Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 2b Java Application Software Developer: Phase1 SQL Overview 70 Introduction Database, DB Server
A study on Security Level Management Model Description
A study on Security Level Management Model Description Tai-Hoon Kim Dept. of Multimedia, Hannam University, Daejeon, Korea [email protected] Kouichi Sakurai Dept. of Computer Science & Communication Engineering,
Software Architecture
Cairo University Faculty of Computers and Information Computer Science Department Premasters Studies Software Architecture Report on Software Product Line Submitted to: Dr. Hany Ammar Submitted by: Hadeel
Architecture Definitions
Architecture Definitions Dana Bredemeyer Bredemeyer Consulting Tel: (812) 335-1653 Fax: (812) 335-1652 Email: [email protected] Web: Ruth Malan Bredemeyer Consulting Tel: (812) 335-1653 Fax: (812) 335-1652
On the Modeling and Verification of Security-Aware and Process-Aware Information Systems
On the Modeling and Verification of Security-Aware and Process-Aware Information Systems 29 August 2011 What are workflows to us? Plans or schedules that map users or resources to tasks Such mappings may
Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications
Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications Sayantan Das Prasenjit Basu Ansuman Banerjee Pallab Dasgupta P.P. Chakrabarti Department of Computer Science & Engineering
InvGen: An Efficient Invariant Generator
InvGen: An Efficient Invariant Generator Ashutosh Gupta and Andrey Rybalchenko Max Planck Institute for Software Systems (MPI-SWS) Abstract. In this paper we present InvGen, an automatic linear arithmetic
Reusable Connectors in Component-Based Software Architecture
in Component-Based Software Architecture Abdelkrim Amirat, Mourad Oussalah To cite this version: Abdelkrim Amirat, Mourad Oussalah. Reusable Connectors in Component-Based Software Architecture. Ninth international
Run-time Variability Issues in Software Product Lines
Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, [email protected] 2 Dep.
Advanced Systems Security: Retrofitting Commercial Systems
Systems and Internet Infrastructure Security Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA Advanced Systems Security:
An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications
An Approach for Generating Concrete Test Cases Utilizing Formal Specifications of Web Applications Khusbu Bubna RC Junit concrete test cases suitable for execution on the implementation. The remainder
How To Understand Software Engineering
PESIT Bangalore South Campus Department of MCA SOFTWARE ENGINEERING 1. GENERAL INFORMATION Academic Year: JULY-NOV 2015 Semester(s):III Title Code Duration (hrs) SOFTWARE ENGINEERING 13MCA33 Lectures 52Hrs
focus Software product line engineering (SPLE) is a paradigm of software reuse Combining Service Orientation with Product Line Engineering
focus s o f t w ar e pr o duc t lin e s Combining Orientation with Product Line Engineering Jaejoon Lee and Gerald Kotonya, Lancaster University Developing effective service-oriented product lines can
VDM vs. Programming Language Extensions or their Integration
VDM vs. Programming Language Extensions or their Integration Alexander A. Koptelov and Alexander K. Petrenko Institute for System Programming of Russian Academy of Sciences (ISPRAS), B. Communisticheskaya,
REGULATIONS AND CURRICULUM FOR THE MASTER S PROGRAMME IN INFORMATION ARCHITECTURE FACULTY OF HUMANITIES AALBORG UNIVERSITY
REGULATIONS AND CURRICULUM FOR THE MASTER S PROGRAMME IN INFORMATION ARCHITECTURE FACULTY OF HUMANITIES AALBORG UNIVERSITY SEPTEMBER 2015 Indhold PART 1... 4 PRELIMINARY REGULATIONS... 4 Section 1 Legal
Communication Networks. MAP-TELE 2011/12 José Ruela
Communication Networks MAP-TELE 2011/12 José Ruela Network basic mechanisms Network Architectures Protocol Layering Network architecture concept A network architecture is an abstract model used to describe
Software Engineering using Formal Methods
Software Engineering using Formal Methods Model Checking with Temporal Logic Wolfgang Ahrendt 24th September 2013 SEFM: Model Checking with Temporal Logic /GU 130924 1 / 33 Model Checking with Spin model
Secure Database Development
Secure Database Development Jan Jurjens () and Eduardo B. Fernandez (2) () Computing Department, The Open University, Milton Keynes, MK7 8LA GB http://www.jurjens.de/jan (2) Dept. of Computer Science,
Software design (Cont.)
Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java
Runtime Enforcement of Timed Properties
Runtime Enforcement of Timed Properties Srinivas Pinisetty 1,Yliès Falcone 2, Thierry Jéron 1, Hervé Marchand 1, Antoine Rollet 3 and Omer Nguena Timo 3 INRIA Rennes - Bretagne Atlantique, France LIG,
Component Based Software Engineering: A Broad Based Model is Needed
Component Based Software Engineering: A Broad Based Model is Needed Allen Parrish ([email protected]) Brandon Dixon ([email protected]) David Hale ([email protected]) Department of Computer Science
Dr. Jana Koehler IBM Zurich Research Laboratory
Precise Modeling of Business Processes with the Business Process Modeling Notation BPMN 2.0 Dr. Jana Koehler IBM Zurich Research Laboratory ZRL BIT at a Glance Computer Science at ZRL: Security/Cryptography
LEVERAGING DEDUCTIVE VERIFICATION IN INDUSTRIAL CONTEXTS
LEVERAGING DEDUCTIVE VERIFICATION IN INDUSTRIAL CONTEXTS CEA S SOFTWARE SAFETY LABORATORY 1995: LEAP FROM DYNAMIC TO STATIC CODE ANALYSIS! CAVEAT: ARCHITECTURE C source code VC Generator Formal specifications
WOW! YOU DID THAT WITH SAS STORED PROCESSES? Dave Mitchell, Solution Design Team, Littleton, Colorado
Paper BB12-2015 ABSTRACT WOW! YOU DID THAT WITH SAS STORED PROCESSES? Dave Mitchell, Solution Design Team, Littleton, Colorado In this paper you will be introduced to advance SAS 9.4 functions developed
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
2012 International Conference on System Engineering and Modeling (ICSEM 2012) IPCSIT vol. 34 (2012) (2012) IACSIT Press, Singapore Verifying Semantic of System Composition for an Aspect-Oriented Approach
Certifying the Security of Android Applications with Cassandra
1 15 th International School on Foundations of Software Security and Design August 31 st, 2015, Bertinoro Certifying the Security of Android Applications with Cassandra Steffen Lortz, Heiko Mantel, David
Ruby on Rails Tutorial - Bounded Verification of Data Models
Bounded Verification of Ruby on Rails Data Models Jaideep Nijjar and Tevfik Bultan University of California, Santa Barbara {jaideepnijjar, [email protected] ABSTRACT The use of scripting languages to
