Software component and the semantic Web: An in-depth content analysis and integration history

https://doi.org/10.1016/j.jss.2016.11.028Get rights and content

Highlights

  • • A detailed study on the use of Semantic Web technologies in CBSE.

  • • Advancement is being made from using ontological concepts to Linked Data in CBSE.

  • • Semantic web techniques help in addressing the various challenges that CBSE faces.

  • • Simple and freely accessible CBSE applications that employ Semantic Web are limited.

  • • Some open issues relevant to the topic in concern have been examined.

Abstract

With the advent of Component-based software engineering (CBSE), large software systems are being built by integrating pre-built software components. The Semantic Web in association with CBSE has shown to offer powerful representation facilities and reasoning techniques to enhance and support querying, reasoning, discovery, etc. of software components. The goal of this paper is to research the applicability of Semantic Web technologies in performing the various tasks of CBSE and review the experimental results of the same in an easy and effective manner. To the best of our knowledge, this is the first study which provides an extensive review of the application of Semantic Web in CBSE from different perspectives. A systematic literature review of the Semantic Web approaches, employed for use in CBSE, reported from 2001 until 2015, is conducted in this research article. Empirical results have been drawn through the question-answer based analysis of the research, which clearly tells the year wise trend of the research articles, with the possible justification of the usage of Semantic Web technology and tools for a particular phase of CBSE. To conclude, gaps in the current research and potential future prospects have been discussed.

Introduction

Component-based software engineering (CBSE) (Cai et al., 2000) has been a transition from the conventional development process to promote software development in an economical, effective and faster manner through the reuse and integration of software packages named as component or COTS (Commercial Off-The-Shelf). Ample amount of research has been done on the various aspects, phases, and characteristics of the CBSE process since its provenance in the industry. This is because of the numerous advantages (Debayan, 2011) that it has over the traditional methods of software development like reusability, replaceability, extensibility, context independence, minimal inter-component dependency, etc. all of which lead to the increased productivity and decreased cost of development.

Even though component development has vast benefits, component-based systems have been generally afflicted with different issues concerning system integration and composition, due to which it has not been able to achieve its full potential:

  • Firstly, there is no clear protocol to specify a third-party component's description, configuration, integration, and modification, so that it can be accommodated within distributed development environments or within third-party system requirements (Crnkovic, 2001).

  • Secondly, due to the absence of proper query methods and techniques, off-the-shelf component integration also involves the problem of locating and retrieving reusable components which fulfil the user's requirements (Vitharana, 2003).

  • Lastly, there have been methods discussed in the literature that automatically build composite components. However, when there is an absence of pre-conditions and effects in the developer's requirements, the traditional techniques may generate composite components which contradict to the developer's needs (Rosa and Lucena Jr, 2011).

Thus, component-based development has still not been able to acquire its full capability as a result of these few major hurdles. A suitable solution to this lies in Semantic Web technologies (Cardoso, 2007) which “help machines comprehend additional information located on the Web to make them support automation of tasks and richer data discovery, data navigation and integration” . In other words, Semantic Web contains the ability to methodically express the intended semantics and aids in automated reasoning, supporting, sharing, integration and management of information from heterogeneous sources (Cardoso and Sheth, 2006). These capabilities of Semantic Web perfectly satisfy all those general requirements of exploring, retrieving and describing the source-code component relationships in large object-oriented reuse frameworks or libraries for the efficient working of the component-based development process.

This Systematic Literature Review (SLR) aims to describe the latest state-of-the-art Semantic Web technologies employed to ease and improve the process of CBSE. The systematic review conducted in this research work is performed in accordance with the guidelines proposed by Kitchenham, 2004. To identify the most important studies in accordance with relevance and quality, we have performed the search in four primary digital libraries. We posed certain research questions, stated in Section 3, which supported us to gather the essential information from the research articles in our review process.

The discussion proceeds as follows: the background of Semantic Web technologies is described in Section 2. Section 3 analyses the research method undertaken to perform the review process, stating the research questions formulated. Section 4 researches and reviews the status of Semantic Web in CBSE and explains the papers investigated in this study in a clear and concise tabular format. Section 5 discusses the findings of this paper in terms of results and attempts to answer the research questions stated in Table 1 of Section 3. Finally, Section 6 concludes the paper, stating the additions which could be made to the current scenario of research related to the area of concern.

Section snippets

Semantic Web: a brief background check

A brief overview of the basics of Semantic Web is presented in this section. Semantic Web was introduced by Tim Berners-Lee and was made popular with the help of the World Wide Web consortium (W3C). It was due to Semantic Web that computers could deal with the information on WWW, understand and couple it, to help humans find required knowledge.

This study does not attempt to reproduce precursory studies about the progression of Semantic Web. Nevertheless, in order to promote comprehension, only

Research methodology to perform the review process

Following are the steps undertaken to conduct the review process:

Literature survey: Semantic Web technology for component-based software engineering

This section examines how Semantic Web technologies have been employed in or experimented with the CBSE domain, having already gone through the basics of it in Section 2. To facilitate understanding, the literature survey is outlined along the categories of the various tasks of CBSE that Semantic Web has proved to be useful in. A brief summary of it is provided to comprehend the applicability of Semantic Web technologies in these groups. This exploration acts as a foundation to construct a

Results

This section constitutes of a discussion and an assessment of what has been addressed in this paper. This assessment will be performed from the component-based software engineering's perspectives and attempts to answer the points specified in Table 1.

