Object-oriented system development is wideley recognized as improving productivity and reducing system maintenance costs. However, existing approaches have not su ciently addresse...
The large number of programming languages in the world is a consequence of the broad spectrum of human preferences for different notational styles and semantic models, which depen...
We argue that the failure to separate the concerns in CS1 is the leading cause of difficulty in teaching OOP in the first year. We show how the concerns can be detangled and prese...
In this paper, we consider the Grand Challenge under a very specific perspective: the enabling of application experts without programming knowledge to reliably model their busines...
Existing languages provide good support for typeful programming of standalone programs. In a distributed system, however, there may be interaction between multiple instances of ma...
Peter Sewell, James J. Leifer, Keith Wansbrough, F...