Context-Aware Adaptation of Component-Based Systems: An Active Repository Approach

Context-aware systems are able to monitor and automatically adapt their operation accordingly to the execution context in which they are introduced. Component-based software engineering (CBSE) focuses on the development and reuse of self-contained software assets in order to achieve better productivity and quality. In order to store and retrieve components, CBSE employs component repository systems to provide components to the system developers. This paper presents an active component repository that is able to receive the current configuration from the context-aware system and compute the components and the new architecture that better fit the given context. Since the repository has a wide knowledge of available components, it can better decide which configuration is more suitable to the running system. The repository applies Fuzzy logic algorithm to evaluate the adequacy level of the components and GRASP algorithm to mount the new system architecture. In order to verify the feasibility of our approach, we use a digital TV middleware case study to achieve experimental results.

[1]  Scott Henninger,et al.  Using iterative refinement to find reusable software , 1994, IEEE Software.

[2]  M. Resende,et al.  GREEDY RANDOMIZED ADAPTIVE SEARCH PROCEDURES (GRASP) , 1999 .

[3]  Antônio Francisco do Prado,et al.  A survey on software components search and retrieval , 2004, Proceedings. 30th Euromicro Conference, 2004..

[4]  Shinji Kusumoto,et al.  Component rank: relative significance rank for software component search , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[5]  Mel Ó Cinnéide,et al.  Rascal: A Recommender Agent for Agile Reuse , 2005, Artificial Intelligence Review.

[6]  Sudipto Ghosh,et al.  Software component specification: a study in perspective of component selection and reuse , 2006, Fifth International Conference on Commercial-off-the-Shelf (COTS)-Based Software Systems (ICCBSS'05).

[7]  Tao Xie,et al.  Parseweb: a programmer assistant for reusing open source code on the web , 2007, ASE.

[8]  Karthikeyan Ponnalagu,et al.  Enhancing Asset Search and Retrieval in a Services Repository using Consumption Contexts , 2007, IEEE International Conference on Services Computing (SCC 2007).

[9]  Gordon S. Blair,et al.  Component-based architecture: the Fractal initiative , 2009, Ann. des Télécommunications.

[10]  Martin Zachariasen,et al.  Euclidean Steiner minimum trees: An improved exact algorithm , 1997 .

[11]  Siegfried Gottwald,et al.  Fuzzy Sets and Fuzzy Logic , 1993 .

[12]  Matlab Matlab (the language of technical computing): using matlab graphics ver.5 , 2014 .

[13]  James H. Aylor,et al.  Computer for the 21st Century , 1999, Computer.

[14]  Daniel Lucrédio,et al.  A survey on software components search and retrieval , 2004 .

[15]  Gerhard Fischer,et al.  Supporting component-based software development with active component repository systems , 2001 .

[16]  George T. Heineman,et al.  Component-Based Software Engineering: Putting the Pieces Together , 2001 .

[17]  George J. Klir,et al.  Fuzzy sets and fuzzy logic , 1995 .

[18]  Gordon S. Blair,et al.  A generic component model for building systems software , 2008, TOCS.

[19]  Steve Y. Chiu,et al.  A Branch and Cut Algorithm for a Steiner Tree-Star Problem , 1996, INFORMS J. Comput..

[20]  Philippe Merle,et al.  A formal specification of the Fractal component model in Alloy , 2008 .

[21]  Colin Atkinson,et al.  Code Conjurer: Pulling Reusable Software out of Thin Air , 2008, IEEE Software.

[22]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[23]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java , 2006, Softw. Pract. Exp..

[24]  Luciano Volcan Agostini,et al.  Tests and Performance Analysis of Media Processing Implementations for the Middleware of Brazilian Digital TV System Using Different Scenarios , 2011, 2011 Fifth FTRA International Conference on Multimedia and Ubiquitous Engineering.

[25]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[26]  Rastislav Bodík,et al.  Jungloid mining: helping to navigate the API jungle , 2005, PLDI '05.