Conclusion and future work

This paper reviewed and examined the usage history of Semantic Web technologies to achieve various tasks of the component-based software engineering process. 53 articles directly pertaining to the topic of research, published in conference proceedings and journals, were analysed to assess the advancement and direct future research on the employment of ontology, semantic web services and Linked Data technology in CBSE. The research articles were evaluated with a specific emphasis on types of

Loveleen Kaur received her B.Tech. degree in Computer Science and Engineering and M.Tech degree in Software Systems. She is currently working as a Ph.D. research scholar with the Department of Computer Science and Engineering, Thapar University, Patiala, India. Her main research interests include Component-based software engineering, Intelligent Computing Methods, and Semantic Web technologies.

References (105)

  • S. Auer et al.

    Triplify: light-weight linked data publication from relational databases

  • S. Bechhofer

    Owl: web ontology language

    Encyclopedia of Database Systems

    (2009)
  • T. Berners-Lee et al.

    The semantic web

    Sci. Am.

    (2001)
  • S. Biffl et al.

    Ontology-supported quality assurance for component-based systems configuration

  • C. Bizer et al.

    Linked data on the web (ldow2008)

  • R.M. Braga et al.

    The use of mediation and ontology technologies for software component information retrieval

  • M. Brambilla et al.

    Model-driven design and development of semantic web service applications

    ACM Trans. Int. Technol. (TOIT)

    (2007)
  • J. Broekstra et al.

    Sesame: an architecture for storing and querying rdf data and schema information

    Spinning the Semantic Web: Bringing the World Wide Web to Its Full Potential

    (2003)
  • CaiX. et al.

    Component-based software engineering: technologies, development frameworks, and quality assurance schemes

  • J. Cardoso

    Semantic Web Services: Theory, Tools and Applications: Theory, Tools and Applications

    (2007)
  • J. Cardoso et al.

    The semantic web and its applications

    Semantic Web Services, Processes and Applications

    (2006)
  • J.J. Carroll et al.

    Jena: implementing the semantic web recommendations

  • F.-E. Castillo-Barrera et al.

    Verifying the behavioural contracts among components by means of semantic web techniques

  • F.E. Castillo-Barrera et al.

    Towards a software domain metric based on semantic web techniques

  • F.E. Castillo-Barrera et al.

    Knowledge capitalization in a component-based software factory: a semantic viewpoint

  • O. Corby et al.

    Kgram versatile inference and query engine for the web of linked data

  • I. Crnkovic

    Component-based software engineering challenges in software development

    Softw. Focus

    (2001)
  • F. Curbera et al.

    Unraveling the web services web: an introduction to soap, wsdl, and uddi

    IEEE Int. Comput.

    (2002)
  • K. Czarnecki et al.

    Feature models are views on ontologies

  • W. Dai et al.

    Automatically generated layered ontological models for semantic analysis of component-based control systems

    IEEE Trans. Ind. Inform.

    (2013)
  • B. Debayan

    Component-Based Development-Application in Software Engineering

    (2011)
  • M. Dostal et al.

    Semantic analysis of software specifications with linked data

    J. Theor. Appl. Inf. Technol.

    (2014)
  • O. Erling et al.

    Rdf support in the virtuoso dbms

    Networked Knowledge-Networked Media

    (2009)
  • D. Fensel et al.

    Semantic web enabled web services

  • W. Frakes et al.

    Software reuse research: status and future

    IEEE Trans. Softw. Eng.

    (2005)
  • M.A. Francisco et al.

    Turning web services descriptions into quickcheck models for automatic testing

  • R. García-Castro et al.

    The semantic web framework: a component-based framework for the development of semantic web applications

  • D. Garijo et al.

    A new approach for publishing workflows: abstractions, standards, and linked data

  • P. Graubmann et al.

    Semantic annotation of software components

  • T.R. Gruber

    The role of common ontology in achieving sharable, reusable knowledge bases

    KR

    (1991)
  • N. Guarino

    Formal ontology and information systems

  • HaY. et al.

    Integration of semantic web service and component-based development for e-business environment

  • V. Haarslev et al.

    Description of the racer system and its applications

  • O. Hartig et al.

    Automatic component selection with semantic technologies

  • H.J. Happel et al.

    KOntoR: an ontology-enabled approach to software reuse

  • K. Hutt

    A comparison of rdf query languages

  • D. Hyland-Wood et al.

    A semantic web approach to software maintenance

  • R. Jayasudha et al.

    A novel software reuse method- an ontological approach

    Int. J. Sci. Eng. Res.

    (2014)
  • A. Jencmen et al.

    Fortified web services contracts for trusted components

  • JiangY. et al.

    Extended software component model for testing and reuse

  • Cited by (0)

    Loveleen Kaur received her B.Tech. degree in Computer Science and Engineering and M.Tech degree in Software Systems. She is currently working as a Ph.D. research scholar with the Department of Computer Science and Engineering, Thapar University, Patiala, India. Her main research interests include Component-based software engineering, Intelligent Computing Methods, and Semantic Web technologies.

    Ashutosh Mishra received his Ph.D. degree in Computer Science and Engineering from Indian Institute of Technology (BHU), Varanasi, India. He is currently working as an Assistant Professor with the Department of Computer Science and Engineering, Thapar University, Patiala, India. His research interests include Software Engineering, Data Mining, Semantic Web technologies and Cognitive Computation. He is a member of various professional bodies and has published various research papers in national and international journals and conferences.

    View full text