On refinement of software architectures

Although increasingly popular, software component techniques still lack suitable formal foundations on top of which rigorous methodologies for the description and analysis of software architectures could be built. This paper aims to contribute in this direction: building on previous work by the auth...

Full description

Bibliographic Details
Main Author: Meng, Sun (author)
Other Authors: Barbosa, L. S. (author), Naixiao, Zhang (author)
Format: conferencePaper
Language:eng
Published: 2005
Subjects:
Online Access:http://hdl.handle.net/1822/6292
Country:Portugal
Oai:oai:repositorium.sdum.uminho.pt:1822/6292
Description
Summary:Although increasingly popular, software component techniques still lack suitable formal foundations on top of which rigorous methodologies for the description and analysis of software architectures could be built. This paper aims to contribute in this direction: building on previous work by the authors on coalgebraic semantics, it discusses component refinement at three different but interrelated levels: behavioural, syntactic, i.e., relative to component interfaces, and architectural. Software architectures are defined through component aggregation. On the other hand, such aggregations, no matter how large and complex they are, can also be dealt with as components themselves, which paves the way to a discipline of hierarchical design. In this context, a major contribution of this paper is the introduction of a set of rules for architectural refinement. Keywords: Software component, software architecture, refinement, coalgebra.