Towards Preserving Correctness in Self-Managed Software Systems Lieven Desmet – Nico Janssens – Sam Michiels Frank Piessens – Wouter Joosen – Pierre Verbaeten.

Slides:



Advertisements
Similar presentations
3° Workshop Nazionale del Gruppo di Interesse in Ingegneria del Software Genova, 2-3 ottobre 2006 CASE – Libera Università di Bolzano-Bozen RCOST – Università
Advertisements

AMUSE Autonomic Management of Ubiquitous Systems for e-Health Prof. J. Sventek University of Glasgow In collaboration.
Towards Self-Testing in Autonomic Computing Systems Tariq M. King, Djuradj Babich, Jonatan Alava, and Peter J. Clarke Software Testing Research Group Florida.
Towards a Practical Composition Language Oscar Nierstrasz Software Composition Group University of Bern.
Software Architectures and Embedded Systems Nenad Medvidovic with Sam Malek and Marija Mikic-Rakic Computer Science Department University of Southern California.
A metadata-driven approach to context-sensitive composition of collaborations Eddy Truyen, Wouter Joosen and Pierre Verbaeten Bo N. Jørgensen Maersk Institute.
Reseach in DistriNet (department of computer science, K.U.Leuven) General overview and focus on embedded systems task-force.
DEVS-Based Simulation Web Services for Net-Centric T&E Saurabh Mittal, Ph.D. Jose L. Risco-Martin*, Ph.D. Bernard P. Zeigler, Ph.D. Arizona Center for.
February 13, 2007 Dynamic Software Reconfiguration in Programmable Networks Nico Janssens DistriNetDistriNet, Department of Computer Science, K.U. Leuven.Department.
Azad Madni Professor Director, SAE Program Viterbi School of Engineering Platform-based Engineering: Rapid, Risk-mitigated Development.
1 IBM SanFrancisco Product Evaluation Negotiated Option Presentation By Les Beckford May 2001.
Enterprise Interoperability Basic Concepts and Definitions David Chen IMS-LAPS University Bordeaux 1 FRANCE.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
JSLEE. What is JSLEE ? is an event oriented application middleware. Its main job is to receive events from external resources and deliver these events.
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
Network Enabled Capability Through Innovative Systems Engineering Service Oriented Integration of Systems for Military Capability Duncan Russell, Nik Looker,
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Course Instructor: Aisha Azeem
Chapter 6: Architectural Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
An Introduction to Software Architecture
Capita Selecta Distributed Systems Danny Hughes, Wouter Joosen, Sam Michiels, Eddy Truyen IBBT-DistriNet, KULeuven September
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Supporting Object Mobility Wouter Joosen, Frank Matthijs, Bert Robben, Eddy Truyen, Bart Vanhaute DistriNet Lab ~xenoops/CORRELATE.
Using AADL to Model a Protodol Stack Didier Delanote, Stefan Van Baelen, Wouter Joosen and Yolande Berbers Katholieke Universiteit Leuven.
Architecting Web Services Unit – II – PART - III.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
2Object-Oriented Analysis and Design with the Unified Process The Requirements Discipline in More Detail  Focus shifts from defining to realizing objectives.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Slide 1 Introduction to Software Architecture TV Prabhakar.
SoBeNeT User Group meeting Part II Wouter Joosen October
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
KATHOLIEKE UNIVERSITEIT LEUVEN 1.NET Curriculum Workshop Teaching Software Security: Case Studies on the.NET Framework Frank Piessens and Wouter Joosen.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
Dynamic and Selective Combination of Extension in Component-based Applications Eddy Truyen, Bart Vanhaute, Wouter Joosen, Pierre Verbaeten, Bo N. Jørgensen.
31 March 2009 MMI OntDev 1 Autonomous Mission Operations for Sensor Webs Al Underbrink, Sentar, Inc.
Chapter 7: Architectural Design Chapter 11 in textbook 1.
Software Architectural Views By the end of this lecture, you will be able to: list and describe the views in the 4+1 view model of software architecture.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
SelfCon Foil no 1 Variability in Self-Adaptive Systems.
1 5/18/2007ã 2007, Spencer Rugaber Architectural Styles and Non- Functional Requirements Jan Bosch. Design and Use of Software Architectures. Addison-Wesley,
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
TTCN-3 Testing and Test Control Notation Version 3.
Decisive Themes, July, JL-1 ARTEMIS Decisive Theme for Integrasys Pedro A. Ruiz Integrasys July, 2011.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Architecting Web Services
Architecting Web Services
OO Methodology OO Architecture.
Software Connectors – A Taxonomy Approach
Service-centric Software Engineering
Service-centric Software Engineering 1
An Introduction to Software Architecture
Utility-Function based Resource Allocation for Adaptable Applications in Dynamic, Distributed Real-Time Systems Presenter: David Fleeman {
Automated Analysis and Code Generation for Domain-Specific Models
Self-Managed Systems: an Architectural Challenge
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Design.
ONAP Architecture Principle Review
Mulesoft Anypoint Connector for AS/400 and Web Transaction Framework
Presentation transcript:

Towards Preserving Correctness in Self-Managed Software Systems Lieven Desmet – Nico Janssens – Sam Michiels Frank Piessens – Wouter Joosen – Pierre Verbaeten DistriNet Research Group, Katholieke Universiteit Leuven, Belgium

2 Overview  Assumptions  Motivation  Research goals  Approaches  Open questions

3 Assumptions  Adaptive, dynamic software system, with adaptation management within software system  Adaptivity by typical feedback control loop:  sensors  gathering data  making adaptation decision  planning adaptation  executing adaptation

4 DiPS +  Component based, rapid prototyping framework for protocol stacks in highly dynamic network environments DiPS+ Functional Layer DMonA Self-Management WOSS'02 & WICSA'04 CuPS Run-time replacement WCOP'02 & ICSM'04 Agents Network Management PhD Sam Michiels MsC Thesisses open framework

5 Focus  DiPS+ self-management:  external self-management: add-ons to open framework  centralized (decision) and distributed (activation)  domain specific: flow-based architecture, service based architecture  level of adaptation: component/service within a composition, concurrency model  how to get it right: MAIN ISSUE  application domain: system software (protocol stacks) and distributed applications

6 Motivation  Some observations:  Shift towards component based software design and service oriented software architectures  compositions of highly decoupled, reusable, distributed software entities  Need for evolvability and manageability  both at deploy-time and run-time  Lot of mission critical software systems  high availability (24/7)  predictable behavior/correctness

7 Examples  Implicit dependencies between components  e.g. data-centered systems:  Central data repository  Components can read and write data to the repository  Components share data through the shared data repository shared data repository comp

8 Examples  Composing a data-centered application:  Introduces dataflow dependencies between components comp repository comp implicit dependency

9 Examples  Replacing a component by a bug-fixed version with additional non-functional support  interfaces are stable  partially completed transactions

10 Examples  Replacing components or services by a faster version  interfaces are not stable anymore  components are not backward compatible node 1node 2 node 1 node 2

11 Research goals  Consistent software compositions  loosely coupled components and services at design- time  correctly deployed in different compositions  Dynamic consistency  software consistency before, during and after adaptations for  isolated software adaptations  distributed software adaptations

12 Approaches  Consistent composition  ADL's and analysis/verification tools difficult to cover all dependencies/assumptions  Support for dataflow dependencies in data centered software systems specific point solution  ArchJava bridges gap between ADL and implementation no composition-time information (constraints, dependencies, assumptions) can be used [Desmet, WADS 2004] [PhD Aldrich, 2003]

13 Approaches  Dynamic consistency: Isolated adaptations  Achieving a quiesence state in order to have safe software configurations  Adding consistency recovery support to capture and reinstate application-state  Coexistence of old and new components until converging output (SIMPLEX and HERCULES) [Magee and Kramer, IEEE Trans. on SE 1990] [Phd Hofmeister, 1990] [Cook and Dage, ICSE 99] [Rivera et al, TR SEI 96]

14 Approaches  Dynamic consistency: distributed adaptations  Consistency preserving distributed adaptations at runtime: Cactus, Ensemble however very specific to a particular application domain and environment  NeCoMan encapsulates dynamic consistency in generic and reflective middleware platform only applicable in flow-based architectures  Lasagne collaborations are composed on a per-request base by selecting appropriate wrappers [Chen et al., ICDCS 02] [Janssens, RM 2004] [van Renesse et al., Software – Practice & Experience 1998] [PhD Truyen, 2004]

15 Open questions  Which kind of software systems can benefit of self-managed behavior?  Is there any need for mission critical, self- managed software systems?  Can the presented correctness be relaxed in some situations?  Is fault tolerance complementary to this approach?

16 Open questions (2)  What is the unit of adaptation?  Are adaptations localized or distributed?  Are adaptations anticipated or unanticipated?  What is the right balance between formal description/analysis and usability?  Can tool support completely bridge this gap?

17 Questions ?? ? ? ? Lieven Desmet – Nico Janssens – Sam Michiels Frank Piessens – Wouter Joosen – Pierre Verbaeten DistriNet Research Group, Katholieke Universiteit Leuven, Belgium