190 likes | 204 Views
This work explores a resource-based approach to tackle feature interactions in adaptive software, emphasizing dynamic adaptation and assurance issues. It presents the RAFTING project focusing on critical infrastructure protection through adaptable software programs. The study delves into adaptive software components, feature interactions, and outlines implementation scenarios like wireless image retrieval. The resource-centric perspective simplifies feature interaction detection and is well-suited for component-based software development. Feature-resource relationships are defined in terms of usage and production percentages, offering insights into system specifications.
E N D
Resource-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 andBetty H.C. Cheng jesus.bisbal@upf.edu, chengb@cse.msu.edu ACKNOWLEDGEMENTS: This work has been supported in part by grants: NSFEIA-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.
Context… • 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 RAFTING
RAPIDware 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 RAFTING
Example 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 [WADS’04] • Synthesis of fault-tolerant code from specifications [DSN04] • Adaptive overlay networks [ICNP’03, ICDCS’04] • Middleware-kernel interaction [MPAC’04] • Decision-making software using machine learning techniques [ICDL’04] • Adaptive energy management [IWQoS’04] RAFTING
Outline • Adaptive software components • Feature interactions • Resource-based approach • Implementation: wireless image retrieval scenario • Future work RAFTING
Adaptive 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 RAFTING
Feature 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 RAFTING
Feature 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 RAFTING
RAFTING: 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 RAFTING
Resource-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 RAFTING
Goal1 Goal2 Output11 Resource11 ... Feature1 ... Goaln ... Output1q Resource1p ... Resourcem1 Outputm1 Featurem ... ... Resourcemr Outputmt Resource-based Approach to Feature Interaction • Goals are the requirements of the overall behavior obtained by composing a set of features RAFTING
Resource-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 RAFTING
Resource-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 RAFTING
Wireless 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 RAFTING
Goal:‘Maximize battery life Goal: Quality of image Res: Bandwidth Res:Battery lifetime (%) left on device Fea: Resolution of images being captured Fea: FEC on (for high loss rate) or off (for low loss rate) For demonstration purposes only. Control over the environment. Wireless Image Retrieval Scenario • Producer application • Device equipped with camera RAFTING
Wireless Image Retrieval Scenario • Consumer application (e.g., headquarters) • Receives informationtransmitted from several producers RAFTING
Future 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) RAFTING
Happy Halloween! RAFTING
Questions? RAFTING