next up previous
Next: 1 General Introduction Up: FoCBS

Monotonicity and Lattices as a
Foundation of Component-Based Systems

Philipp Heuberger[*]
Turku Centre for Computer Science and Åbo Akademi
DataCity, 3rd floor
LemminkÉisenkatu 14A
FIN-20520 Turku, Finland
Tel: (358) 2 265 4044
Fax: (358) 2 265 4732


Software components are modules that are replaceable by other modules in a composed software system. The same substitutability occurs in mathematics in the form of replacing a function argument by an other.

Refinement calculus introduces a refinement relation as a substitution criteria and is more general than the equivalence approach. This generality allows the programming by a development contract.

The mathematical structure of a lattice is subsumed within the notion of programming by a development contract. A lattice has two binary choice operations called meet and join. The choices may be interpreted as the respective choices of two contract parties, respectively one contract partner and all others during the development of a program. The combination of a lattice structure with the monotonicity of refinement yields a good candidate for the foundation of component-based systems.

Keywords: programming by contract, object-oriented development, algebra, lattice theory, refinement calculus

Workshop Goals: encourage interdisciplinary work between discrete mathematics and software engineering, analyze the background of research communities, identify and propose new research topics, render the referee process more transparent.

next up previous
Next: 1 General Introduction Up: FoCBS

Philipp Heuberger
Sep. 12 1997