Issue No.07 - July (1986 vol.12)
Hartmut Ehrig , Fachbereich Informatik, Technische Universität Berlin, Strasse des 17, juni 135, 1000 Berlin 10, West Germany
A modularity concept for structuring large software systems is presented. The concept enforces an extreme modularity discipline that goes considerably beyond the one found in modern programming languages like MODULA-2 or Ada®. The concept is meant to be applied to tightly control side-effects in the execution of systems constructed of independently developed modules. A family of specification languages is introduced whose members are all based on that modularity concept and thus support the uniform monolinguistic specification of software systems on all development stages. The different languages have been defined to enable matching informal, semiformal, and formal specifications and thus, to make formal specification of modular systems practicable. The construction of large software systems as interconnections of modules is shown to lead to manageable system structures and to new degrees of freedom in the structuring of the software development process. The suitability of the modularity concept has been evaluated in a large software project for the development of a database management system. The concept and the specification languages will be explained with the aid of sample specifications taken from the project that are, however, kept simple enough to ensure their readability and comprehensibility.
Formal specifications, Software systems, Specification languages, Database systems, Production, software structuring, Data abstraction, informal, procedural, algebraic specifications, modularity, software development
Hartmut Ehrig, "Specification of modular systems", IEEE Transactions on Software Engineering, vol.12, no. 7, pp. 784-798, July 1986, doi:10.1109/TSE.1986.6312979