Law-Governed Regularities in Object Systems, Part 2: A Concrete Implementation

Regularities, or the conformity to unifying principles, are essential to the comprehensibility, manageability, and reliability of large software systems and should, therefore, be considered an important element of their architecture. But the inherent globality of regularities makes them very hard to implement in traditional methods. We have argued in a previously published companion paper that this difficulty can be alleviated by means of law-governed architecture (LGA), under which a system designer can establish a desired regularity (of a certain kind) simply by declaring it formally and explicitly as the law of the system. Once such a law-governed regularity is declared, it is enforced by the environment in which the system is developed. This paper discusses the application of LGA to traditional, class-based, object-oriented languages, using the Eiffel language for specificity. We introduce here the formalism for specifying laws that govern systems written in this language, and give a sample of regularities that can be efficiently established by such laws. As a case study, we show how one can establish a kernelized architecture suitable for the construction of critical embedded software, such as the software embedded in an intensive care unit. © 1997 John Wiley & Sons, Inc.