ComputingComputer ScienceFormal MethodsProgramming LanguagesSystems ProgrammingConcurrency ControlConcurrent ProgrammingObject-oriented ProgrammingSpecification LanguagesType CheckingType SystemsConcurrency LogicConcurrency SemanticsConcurrency TheoryConcurrent SemanticsIdentityObject IdentitySynchronization Semantics
Embedded specifications in object-oriented (OO) languages such as Eiffel and Sather are based on a rigorous approach towards validation, compatibility and reusability of sequential programs. The underlying method of "design-by-contract" is based on Hoare logic for which concurrency extensions exist. However concurrent OO languages are still in their infancy. They have inherently imperative facets, such as object identity, sharing, and synchronisation, which cannot be ignored in the semantics. Any marriage of objects and concurrency requires a trade-off in a space of intertwined qualities. The paper summarises our work on a type system, calculus and an operational model for concurrent objects in a minimal extension of the Eiffel and Sather languages (cSather). We omit concurrency control constructs and instead use assertions as synchronisation constraints for asynchronous functions. We show that this provides a framework in which subtyping and concurrency can coexist.
5
Object-oriented software construction
Pierre America · Science of Computer Programming · 1989 · 2K citations
Guarded methods vs. inheritance anomaly
Szabolcs Ferenczi · ACM SIGPLAN Notices · 1995 · 18 citations
CLOS, Eiffel, and Sather: A Comparison
Andreas Paepcke · 1993 · 11 citations