Capsules and types in Fresco
Fresco is a Smalltalk-based interactive environment supporting the specification and proven development of re-usable software components. These ‘capsules’ are deltas to the inheritance hierarchy, and form a more useful unit of designer-effort than class subhierarchies. Systems are built by composing capsules, which carry both specifications and code. The semantics of capsule composition is elucidated by examining the relationship between ‘type’ and ‘class’. Type-descriptions take the form of model-oriented specifications.
The principles discussed here can be applied to other object-oriented languages.
KeywordsSmalltalk module capsule Fresco Mural subtype inheritance specification program proof
Unable to display preview. Download preview PDF.
- [AvdL90]Pierre America and Frank van der Linden ‘A Parallel Object Oriented Language with Inheritance and Subtyping’ ECOOP 90Google Scholar
- [CL90]Marshall Cline and Doug Lea: ‘The Behaviour of C++ Classes'. Proceedings, Symp OOP Emphasizing Practical Applications, Marist Coll., Sept 90Google Scholar
- [CHC90]William Cook, Walter Hill, Peter Canning ‘Inheritance is not subtyping’ ACM ToPLAS 1990 pp125–135Google Scholar
- [JGZ88]Ralph Johnson, Justin Graver, Lawrence Zurawski ‘TS: an optimizing compiler for Smalltalk’ OOPSLA'88Google Scholar
- [Jones90]Cliff Jones: 'systematic software construction using VDM’ (PHI, 2nd ed. 1990)Google Scholar
- [JJLM91]C.B.Jones, K.D.Jones, P.A.Lindsay, R.C.Moore: ‘Mural: a formal development support system’ Springer Verlag, 1991Google Scholar
- [Lindsay87]Peter Lindsay: Logical frames for interactive theorem proving. TR: UMCS 87-12-7, Dept of Computer Science, University of Manchester, UK 1987Google Scholar
- [LG88]John M Lucassen and David K. Gifford: ‘Polymorphic effect systems’ Proc 15th ACM Symp Principles of Programming Languages Jan 88 pp47–57Google Scholar
- [Meyer88]Bertrand Meyer: ‘Object-oriented software construction’ (PHI 88)Google Scholar
- [Morgan90]Carroll Morgan: ‘Programming from Specifications’ (PHI 1990)Google Scholar
- [Wegner90]Peter Wegner ‘Concepts and paradigms of OOP’ OOPS Messenger 1(1) Aug90 [ACM]Google Scholar