Strongly-typed object-oriented languages are well suited for software engineering. In this paper the difficulty of implementing specification of overall properties of an object in such languages is addressed and solved by introducing constraint-driven reevaluation into strongly-typed object-oriented programming. The programming language Eiffel forms the basis of this work, and its syntax and semantics are enhanced with a constraint-driven system from Thinglab II. The benefits of this enhancement to software specification and development are demonstrated. It is shown that Eiffel's strong typing and its inheritance discipline make it possible to improve on Thinglab II in specification of inputs and outputs of constraint fixes, and allows refinement of constraints through inheritance.
- Constraint-driven reevaluation
- Strong typing
ASJC Scopus subject areas
- Computer Science(all)