Formal Specification Of Object Oriented Design (2001)
| Venue: | CASCON |
| Citations: | 4 - 0 self |
BibTeX
@TECHREPORT{Eden01formalspecification,
author = {Amnon H. Eden},
title = {Formal Specification Of Object Oriented Design},
institution = {CASCON},
year = {2001}
}
OpenURL
Abstract
Software architectures and designs "notations" are typically based on bubble-and-arc diagrams. Embellishing these diagrams may increase their information content but does not make a language. A formal language has syntax, semantics, and inference rules, so that reasoning and automatic manipulation are made possible. We describe LePUS, a formal language for describing and reasoning about object oriented software architectures, designs, and patterns. A LePUS formula imposes constraints on the software at an appropriate level of abstraction but does not unnecessarily restrict the implementation. LePUS is not an ad hoc collection of loosely related concepts but instead originates from an insight on a small number of necessary and sufficient basic "building blocks" that are ubiquitous in object oriented design. A LePUS specification can be expressed as either a formula or a semantically equivalent diagram. We provide examples of LePUS descriptions ranging from simple design patterns, such as FACTORY METHOD, to popular current architectures, such as Enterprise JavaBeans^TM. Keywords: Software architecture, object oriented programming, design patterns, formal methods 1. Overview In a pioneering discussion of software architecture [1], Perry and Wolf suggested some of the desirable properties that an architectural specification language should possess: (req. i) Generality. The language should allow the expression of constraints at the necessary level of detail. "What is not constrained by the architect may take any form desired by the implementer" [1] (also the principle of least constraint) .







