Abstract

We present a typed object-oriented prototyping technology and its associated methodology for large-scale quality software development. The technology supports a design methodology that leads to the development of strongly and largely statically typed software. In addition to pushing static type checking to its limits, the proposed technology relies heavily on Horn logic based specifications that capture the semantic subtleties of the target paradigm. The underlying type system supports advanced features, such as inheritance, behavioural subtyping, and subtype and parametric polymorphism. The core of the technology is an object-oriented, logic based, strongly-typed specification language, and its interpretive implementation. The result is a powerful prototyping tool for software development, which permits rapid prototyping of complex object-oriented design decisions. Such a tool can be used in association with a programming language (such as Eiffel or C++), prior to getting into the actual coding phase, to enable design correctness verification. We demonstrate the power of the tool by presenting a number of fundamental software abstractions written in our language. We also outline an implementation of the language.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call