A Comprehensive Engineering Framework for Guaranteeing Component Compatibility
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.
Floch Jacqueline, Carrez Cyril, Cieślak Pawel, Rój Michal, Sanders Richard, Shiaa Mazen Malek (2010). A Comprehensive Engineering Framework for Guaranteeing Component Compatibility. Journal of Systems and Software, Vol. 83, Issue 10, October 2010, Elsevier.
Link to the full paper: http://dx.doi.org/10.1016/j.jss.2010.04.075