Title: Robocop
1Prediction of Run-Time Resource Consumption of
Multi-Task Component Based Systems Location
7th (ICSE) CBSE Workshop Edinburgh
International Conference Centre
Date 25-5-2004
Johan Muskens J.Muskens_at_tue.nl System
Architecture and Networking University of
Technologies Eindhoven http//www.win.tue.nl/san/
2Outline
- Introduction
- Background
- Problem Domain
- Problem
- Approach
- Intermezzo (Terminology)
- Prediction process
- Discussion
3Background
Research is part of 2 ITEA projects
- Robocop
- Define an open, component-based framework for the
middle-ware layer in high-volume consumer devices
(robustness/reliability, upgrading/extension, and
trading) - Space4U
- Extend and validate the Architecture
- Fault Management
- Power Management
- Terminal Managment
4Problem Domain
- High Volume Consumer Electronics
- Embedded systems (resources are expensive and
fixed) - Third-party service binding
- Multiple component / service suppliers
- Run-time binding
5The Problem
- Predict dynamic resource consumption of a
component based application based on the design
of the applications and models describing
resource consumption and behavior of the used
components.
Behavior Model
Resource Model
6Approach
- Scenario Based Resource Estimation
- Predict resource consumption for single
(critical, average, ) case. - Specify Behavior Resource Consumption at
Interface Level - Combine Behavior Resource Consumption for
specific scenario - Worst Case
- Average Case
7Outline
- Introduction
- Background
- Problem Domain
- Problem
- Approach
- Intermezzo (Terminology)
- Prediction process
- Discussion
8Intermezzo (Terminology)
- A Robocop Component is a set of models
- Execution component contains a set of Services
- Service has set of Interfaces (provides
requires)
- An Interface has a set of Operations
- At runtime Services are instantiated (Service
Instance object)
9Outline
- Introduction
- Background
- Problem Domain
- Problem
- Approach
- Intermezzo (Terminology)
- Prediction process
- Discussion
10Prediction Process Resource Consumption
Specification
- We distinguish
- Pre-emptive ? Non-pre-emptive
- Processing ? Non-processing
Processing Non-processing
Pre-emptive Require X Require X Release Y
Non-pre-emptive Claim X Claim X Release Y
CPU
Memory
11Prediction ProcessBehavior Specification
- operation f calls
- I2.g
- I3.h
partial
12Prediction Process Service Specification
- service s1
- requires I2
- requires I3
- provides I1
- operation f
- uses I2.g
- uses I3.h
- resource claim 100
- release 100
- behaviour
- operation f calls
- I2.g
- I3.h
Service is run-time unit of structuring
Resource consumption is modeled per operation
Resource claims / releases are modeled explicitly
Behaviour of each operation is modeled using a
partial MSC
variable call sequences can be modelled
13Prediction Process Model Assembly Phase
- A scenario defines a plausible sequence of
operations of an application - A model for this scenario is constructed by
- selecting the operations needed for realizing
this scenario - composing the resource and behaviour models of
these operations. - This yields a structure that contains exactly the
resource information that is needed for this
scenario.
(5,5)
(10,8)
(2,2)
(5,5)
(10,8)
(8,10)
(8,10)
(2,2)
14Prediction Process Model Analysis Phase
- Resources are accumulated by resource-combinators
- Different types of analysis are supported by
defining - corresponding combinators
(a,b) ? (c,d) (a-bc,d) if b c
(a,b-cd) if b gt c (a,b) ? (c,d) (ac,bd)
(5,5)
(10,8)
(8,10)
(2,2)
((5,5) ? (((10,8) ? (8,10)) ? (2,2)))
15Dealing with Concurrent Tasks
- Task based accumulation of resource consumption
- Abstract Resource Combinators ? Cannot be
evaluated - Accumulation of per task resource consumption
based on scheduling policy - Abstract Resource Combinators ? Evaluatable
Resource Combinators
((5,5) ? (2,2))
((5,5) ? (12,12))
(((10,8) ? (8,10)) ? (2,2))
((2,2) ? (((10,8) ? (8,10)) ? (2,2))
(((10,8) ? (8,10)) ? (2,2)) ((2,2) ?
(((10,8) ? (8,10)) ? (2,2)) ((5,5) ?
(2,2)) ((5,5) ? (12,12)) )
16Outline
- Introduction
- Background
- Problem Domain
- Problem
- Approach
- Intermezzo (Terminology)
- Prediction process
- Discussion
17Benefits of Prediction Technique
- Prediction of dynamic memory consumption
- Support third-party binding
- Easy to adopt / apply
- Flexible w.r.t. how to predict and what to
predict - General useful (e.g., during design /
implementation / deployment) - Trade-off between accuracy and effort
18Future work
- Make resource claim / release dependent on data
- Model sychronization between tasks
- Part of the Space4U project
- Model interaction between multiple resources
- Trading resources
- Increase accuracy
- Use better resource combinators
- More validation
19