Abstract. We extend CASL architectural specifications with a simple refinement language that allows the formalization of developments as refinement trees. The essence of the extension is to allow refinements of unit specifications in CASL architectural specifications. 1 Introduction The standard development paradigm of algebraic specification  postulates that the development begins with a formal requirement specification SP0 (extracted from a software project's informal requirements) that fixes only expected properties but ideally says nothing about implementation issues; this is to be followed by a number of refinement steps that fix more and more details of the design, until a specification SP n is obtained that is detailed enough that its conversion into a program P is relatively straightforward: SP0,,,? SP1,,,? \Delta \Delta \Delta,,,? SPn \Delta \Delta \Delta \Delta \Delta? P Actually, this picture is too simple in practice: for complex software systems, it is necessary to reduce complexity by introducing branching points into the chain of refinement steps, so that the resulting implementation tasks can be resolved independently, e.g. by different developers. CASL architectural specifications [3, 6] have been designed for this purpose, based on the insight that structuring of implementations is different from structuring specifications 
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.