AbstractRegularities, 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 elsewhere that this difficulty can be alleviated by means of law-governed architecture (LGA), under which system designers can establish the 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, which is based on a recently developed environment called Darwin-E, describes the application of LGA to object-oriented systems written in the Eiffel language. We introduce here the formalism for specifying laws under Darwin-E and give a sample of regularities that can be efficiently established by such laws. In particular, we demonstrate 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.
RightsThis Item is protected by copyright and/or related rights.You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use.For other uses you need to obtain permission from the rights-holder(s).