SelfCon Foil no 1 Pre-structured Systems. SelfCon Foil no 2 Pre-structured systems (e.g. SDL systems) Stable (cannot be added or changed dynamically)

Slides:



Advertisements
Similar presentations
SelfCon Foil no 1 Dynamic component systems 1. SelfCon Foil no 2 Pre-structured systems vs. dynamic component systems Pre-structured – emphasis on content.
Advertisements

SelfCon Foil no 1 Dynamic component systems 2. SelfCon Foil no 2 Fire and burglar alarms Climate control: heating and cooling Power control: minimize.
1 Semantic Description of Programming languages. 2 Static versus Dynamic Semantics n Static Semantics represents legal forms of programs that cannot be.
CORBA - Common Object Request Broker Architecture.
Summary of the lecture We discussed –variable scope –instance variable declarations –variable lifetime.
CSE115: Introduction to Computer Science I Dr. Carl Alphonce 219 Bell Hall
Ensuring Non-Functional Properties. What Is an NFP?  A software system’s non-functional property (NFP) is a constraint on the manner in which the system.
Communication in Distributed Systems –Part 2
SensIT PI Meeting, April 17-20, Distributed Services for Self-Organizing Sensor Networks Alvin S. Lim Computer Science and Software Engineering.
Vakgroep Informatietechnologie – IBCN Software Architecture Prof.Dr.ir. F. Gielen Quality Attributes & Tactics (4) Modifiability.
1 © Talend 2014 Service Locator Talend ESB Training 2014 Jan Bernhardt Zsolt Beothy-Elo
Ontology-derived Activity Components for Composing Travel Web Services Matthias Flügge Diana Tourtchaninova
DOT’98 Heidelberg 1 A. Hoffmann & M. Born Requirements for Advanced Distribution and Configuration Support GMD FOKUS Andreas Hoffmann & Marc Born
Technical aspects of OpenRTM-aist Geoffrey Biggs Intelligent Systems Research Institute National Institute of Advanced Industrial Science and Technology.
Profiling Metadata Specifications David Massart, EUN Budapest, Hungary – Nov. 2, 2009.
EJB Framework.  As we know, EJB is the center of the J2EE architecture that provides a sturdy framework for building enterprise applications. The major.
ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere.
SelfCon Foil no 1 Self configuring systems - introduction II.
SelfCon Foil no 1 Self configurating systems - a starter Rolv Bræk, Item.
Designing Persistency Delos NoE, Preservation Cluster Workshop: Persistency in Digital Libraries 14. February 2006, Oxford Internet Institute.
SelfCon Foil no 1 Design of Self-Adaptive Systems Course introduction 2013 Rolv Bræk, ITEM.
Comparing JavaBeans and OSGi Towards an Integration of Two Complementary Component Models HUMBERTO CERVANTES JEAN-MARIE FAVRE 09/02.
Deployment of Distributed Multi-Agent Systems Alexander Pokahr Karl-Heinz Krempels Lars Braubach Winfried Lamersdorf Presentation: Dirk Bade University.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. NFP Design Techniques Software Architecture Lecture 20.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. NFP Design Techniques Software Architecture Lecture 20.
SelfCon Foil no 1 Self configuring systems - introduction I.
1 Memory Management Chapter 7. 2 Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated to ensure a reasonable.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
SelfCon Foil no 1 Variability in Self-Adaptive Systems.
1 Use of SDD in Grid Deployment Based on GGF CDDLM Jun Tatemura NEC Laboratories America Sept 14, 2005.
Steve Graham WS-ResourceFramework Modeling Stateful Resources With Web services OASIS WSRF TC F2F Wednesday, April 28th, 2004.
1 Use of SDD in Grid Deployment Based on GGF CDDLM Jun Tatemura CDDLM WG member NEC Laboratories America Sept 13, 2005.
Tutorial 4 Using JADE from External Java Applications Fuhua Lin, PhD, Professor, School of Computing and Information Systems Athabasca University, Alberta,
IoT Mashup as a Service: Cloud-based Mashup Service for the Internet of Things By: Benny Bazumnik Lidor Otmazgin Date: 21/05/14.
SOFA 2 Component Model Tomáš Bureš, Petr Hnětynka, František Plášil CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Czech Republic.
Chapter 7 Memory Management
Memory Management Chapter 7.
Data Modeling Using the ERD
CHAPTER
Jun Tatemura NEC Laboratories Amercia GGF10, March 2004
Axiomatic Number Theory and Gödel’s Incompleteness Theorems
Design by Contract Jim Fawcett CSE784 – Software Studio
Chapter 5: Structural Modeling
Object-Oriented Analysis and Design
Self Healing and Dynamic Construction Framework:
The GEMBus Architecture and Core Components
Lecture 25 More Synchronized Data and Producer/Consumer Relationship
Distribution and components
Entity-Relationship Modeling
Object Oriented Concepts -I
Today’s Objectives Define the Problem Domain
Chapter 25: Architecture and Product Lines
Java Review: Reference Types
Net 431: ADVANCED COMPUTER NETWORKS
Service-centric Software Engineering
IE352 System Analysis and Design
Chapter 2: The Linux System Part 2
Software Architecture Lecture 20
Object Oriented Programming
Analysis models and design models
Database Systems Instructor Name: Lecture-3.
An Introduction to Software Architecture
Concurrency: Mutual Exclusion and Process Synchronization
Operating Systems : Overview
Operating Systems : Overview
Risk Assessment PMO Briefing 31st January 2018.
Product Training Program
Ponder policy toolkit Jovana Balkoski, Rashid Mijumbi
Presentation transcript:

