Abstract
Reuse is the activity of developing new software systems using software components (or artifacts) that are already proven and reliable. However, traditional reuse-based software development has difficulties in finding the components that have the proper information (feature) to match the developers’ needs, or reusing a component without modification, because it has various and mixed information (features). In order to solve these problems, this paper proposes a dynamic control technique to enhance the reusability of software components. In particular, this technique focuses on the reuse of software documents that are created during the software research and development processes. We define a new unit of document reuse as a microComponent; this is a basic unit of reuse defined with a section of a software document. Based on the microComponent, it is possible to fast find more suitable components from a large-scale document repository; to control the reuse granularity from a section to an entire document; and finally, to improve the reusability of existing reusable assets.
Similar content being viewed by others
References
Agresti WW (2011) Software reuse: developers’ experiences and perceptions. J Softw Eng Appl 4(1):48–58
Alexander J, Cockburn A (2008) Characterizing electronic document use, reuse, coverage and multi-document interaction. In: New Zealand Computer Science Research Student Conference, pp 1–8
Bu HH, Kim NC, Moon CJ, Kim JH (2017) Content-based image retrieval using combined color and texture features extracted by multi-resolution multi-direction filtering. J Inf Process Syst 13(3):464–475. https://doi.org/10.3745/JIPS.02.0060
Capiluppi A et al (2011) Software reuse in open source: a case study. Int J Open Source Softw Process 3(3):10–35
Choi JH, Shin HS, Nasridinov A (2016) A comparative study on data mining classification techniques for military applications. J Converg 7:10–18
Filho SM et al (2012) Context-aware adaptation of component-based systems: an active repository approach. J Comput Netw Commun. https://doi.org/10.1155/2012/963728
Frakes WB, Kang K (2005) Software reuse research: status and future. IEEE Trans Softw Eng 31(7):529–536
Gao S, Sperberg-McQueen CM, Thompson H (2012) W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures, W3C
Guerrieri E (1998) Software document reuse with XML. In: International Conference on Software Reuse, pp 246–254
Hage W (2009) Producing documentation and reusing information in XML, Part 2, Reuse information in XML documentation, IBM developerWorks
IEC 61511-1 (2016) Functional safety—safety instrumented systems for the process industry sector—Part 1: Framework, definitions, system, hardware and application programming requirements. International Electrotechnical Commission
ISO 26262-6 (2011) Road vehicles—functional safety—Part 6: Product development at the software level. International Organization for Standard
James M, Walter L (2017) Scrum reference card. http://scrumreferencecard.com/ScrumReferenceCard.pdf. Accessed 17 Jan 2017
Kim DH, Hong J, Yoon I, Lee S (2016) Code refactoring techniques for reducing energy consumption in embedded computing environment. Cluster Comput. https://doi.org/10.1007/s10586-016-0691-5
Kim D, Kim S, Hong J (2016) A microComponent-based reuse technique for reusing software architecture. In: Asia Pacific International Conference on Information Science and Technology, pp 209–212
Kim D, Kim S, Jung W, Hong J (2017) A context-aware architecture pattern to enhance the flexibility of software artifacts reuse. In: Advances in Computer Science and Ubiquitous Computing (LNEE 421), pp 654–659
Kim G et al (2016) The DevOps handbook: how to create world-class agility, reliability, and security in technology organizations, IT Revolution Press
Lim W (1994) Effect of reuse on quality. Product Econ IEEE Softw 11(5):23–30
Martin RC (2002) Agile software development: principles, patterns, and practices. Pearson Publisher, Carmel
McMillian C et al (2013) Portfolio: searching for relevant functions and their usages in millions of lines of code. ACM Trans Softw Eng Methodol 22(4):1–30
Nesic S (2009) Semantic document model to enhance data and knowledge interoperability. Web 2.0 & Semantic Web, vol 6, pp 135–160
OMG (2005) Reusable Asset Specification OMG Available Specification Version 2.2, formal/05-11-02, Object Management Group
OASIS (2011) Open Document Format for Office Applications (OpenDocument), Version 1.2, OASIS Standard
OMG (2015) OMG Unified Modeling Language (OMG UML) Version 2.5, formal/2015-03-01, Object Management Group
OMG (2015) XML Metadata Interchange (XMI) Specification Version 2.5.1, formal/2015-06-07, Object Management Group
Riffat N, Khan MNA (2015) Rapid applications development techniques: a critical review. Int J Softw Eng Appl 9(11):163–176. https://doi.org/10.14257/ijseia.2015.9.11.15
Schmidt DC (1999) Why Software Reuse has Failed and How to Make It Work for You, C++ Report magazine, January 1999
Stephenson D (2004) XML Schema best practices. HP Invent
Uren V et al (2006) Semantic annotation for knowledge management: requirements and a survey of the state of the art. J Web Semant Sci Serv Agents World Wide Web 4(1):14–28
Vijayarajan V, Dinakaran M, Priyam T, Mayank L (2016) A generic framework for ontology-based information retrieval and image retrieval in web data. Hum Centric Comput Inf Sci 6(18):1–30. https://doi.org/10.1186/s13673-016-0074-1
Weide BW, Ogden WF, Zweben SH (1991) Advance in computers: reusable software components. Academic Press, Cambridge
Ye Y (2001) Supporting component-based software development with active component repository system. Ph.D Dissertation, University of Colorado
Acknowledgements
The authors would like to thank the researchers of Software Engineering Laboratory, Chungbuk National University, and the engineers who provided the documents of the software development projects that have been performed at other laboratories in our organization and also admire their great effort to register them into the repository. This study was funded by National Research Foundation of Korea, funded by the Ministry of Science and ICT (NRF-2014M3C4A7030505).
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Rights and permissions
About this article
Cite this article
Kim, D., Nam, S. & Hong, JE. A dynamic control technique to enhance the flexibility of software artifact reuse in large-scale repository. J Supercomput 75, 2027–2057 (2019). https://doi.org/10.1007/s11227-018-2449-8
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-018-2449-8