A Repository for Component-based Embedded Software Development

The rapid growth in the demand for embedded systems and the increased complexity of embedded software pose an urgent need for advanced embedded software development techniques. Software technology is shifting toward semi-automated code generation and integration of systems from components. Component-based development (CBD) techniques can significantly reduce the time and cost for developing software systems. Furthermore, effective component retrieval is a fundamental issue in CBD. In this paper, we address the issues in designing software repositories for embedded software components. We develop an On-line Repository for Embedded Software (ORES) to facilitate component management and retrieval. ORES uses an ontology-based approach to facilitate repository browsing and effective search. To allow easy browsing of ORES, we analyze the typical ontology relations for software components and develop a Merging and Echoing technique to convert the ontology into a hierarchy suitable for browsing, but without the loss of any critical semantic information contained in the ontology. We also develop an algorithm for grouping search results based on the ontology. Thus, we can display search result groups to avoid having to display a large number of search results or having to prune the results and risk reducing the recall factor. Another important aspect in embedded software is the set of nonfunctional requirements and properties. In ORES, we develop an XML-based specification method to capture nonfunctional properties as well as functional characteristics of components and enable retrieval of relevant components based on these specifications.

[1]  Farokh B. Bastani,et al.  Composition analysis of QoS properties for adaptive integration of embedded software components , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[2]  Kazuhiko Ozeki,et al.  An adaptive filtering algorithm using an orthogonal projection to an affine subspace and its properties , 1984 .

[3]  Alan W. Brown,et al.  Enterprise-scale CBD: building complex computer systems from components , 1999, STEP '99. Proceedings Ninth International Workshop Software Technology and Engineering Practice.

[4]  Rada Mihalcea,et al.  Using WordNet and Lexical Operators to Improve Internet Searches , 2000, IEEE Internet Comput..

[5]  R.A. Steigerwald,et al.  Reusable component retrieval for real-time applications , 1993, [1993] Proceedings of the IEEE Workshop on Real-Time Applications.

[6]  Said Ghoul,et al.  CLASSIFYING SOFTWARE FOR REUSABILITY , 2001 .

[7]  Huilin Ye,et al.  Towards a self-structuring software library , 2001, IEE Proc. Softw..

[8]  Farokh B. Bastani,et al.  A model and methodology for composition QoS analysis of embedded systems , 2005, 11th IEEE Real Time and Embedded Technology and Applications Symposium.

[9]  James A. Hendler,et al.  Computing similarity in a reuse library system: an AI-based approach , 1992, TSEM.

[10]  Edward A. Lee,et al.  Synthesis of Embedded Software from Synchronous Dataflow Specifications , 1999, J. VLSI Signal Process..

[11]  Latifur Khan,et al.  An on-line repository for embedded software , 2001, Proceedings 13th IEEE International Conference on Tools with Artificial Intelligence. ICTAI 2001.

[12]  Roland Mittermeir,et al.  Storing and retrieving software components: a refinement based system , 1994, ICSE '94.

[13]  Dennis McLeod,et al.  Retrieval effectiveness of an ontology-based model for information selection , 2004, The VLDB Journal.

[14]  Yitong Wang,et al.  Use link-based clustering to improve Web search results , 2001, Proceedings of the Second International Conference on Web Information Systems Engineering.

[15]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[16]  L. R. Rasmussen,et al.  In information retrieval: data structures and algorithms , 1992 .

[17]  Philip A. Bernstein,et al.  The Microsoft Repository , 1997, VLDB.

[18]  M. Bunge Treatise on basic philosophy , 1974 .

[19]  Matthias Jarke,et al.  On the retrieval of reusable software components , 1993, [1993] Proceedings Advances in Software Reuse.

[20]  Lawrence Chung,et al.  NFR-Assistant: tool support for achieving quality , 1999, Proceedings 1999 IEEE Symposium on Application-Specific Systems and Software Engineering and Technology. ASSET'99 (Cat. No.PR00122).

[21]  Yanhong Li Toward A Qualitative Search Engine , 1998, IEEE Internet Comput..

[22]  C. Alberini,et al.  Memory , 2006, Cellular and Molecular Life Sciences CMLS.

[23]  Jeannette M. Wing,et al.  Specification matching of software components , 1995, TSEM.

[24]  Luqi,et al.  Toward automated retrieval for a software component repository , 1999, Proceedings ECBS'99. IEEE Conference and Workshop on Engineering of Computer-Based Systems.

[25]  Marta Mattoso,et al.  The use of mediation and ontology technologies for software component information retrieval , 2001, SSR '01.

[26]  L. Perrochon A quick tutorial on searching and evaluating Internet resources , 1997 .

[27]  Alexander Pretschner,et al.  Ontology based personalized search , 1999, Proceedings 11th International Conference on Tools with Artificial Intelligence.

[28]  Edward A. Lee,et al.  Pipeline interleaved programmable DSP's: Synchronous data flow programming , 1987, IEEE Trans. Acoust. Speech Signal Process..

[29]  Fatemeh Zahedi,et al.  Knowledge-Based Repository Scheme for Storing and Retrieving Business Components: A Theoretical Design and an Empirical Analysis , 2003, IEEE Trans. Software Eng..