SelfCon Foil no 1 Pre-structured Systems

SelfCon Foil no 2 Pre-structured systems (e.g. SDL systems) Stable (cannot be added or changed dynamically) : System structure Block/process sets Block/process types Variable: Number of instances in block/process sets Parameter and variable values Static and dynamic links (PId values) Is some degree of self configuring/adaptation possible? Stable (cannot be added or changed dynamically) : System structure Block/process sets Block/process types Variable: Number of instances in block/process sets Parameter and variable values Static and dynamic links (PId values) Is some degree of self configuring/adaptation possible? System X b(,):BT c(,):CT d(,):DT a(,):AT ??

SelfCon Foil no 3 Self configuration and adaptation: Interrogating the environment and obtaining information Using the information to: create instances within the block/process sets create references linking instances initialise and change data Note that the information must be dynamically provided by the environment! A configuration file prepared by a human operator does not count! Self configuration therefore requires descriptive information - metadata - about the environment to be provided by the environment (reflection). Self adaptation requires continuous supervision and adaptation to changes Information must be provided for each variable part (component set) Interrogating the environment and obtaining information Using the information to: create instances within the block/process sets create references linking instances initialise and change data Note that the information must be dynamically provided by the environment! A configuration file prepared by a human operator does not count! Self configuration therefore requires descriptive information - metadata - about the environment to be provided by the environment (reflection). Self adaptation requires continuous supervision and adaptation to changes Information must be provided for each variable part (component set)

SelfCon Foil no 4 How to do it? we need: to discover/explore and monitor the environment –detect changes to manage addresses and keep a Registry over external entities and their properties to interpret properties and configure the system - create the internal instance structure, assign references and data values: AppConfigurer suitable identities/references and routing mechanisms we need: to discover/explore and monitor the environment –detect changes to manage addresses and keep a Registry over external entities and their properties to interpret properties and configure the system - create the internal instance structure, assign references and data values: AppConfigurer suitable identities/references and routing mechanisms System X b(,):BT c(10,125):CT d(,):DT a(2,2):AT ae(2,2):AET Registry ce(10,125):CET AppConfigurer Here the system adapts to changes in the environment Registry may be outside or inside system

SelfCon Foil no 5 Object plug-and-play 1.Object plug-in 2.Get address, discover Registry, and do registration 3.Notifiy AppConfigurer 4.Create application objects 5.Objects execute with dynamic find-bind if needed 1.Object plug-in 2.Get address, discover Registry, and do registration 3.Notifiy AppConfigurer 4.Create application objects 5.Objects execute with dynamic find-bind if needed System X b(,):BT c(10,125):CT d(,):DT a(2,2):AT ae(2,2):AET Registry ce(10,125):CET AppConfigurer Think of some examples

SelfCon Foil no 6 Pre-structured systems in general Fixed (known) communication infrastructure Fixed (known) set of types Fixed (known) content structure Dynamic linking and data values Part descriptions (reflection) Mechanism for part registration, discovery and configuring Fixed (known) communication infrastructure Fixed (known) set of types Fixed (known) content structure Dynamic linking and data values Part descriptions (reflection) Mechanism for part registration, discovery and configuring Limitations ?

SelfCon Foil no 7 What if there are alternative component types? System X b(,):BT c(10,125):CT d(,):DT a(2,2):AT ae(2,2):AET Registry ce(10,125):CET AppConfigurer Several alternative component types may serve the new object

