Non-functional refinement of computer based systems architecture

Publication Type:
Conference Proceeding
Citation:
Proceedings - 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, ECBS 2004, 2004, pp. 168 - 177
Issue Date:
2004-11-17
Metrics:
Full metadata record
Files in This Item:
Filename Description Size
Thumbnail2004001684.pdf227.23 kB
Adobe PDF
Architecture based refinement is an important technique for ensuring efficiency, effectiveness and correctness in the practical design of complex computer based systems. With a few exceptions, current methods of architectural refinement focus on functional behaviour and fail to address non-functional requirements throughout the refinement process. A best practices approach to refinement would address both functional and non-functional requirements such that the refinement of an abstract into a concrete (implementation) architecture ensures that both sets of requirements are met. We propose a method that focuses on the non-functional requirements while still addressing the functional requirements throughout refinement. The method has a formal underpinning in abstract data types (based on term rewriting) which are used to represent the architectures throughout the refinement process and to place pre and post conditions on the refinements. In addition to this, the method uses non-functional requirement calculators to check the non-functional qualities of the architecture as refinement proceeds. Reflection on the practice of the method suggests that it may be possible to extend the architectural style idea to provide reusable refinement schema for the design of certain non-functional qualities into architectural patterns. The example considers reliability and performance in the refinement of a client server architectural pattern. The method does not aim to replace or fully automate the work of the designer. It aims to augment the design process and aid the designer in performing their tasks. It seeks to provide certain guidance for the designer that will help them make the right design decisions, and correct certain classes of errors.
Please use this identifier to cite or link to this item: