Skip to main content
Article thumbnail
Location of Repository

A simple refinement language for Casl

By Till Mossakowski, Donald Sannella and Andrzej Tarlecki


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 [1] 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 [7]

Publisher: Springer
Year: 2004
OAI identifier: oai:CiteSeerX.psu:
Provided by: CiteSeerX
Download PDF:
Sorry, we are unable to provide the full text but you may find it at the following location(s):
  • (external link)
  • (external link)
  • Suggested articles

    To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.