Large and complex specifications are easily built out of simpler ones by means of (a small number of) specification-building operations.
In the previous chapters, we have focused attention on basic specifications and detailed how to use the various constructs of Casl to write meaningful, but relatively simple, specifications. The aim of this chapter is to discuss and illustrate how to assemble simple pieces of specifications into more complex, structured ones. In particular we explain how to extend specifications, make the union of several specifications, as well as how to rename or hide symbols when assembling specifications. Parametrization and instantiation of generic specifications are explained in the next chapter.