Title: Resource-based Approach to Feature Interaction in Adaptive Software
1Resource-based Approach to Feature Interaction in
Adaptive Software
Betty H.C. Cheng Software Engineering and Network
Systems Laboratory Michigan State
University http//www.cse.msu.edu/SENS Authors
Jesús Bisbal and Betty H.C. Cheng
jesus.bisbal_at_upf.edu, chengb_at_cse.msu.edu
ACKNOWLEDGEMENTS This work has been supported in
part by grants NSF EIA-0000433,
CDA-9700732,EIA-0203060, EIA-0130724,
ITR-0313142, Department of the Navy, and Office
of Naval Research under Grant No.
N00014-01-1-0744.
2Context
- Aspects of self-management problem being
addressed? - Self-management involves dynamic adaptation
- Focus on assurance issues of self-management
- Feature interaction
- What aspects are you NOT dealing with?
- Adaptation mechanisms
- ADLs for self-management/adaptation
- Programming Languages
- Domains, properties, or applications targeting?
- Mobile computing applications
- Component-based software development
- Assurance issues
3RAPIDware Project
- Ongoing project in SENS Laboratory
- Funded by U.S Office of Naval Research
- Critical Infrastructure Protection /Adaptable SW
Program - Goal Software (middleware) that can protect
itself from - Hardware and software component failures
- Changing environmental conditions
- Changing requirements (e.g. security policies)
- Malicious entities
- Applications
- Dynamic power management
- Dynamic error correction for data
transmission/receipt - Dynamically changing security algorithms and
policies - Dynamic introduction of fault-tolerant
capabilities
4Example RAPIDware Activities
- Transparent shaping
- Automated weaving adaptive behavior into existing
programs WOSS02,ICAC04,DOA04,ICDCS04 - Rigorous software engineering of adaptive code
- Safe adaptation using dependency analysis
WADS04 - Synthesis of fault-tolerant code from
specifications DSN04 - Adaptive overlay networks ICNP03, ICDCS04
- Middleware-kernel interaction MPAC04
- Decision-making software using machine learning
techniques ICDL04 - Adaptive energy management IWQoS04
5Outline
- Adaptive software components
- Feature interactions
- Resource-based approach
- Implementation wireless image retrieval scenario
- Future work
6Adaptive Software Components
- Dynamically adapt at run-time
- Reactive to environmental or user requirement
changes - Adaptive mechanisms actively investigated
- Assurance of adaptation mechanisms somewhat
neglected to date
7Feature Interactions
- Widely investigated by the telecommunications
industry - Receiving increasing attention from other
domains - Whenever several software entities control a
shared resource - A feature interaction occurs when the behavior
of one feature is affected by the behavior of
another feature, or another instance of the same
feature L. Blair et al., 2001 - Ex electronic mail, web services,
component-based software
8Feature Interactions
- Off-line (design-time) approaches
- Formally describe each feature (e.g. FOPL, CTL)
- Reason about interactions (e.g. theorem provers,
model checking) - Requires a priori knowledge of complete set of
features - On-line approaches (run-time) approaches
- Features Manager mediates between features to
avoid interactions - Requires training phase or domain-specific
knowledge
9RAFTING Resource-based Approach to FeaTure
InteractioN
- Premise
- For practical purposes all feature interactions
are or can be thought as being caused by resource
contention - Shifts focus from features to resources used by
those features - Simplifies feature interaction detection process
- Well-suited to component-based software
development using third-party vendor COTS - Vendors do not disclose internal workings of
components, only externally observable behavior
10Resource-based Approach to Feature Interaction
- Features are seen as information transformation
processes (i.e., services) - Resources are the required inputs and outputs
Resource1
Output1
Resource2
Feature
Output2
Resource3
...
Outputm
...
Resourcen
11Resource-based Approach to Feature Interaction
- Goals are the requirements of the overall
behavior obtained by composing a set of features
12Resource-based Approach to Feature Interaction
- Feature-Resource Relationships defined in terms
of usage and production of a resource - USES()
- Describes how a feature uses a given resource or
perform its task - PRODUCES()
- Indicates that a feature produces a resource
- Resources can be rather abstract
- E.g. time could be considered a resource in
order to describe time-dependent relationships
13Resource-based Approach to Feature Interaction
- System specifications
- Features
- Resources
- Relationships
- Goals
- General objective
- a generic features manager will only require this
information in order to mediate between features
14Wireless Image Retrieval Scenario
- Setup
- Producer/consumer architecture
- Producer(s) run on mobile devices and
transmit information over a wireless link - E.g. iPAQs, wearables, and other handhelds
- Consumer runs on a more powerful device (desktop)
and processes information
- Dynamic Adaptation Scenario
- Limited resources of producers requires dynamic
adaptation to fulfill quality of service (QoS)
goals - Insertion/Removal of Forward Error Correction
(FEC) filter to improve quality of communication
link - Modification of Image Resolution to reduce
battery consumption, when possible
15Wireless Image Retrieval Scenario
- Producer application
- Device equipped with camera
16Wireless Image Retrieval Scenario
- Consumer application (e.g., headquarters)
- Receives informationtransmitted from several
producers
17Future Work
- Can all interesting interactions be modeled using
this resource-centric approach? - If not, which ones can?
- Resolution policies expressed in terms of
resources (for uniformity) or in terms of
features (users perspective)
18Happy Halloween!
19Questions?