SelfCon Foil no 8 Then we need 1.A way to represent alternatives 2.A way to select the best alternative 3.or dynamically compose the best alternative (using compositional adaptation) 1.A way to represent alternatives 2.A way to select the best alternative 3.or dynamically compose the best alternative (using compositional adaptation) System X b(,):BT c(10,125):CT d(,):DT a(2,2):AT ae(2,2):AET Registry ce(10,125):CET AppConfigurer

SelfCon Foil no 9 What if the object type is new? Instances of unknown object types System X *(,):* c(10,125):CT* a(2,2):AT* ae(2,2):AET* Registry ce(10,125):CET* AppConfigurer *(,):*

SelfCon Foil no then we need an extensible structure a way to load and ”install” new types i.e. some support for dynamic components less is known at design-time, more postponed to run-time an extensible structure a way to load and ”install” new types i.e. some support for dynamic components less is known at design-time, more postponed to run-time System X *(,):* c(10,125):CT a(2,2):AT ae(2,2):AET Registry ce(10,125):CET AppConfigurer *(,):*

SelfCon Foil no 11 Towards dynamic components Using a minimal invariant infrastructure: addressing, routing, registry,... Dynamic component lifecycle: install, configure, start,... uninstall Dynamic linking with alternatives Extending/changing the structure Using a minimal invariant infrastructure: addressing, routing, registry,... Dynamic component lifecycle: install, configure, start,... uninstall Dynamic linking with alternatives Extending/changing the structure System X *(,):* c(10,125):CT* a(2,2):AT* ae(2,2):AET* Registry ce(10,125):CET* AppConfigurer *(,):* Changing/r eplacing types Extending/c hanging structure infrastructure Dealing with the unaticipated

SelfCon Foil no 12 And now it is getting difficult Services are not fixed Structure is not fixed, Even the types may change. Only a minimal infrastructure remains invariant and known Services are not fixed Structure is not fixed, Even the types may change. Only a minimal infrastructure remains invariant and known –How to reason about the unknown? –How to adapt to the unanticipated? –How to ensure interoperabilty and consistency?

SelfCon Foil no 13 Basic functionalities identified so far Generic: Detection, e.g. plug-in; plug-out Explore/discover: get address, find the registry and other support units Registry: register, de-register, lookup Learn: load new types/code Generic: Detection, e.g. plug-in; plug-out Explore/discover: get address, find the registry and other support units Registry: register, de-register, lookup Learn: load new types/code System X *(,):* c(10,125):CT a(2,2):AT ae(2,2):AET Registry ce(10,125):CET AppConfigurer *(,):* Application dependent: AppConfigurer: configure, re-configure Find-bind-release (session initiation): Roles Agents Context/situation adaptation Application dependent: AppConfigurer: configure, re-configure Find-bind-release (session initiation): Roles Agents Context/situation adaptation Doctors Doctor Agent[m] Patients Patient Agent[n]

SelfCon Foil no 14 Is the AppConfigurer such a good idea? Needs to know the applications Needs to change with the applications Build it into the applications in stead? Needs to know the applications Needs to change with the applications Build it into the applications in stead? System X *(,):* c(10,125):CT a(2,2):AT ae(2,2):AET Registry ce(10,125):CET AppConfigurer *(,):*

SelfCon Foil no 15 from content constraints to context constraints Let object themself take care of application dependent configuring block type XT b(,):BT c(,):CT d(,):DT a(,):AT ae(,):AET Registry ce(,):CET AppConfigurer be(,):BET de(,):DET content context Content constraints: govern the internal composition of (instances of) a type. A (context-free) grammar, for instance, is entirely made up of content rules. Context constraints: govern the external use of (instances of) a type. Gate constraints in SDL and interface definitions CORBA style, can be seen as context rules. Well defined roles provide context rules. Content constraints: govern the internal composition of (instances of) a type. A (context-free) grammar, for instance, is entirely made up of content rules. Context constraints: govern the external use of (instances of) a type. Gate constraints in SDL and interface definitions CORBA style, can be seen as context rules. Well defined roles provide context rules.

SelfCon Foil no 16 Pre-structured systems vs. dynamic component systems Pre-structured – emphasis on content constraints defining the part structure and the part types: compositional adaptation bounded by the structure Dynamic component systems – emphasis on context constraints that govern how components may be composed (without prescribing a particular structure): compositional adaptation bounded by the components Pre-structured – emphasis on content constraints defining the part structure and the part types: compositional adaptation bounded by the structure Dynamic component systems – emphasis on context constraints that govern how components may be composed (without prescribing a particular structure): compositional adaptation bounded by the components Context constraints are key to dynamic component systems, i.e. interface definitions