440 likes | 568 Views
Dagstuhl Seminar 10431 Software Engineering for Self Adaptive Systems October 2010 Introductions. nn. aa. ff. tt. Requirements Reuse Testing End-user programming. Research focus on Learning strategies for self-adaptation (self-optimization)
E N D
Dagstuhl Seminar 10431 Software Engineering for Self Adaptive Systems October 2010 Introductions nn aa • ff • tt
Requirements Reuse Testing End-user programming Research focus on • Learning strategies for self-adaptation (self-optimization) • Self-adaptation in community-based mobile software eco systems • Foundations of Self-adaptive systems. Modeling dimensions and FORMS Other interesting facts • ... Jesper Andersson Linnaeus University, Växjö, Sweden
Requirements and self-adaptive systems Self-adaptive capabilities in highly dynamic and massively distributed systems Dynamo • A comprehensive framework for self-adaptive BPEL processes FLAGS • Fuzzy Goals for Requirements-driven (self-)Adaptation A-3 • Middleware for group-based reorganization of highly-distributed applications Luciano Baresi Politecnico di Milano
Verification and Validation: What are important properties to verify, which techniques / approaches are applicable V&V at run-time? Modeling and verification of self-adaptive systems Monolithic verification approaches are not well suited for self-adaptive systems! Publicity Co-Chair SEAMS ‘11 Basil Becker Hasso Plattner Institute, Univ. Potsdam, Germany
models@run.time to support self-adaptive systems requirements@run.time : representation and manipulation of requirements at runtime WWW: walks and why not good wine I am working on: • models@run.time to support adaptation • requirement-aware systems : I believe that making requirementsavailable as runtime objects endow these systems with the ability to reason about, understand, explain and even modify requirements at runtime. Nelly Bencomo Lancaster University, UK
Benchmarking via self-adaptation exemplars. Differences in methods and domains of self-organization and self-adaptation. I leverage theoretical computer science to model self-adaptation and apply those models to software engineering. I have a special interest in bottom-up self-organization, in addition to top-down self-adaptation. Yuriy Brun University of Washington
Socio – technical aspects: Can human operators adjust and follow system adaptation suggestions? • The old AI question: Is understanding system action selection essential? Model fidelity vs. trusted verification: Is there a hope? Recent research interest is adaptation in socio – technical systems. More specifically, of interest is the tradeoff between system performance vs. security risk. The application domain are border security management systems. Past interests include analysis and verification of adaptive flight control systems. That work had been presented at 2008 Dagstuhl seminar. Bojan Cukic West Virginia University
Resilience: dependably in the presence of changes Processes: how self-adaptive systems should be developed? Self-organising architectures: assurances that can be obtained Dynamic generation of plans for managing self-adaptation Where is validation before reconfiguration? Anything better than utility functions for supporting decision making? Rogerio de Lemos University of Kent, UK
Scheduling and feedback controls • Cloud provisioning within a controllable framework • Research grid and cloud computing systems. • Investigate how scheduling and controls can be used with cloud systems. • Provide mechanisms to support control and sensing of dynamic systems Ron Desmarais University of Victoria, Canada
Self-adaptation for dynamic (mixed) systems (HPS+SBS) Adaptation <-> Awareness <-> Software Architecture Linking feedback loops and adaptation mechanisms at various architectural layers DSG has some 35 members Recent novel contributions in dynamic “mixed” systems for self-adaptive systems, comprising compositions of HPS+SBS Other “facts” & papers on homepage ;-) Schahram Dustdar TU Vienna, Distributed Systems Group
Semantic Interface Matching Interested in 3-letter research around model-driven development: MDA, MDD, MDE, UML, DSL, SOA, SPL, OSS, SQA, DbC, MbT, UCP Gregor Engels University of Paderborn, Germany s-lab – Software Quality Lab, Paderborn Capgemini Research, Munich Component Component matching? distance? required interface provided interface holistic interface descriptions: functional (syntax, semantics), non-functional, organizational
Who cares about usability, trust, acceptance of self-adaptive systems? Why do developers hate utility functions? (Decision making in self-adaptive systems) Research interests Self-adaptive applications in ubiquitous computing environments Autonomous mobile robots Synergies in the two research areas?!!! Kurt Geihs University of Kassel, Germany
Models: their role for SAS (incl. MDE) Maintenance: also for SAS (incl. adaptability vs. self-adaptive) Evaluation: for SAS and their development (incl. benchmarks) Distribution: and SAS (heterogeneity, decentralized control, SOA) Model-Driven Engineering of Self-Adaptive Software • Modeling & code-generation for timed systems with reconfiguration • Monitor and Adapt runtime architectures using MDE technology and runtime models (feedback loops) • invariant checking for architectural adaptation of timed, infinite state systems • compositional model checking for timed systems with reconfiguration Holger Giese Hasso Plattner Institute, Univ. Potsdam, Germany
Balancing design and run time human effort to create self-* systems. Automatic Workarounds: Self-healing can be achieved by substituting failing operations with semantically equivalent ones that do not cause the failure. Alessandra Gorla University of Lugano - Switzerland
if we envision a world populated by several self-adaptive software “entities”, how do we manage/architect their competition-cooperation? design and implementation of methodologies and tools for QoS-based runtime adaptation of composite SOA systems • MOSES (MOdel-basedSElf-adaptationofSOAsystems) reactive/proactive SLA provisioning in cloud infrastructures Vincenzo Grassi Università di Roma “Tor Vergata”, Italy
What is needed to apply self-adaptive systems in practice (beyond research prototypes)? One idea to build configurable components (building blocks) for the control-loop … Coming from middleware and dependability research (and industrial practice). Run-time management of constraints, having some requirements available during run-time. Differentiation between criticality levels. Project in the ATC area 2004-2007. Building a distributed control loop for client request rate control. Project 2008-2011 (ongoing). Karl M. Göschka Vienna University of Technology
Foreseen vs unforeseen system evolutions, boundaries and role of context Programming an adaptive system: loose programming techniques software life cycle for adaptive and dependable systems, model at run time for dependable evolution, Plastic project. Resource aware programming for adaptive systems, the Chamaleon project Building connectors on the fly, Connect project Paola Inverardi Dip. Informatica, Università dell’Aquila
Engineering Architectures for SaS: what is reusable, what is problem-specific, how do we integrate? Verification and Validation: There are many adaptive flight control systems for aircraft, but none of them certified. Why? Model-driven development offers a unique opportunity for self-adaptive systems: (1 )models can represent the complete ‘adaptation space’ of a system, (2) models can be incorporated into a run-time system, where they can be used to assist in self-adaptation Theory of Adaptive Control provides a foundation – but the relevant concepts have to be reinterpreted (e.g. stability) Gabor Karsai Vanderbilt University/ISIS
Dealing with dynamism Dealing with uncertainty Advocate an architectural approach for benefits in • Separation of concerns • Modelling and analysis • Reification Experience using rigorous techniques in a layered architecture • Dynamic (Re)Planning based on a form of model checking • Dynamic distributed self-assembly of software components Jeff Kramer & Jeff Magee Imperial College London (ICSE FOSE paper 2007) (SEAMS paper 2008, Dagstuhl LNCS 5525 2009)
Ultra large scale systems: Quantitative models for adaptation Cloud computing and adaptive systems Marin Litoiu York University, Toronto, Canada • Adaptive Systems Research Lab, York University • Runtime software models for adaptive systems • Includes model adaptation, parameters tracking • Runtime optimization (decisions) • Self –tuning, scaling-in, scaling-out • Cloud computing adaptation • Cloud architecture and services for self-adaptation • Adaptive business processes • http://ceraslabs.com
Modelling formalisms for Adaptive Systems Analysis Techniques for Adaptive Systems Architecture-based adaptation • Foundations of SA using Category Theory (Wermelinger, Fiadeiro) A Graph-Based Architectural Reconfiguration Language, FSE’02 • Adaptive compositions of adaptive services (Rosa, Rodrigues,..) Policy Driven Adaptation of Protocol Stacks, ICAS’06 Building Adaptive Systems with Service Composition Frameworks, DOA’07 Modelling Adaptive Services for Distributed Systems, SAC’08 From Local Impact Functions to Global Adaptation of Service Compositions, SSS’09 Antónia Lopes University of Lisbon, Faculty of Sciences
Interdisciplinary combination of techniques • Modeling (software architecture, feature model, etc.) • Quantitative analysis (markov model, machine learning, mathematical programming, etc.) • Implementation (SOA, context-aware middleware, etc.) Broadly interested in reducing the effort required in engineering advanced self-adaptive software systems • Reliability driven proactive adaptation • Learning to adapt optimally • Manage uncertainty in adaptation • Formally specify and guarantee properties of self-adaptation Co-editor of an upcoming special issues of the Journal of Systems and Software on “State of the Art in Self-Adaptive Software Systems” Sam Malek George Mason University, DC suburb, USA
Architectures where failure is not a problem Elasticity vs. Change Management Balancing Quality of Service vs. Overprovisioning vs. Cost of Ownership 80% of IT budgets spent keeping IT systems operational Over 10% of Amazon infrastructure is down at any point in time Computing power costs less and less, electric power costs more and more Serge Mankovski CA Labs
How to compose applications in a way that the composed system adapts to both user needs and context Howto engineer systems with self-organization capabilities Metrics for system adaptability design and implementation of methodologies and tools for QoS-based runtime adaptation of composite SOA systems QoS-aware dynamic reconfiguration through service “degradation” self-organization algorithms for distributed software architectures Raffaela Mirandola Politecnico di Milano, Italy
Variability spaces for software behaviour Control-theoretic principles for adaptive software Design of feedback loops We are working on (self-) adaptive software from a Requirements Engineering (RE) perspective: adaptivity is all about adjusting behaviour to fulfill requirements. Our work exploits run-time models of requirements to support adaptivity As of this year, I’m a grandfather … John Mylopoulos University of Trento (Italy)
Control science: Characterize run-time V&V for SAS Feedback control: Contrast control-based run-time approaches for highly adaptive systems Context: Discuss role of context & context management in SAS Design and evolution of highly adaptive software systems • Context management, control, run-time V&V, control science Autonomic Control Framework for Adaptive Systems (ACFAS) • Based on IBM's ACRA; using control filters and accessed via web services Industrial case studies with CA Inc. and IBM • (1) Dynamic service-oriented systems; (2) Adaptive RCAD; (3) Context-aware scheduling in the Cloud; (4) Location-based business intelligence Hausi A. Müller University of Victoria, Canada
What kind of run-time and development support would help you in your domain? Software evolves, but programming languages and development environments offer little to support it. Run-time models, reflection and context-based run-time adaptation are needed to support evolution in both the short and long-term. Oscar Nierstrasz Software Composition Group, U Bern
Scalability, applications, examples Adoption of software product line engineering approach in self-adaptive system development Self-adaptive research on Robotics domain for 7 years Developed various successful demos systems Didn’t get practically satisfactory results in scalability • Issues of other areas such as AI (decision theory), OS (real-time, middleware) etc • Issues of SE such as reconfigurable component, architecture, validation etc Sooyong Park Sogang University, Korea
From specific to general approaches Specifying the requirements of self-managed systems A general approach to the design of self-healing systems Detect and heal unknown faults Surrogate (Krigin) models for self-adaptive service oriented systems Mauro Pezzè University of Lugano and University of Milano Bicocca
Adaptation and self-organization in distributed systems Adaptation and (SW) variability (SW Product lines, Features etc) Spent 12 years in industrial research on networks, mobile applications and (adaptive) SW technologies for these Now building up a new research team on adaptive systems for automotive and industrial communications Have been trying to understand self-organization in networks • The self-organizing capabilities of Internet technology have enabled the dramatic changes we have seen in the last 20 years Christian Prehofer Fraunhofer ESK & Ludwig-Maximilians University, Munich
Scalability Coordination Policies Published first paper on adaptive systems in 1994. (“A Model for Adaptive Fault-Tolerant Systems”, EDCC-1, with M. Hiltunen.) Adaptive behavior as been a recurring theme since then. Adaptation − at multiple levels and in multiple places − is fundamental to many operational aspects of an ISP like AT&T. Richard D. Schlichting AT&T Labs Research
Modeling formalisms for ULS Analysis of volatile systems (Volatility implies uncertainty) Since 2002 working in a multidisciplinary (engineering and cs), multi person (ca. 50) project, the Railcab project The vision of the Railcab project is a new type of public transport system, a typical ULS (Ultra Large Scale Systems) exhibiting a lot of self*- features Wilhelm Schäfer Heinz Nixdorf Institute University of Paderborn
Reactive vs. Proactive Adaptation Self-adaptation vs. self-organization Model problems / examples Member of group that developed Rainbow • Architectural models are successful models on which to base self-adaptation • Successful self-adaptation needs to consider multiple quality attributes • Strategy selection can use utility functions to help make choices • A model of the system must include a model of its environment Co-editor of an upcoming special issues of the Journal of Systems and Software on “State of the Art in Self-Adaptive Software Systems” Bradley Schmerl Carnegie Mellon University
Design, especially design spaces for adaptation Validation • Of the correctness of adaptation • Of research on adaptation Most adaptive systems incorporate feedback mechanisms • The control loop is often not explicit in the system design • It should be explicit in order to make decisions about control explicit Adaptation allows realistic levels of precision and correctness • The real world has intrinsic uncertainties • Exact specifications and optimization assume more precision than is available and therefore they are brittle Mary Shaw Carnegie Mellon University
Adaptation in SOA based applications: potential mechanisms and challenges Potential tradeoffs between self-adaptivity and late binding of loosely coupled applications One current focus is on providing information to mobile users at the edge (such as first responders, or even sales agents) so they can make better decisions in situations of low connectivity, diverse security domains and access to local and enterprise data A second focus is on how specific technology solutions (SOA, cloud) can address challenges related to mobile users at the edge, such as context awareness, security, dynamic composition Dennis B. Smith Carnegie Mellon University, SEI
self-adaptation of features and end-user design Self-adaptation of featuresas opposed to adaptation to preserve function/QoScan be encoded in run-time views of system designas opposed to a separate MAPE layer …in a way that is suitable for end-user design. In cyber-physical systems, e.g. smart spaces,multiuser often means multi-design. João P. Sousa George Mason University -------- Claims suburbs of Washington, DC
Engineering of Adaptive Software Systems Run-Time Models for SAS Design of Feedback-Loops Evolving (Ultra) Large Scale Software Systems towards Adaptability • StarMX: A Framework for Developing Self-Managing Software Systemshttp://sourceforge.net/projects/starmx • Engineering Adaptation Manager • Evaluating (Self-)Adaptive Software Systems Co-author of the survey article • Self-Adaptive Software: Landscape and Research Challenges, ACM TAAS, 2009 Ladan Tahvildari University of Waterloo
Engineering of self-adaptive software systems: Comparison of key adaptation properties to be addressed in adaptation strategies Feedback Control vs. other adaptation strategies: What key differences (principles, concerns) present the different self-adaptive strategies? Control theory approaches vs. formal approaches vs. architecture-based approaches… QoS properties preservation through architecture adaptation: a formal approach • An e-graph theory to address reliability in adaptation Exploration of control engineering applied to self-adaptive software systems • A control-based reference model: feedback loops as first level components Identification of adaptation strategies vs. adaptation properties • Correctness, reliability, performance, … Gabriel Tamura INRIA - U. Lille 1 (France), U. of Los Andes (Colombia)
Monitoring: Dynamic context management to support adaptation Engineering of adaptive software systems: Characterization of software properties that must guide the definition of adaptation strategies Feedback Control: how to apply control-based approaches to adaptive software systems? (beyond the mapping of control loops to components for adaptation) Engineering of adaptive software systems • Control-based reference models: feedback loops as first level components Evaluating adaptation strategies in adaptive software systems • SASO properties from control-based approaches Vs. QoS properties from architectural-based approaches • How to define adaptation strategies according to addressed properties? Industrial case studies (IBM) • Dynamic context management for optimizing dynamic business processes • Dynamic context management for supporting user-driven web integration Norha Villegas University of Victoria, Canada
Architecting self-adaptive systems, like... • how to structure management tasks and models? • how to specify the semantics of models? Distributed self-adaptive/-organizing systems In general, Model-Driven Engineering (MDE) and Self-Adaptive Software Systems Especially, working on MDE techniques andmodels at runtime for (self-)adaptation • e.g., runtime models as interfaces for adaptation Publicity Co-Chair of SEAMS'11 Thomas Vogel Hasso PIattner Institute, University of Potsdam, Germany
Separation of concerns in self-adaptive systems Self-adaptation in decentralized systems Background in software architectures for multi-agent systems Particular interest in decentralized self-adaptive systems FORMS: Formal Reference Model for Self-adaptation • Formally specified model of essential building blocks of self-adaptive systems • Multiple perspectives: reflection, MAPE, distributed coordination Co-organizer of Workshop on Self-Organizing Architectures (SOAR) • Middle ground between self-organizing and self-adaptive systems Danny Weyns Katholieke Universiteit Leuven, Belgium
Self-healing systems Teaching resources for self-adaptive systems engineering We are investigating computer-assisted strategies to diagnose failures in enterprise systems. Basic aspects of developing self-adaptive systems can and should be taught in first-year computing science. Kenny Wong University of Alberta, Canada
What are self-managed and adaptive systems, and what are the SE issues when building them? Self-organization as a means to build layered systems from adaptive components. Property Templates as a simple approach to define constraints and generate code for runtime monitoring and verification Jochen Wuttke University of Lugano, Switzerland
Thank you! tt ff nn aa