15
Component-Based Component-Based Adaptive Tasks Adaptive Tasks Guided by Resource Guided by Resource Contracts Contracts Peter Rigole Peter Rigole K.U.Leuven Belgium K.U.Leuven Belgium

Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium

Component-Based Component-Based Adaptive Tasks Adaptive Tasks Guided by Resource Guided by Resource ContractsContracts

Peter RigolePeter Rigole

K.U.Leuven BelgiumK.U.Leuven Belgium

Page 2: Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium

22

Ubiquitous SystemsUbiquitous Systems

A Ubiquitous Computing system

• should commit its computing powers to support the tasks of its users

• should reduce user distraction to a minimal level

The Disappearing Computer

Page 3: Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium

33

Context is importantContext is importantContext information • all the information the computing system can

obtain from its environment• used to realize automated, proactive intelligent

behaviour

Context contains info about:• user (preferences, mood, …)• environment (location, time, temperature, …)• available services• platform information (hardware local and

remote devices)• …

Page 4: Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium

44

Limited resourcesLimited resources• Ubiquitous computing environments realized

by• Mobile devices• Small devices hidden in paintwork• Occasionally supported by powerful systems

• Mainly resource-limited devices

• Tradeoff More functionality More resources in use

Page 5: Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium

55

Adaptive BehaviourAdaptive Behaviour

Self-managing softwarein an environment with

Limited resources

require

Adaptive behaviour

Page 6: Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium

66

Adaptive behaviour requiredAdaptive behaviour requiredResource tradeoff:• distributed cooperation must be exploited

whenever possible• by (self-)adaptation and foraging mechanisms

Rich and flexible computing space

• But: resource availability can change quite often

need to manage resource use

Page 7: Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium

77

Resource aware ComponentsResource aware ComponentsComponent-based applications• fine-grained applications enhance self-

manageability• delineated entity for code analysis

Resource-Awareness per component

Design-time description of resource properties• by means of resource declarations for each

component

Resource Declaration:a parameterized description of a certain type of

resource a software entity requires when for deploying its functionalities

Page 8: Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium

88

Contracts proposalsContracts proposalsResource agreements • are settled at the time of instantiation • between software parties

components, ports and connectors

Resource Contract Proposal:contains an agreement on intended resource use

by one or several software parties

Page 9: Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium

99

Resource ContractsResource Contracts

Signed Resource Contract:a resource contract proposal can become a

signed resource contract when the middleware system accepts the contract and signs it

SignedResourceContract

ResourceContractProposal

Resource Delaration

Agreement between Several parties

e.g. two component ports

Negotiated and validatedcontract proposal gets signed

Resource DelarationResource

Delaration

Page 10: Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium

1010

Adaptive tasksAdaptive tasksSoftware envisioned by ubiquitous computing• should support the user’s tasks• by maintaining the continuity of the softw.

functionalities• in a frequently changing computing environment

Therefore, software adaptability becomes very important:

Considering its nature we distinguish:• External adaptations

driven by external forces

• Internal adaptations driven by the application itself

Page 11: Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium

1111

External adaptationsExternal adaptations• Middleware interferes with the application

without guidance of the application itself• Is transparent for the application

Types:• Component reconfiguration

changing configuration parameters

• Component replacement new version

• Component relocation Foraging

Page 12: Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium

1212

Internal adaptationsInternal adaptationsApplication changes itself• mainly driven by context information and task

models knowledge about the evolution of the user’s task

User task changes, thus functionality changes, thus application can change as well:

• removal of unnecessary components• adding new component for new functionality• adding/removing of optional components

Page 13: Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium

1313

Ubiquitous adaptationUbiquitous adaptationCoordination between:• Internal adaptations• External adaptations

Guided by contracts to ensure the validity and integrity of

• Application compositions local and distributed

Page 14: Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium

Questions Questions ??

[email protected]@cs.kuleuven.ac.be

Page 15: Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium

1515

CRuMBCRuMBIIII contract framework contract framework• Contract (re-)negotiation

contract broker

• Contract validation contract manager

• Contract monitoring contract monitor and RAL

• Jess reasoning (rule engine) validation and monitoring