A comprehensive engineering framework for guaranteeing component compatibility

  • Authors:
  • J. Floch;C. Carrez;P. Cielak;M. Rój;R. T. Sanders;M. M. Shiaa

  • Affiliations:
  • SINTEF ICT, NO-7465 Trondheim, Norway;SINTEF ICT, NO-7465 Trondheim, Norway and Norwegian University of Science and Technology, NO-7491 Trondheim, Norway;Institute of Telecommunications, Warsaw University of Technology, Warsaw, Poland;Institute of Telecommunications, Warsaw University of Technology, Warsaw, Poland;SINTEF ICT, NO-7465 Trondheim, Norway;Gintel, NO-7052 Trondheim, Norway

  • Venue:
  • Journal of Systems and Software
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Despite advances in software engineering methods and tools, understanding what software components do and ensuring that they work well together remains difficult. This is chiefly due to the lack of support for specifying component interfaces and software compositions formally. Due to these shortcomings, composed systems are subject to incompatibility errors, and software developers struggle to retrieve and understand relevant reusable entities. Constructs recently added to the Unified Modeling Language (UML) supported by validation tools can detect and solve behavioural incompatibility issues, while integrated support for characterisation using ontological techniques can describe what a component does. This paper presents a comprehensive software engineering framework that supports software composition at design time and runtime with compatibility guarantees. Our main contributions are (a) a model-driven development approach that combines UML modelling and ontology techniques for the specification of component properties, their validation and their transformation to code, (b) a middleware platform that supports component discovery, compatibility checking and deployment. Following the proposed approach gives benefits for software engineering, in particular in settings where multiple stakeholders are involved.