Simple type-theoretic foundations for object-oriented programming

1994 ◽  
Vol 4 (2) ◽  
pp. 207-247 ◽  
Author(s):  
Benjamin C. Pierce ◽  
David N. Turner

AbstractWe develop a formal, type-theoretic account of the basic mechanisms of object-oriented programming: encapsulation, message passing, subtyping and inheritance. By modelling object encapsulation in terms of existential types instead of the recursive records used in other recent studies, we obtain a substantial simplification both in the model of objects and in the underlying typed λ-calculus.

Author(s):  
MANOJ K. SAXENA ◽  
K.K. BISWAS ◽  
P.C.P. BHATT

For distributed problem solving systems, there is a need to define knowledge at two levels, one external to the agents and the other internal to the agents. External knowledge is required to achieve cooperation among agents and global convergence of the problem solving process, whereas internal knowledge is required to solve the sub-problems assigned to the agents. External knowledge specifies the role of each agent and its relationship with other agents in the system. Internal knowledge specifies knowledge structure and the problem solving process within each agent. DKRL is an object-oriented language for describing distributed blackboard systems. In DKRL a problem solving system is described as a collection of distributed intelligent, autonomous agents (modelled as objects), cooperating to solve the problem. An agent consists of a knowledge base, a behaviour part, a local controller, a monitor, and a communication controller. DKRL has characteristics of a dynamic nature, i.e. the agents can be created dynamically and the relationship among them also changes dynamically. An agent in DKRL’s computational model cannot be activated by more than one message at the same time and uses a virtual synchrony environment for message transmission among agents. This model combines the advantages of remote procedure calls with those of asynchronous message passing. DKRL allows object-oriented programming techniques to be used for system development and facilitates the development by allowing one-to-one mapping between the objects in the knowledge model and the knowledge base of the agent. In this paper, we give an overview of the distributed blackboard paradigm for which DKRL was developed as well as the design considerations. We also propose and formally describe the underlying models of DKRL and explain how concurrency is exploited by DKRL. We conclude with the current status of and preliminary experience with DKRL in using it for the development of a gate assignment problem.


1995 ◽  
Vol 5 (4) ◽  
pp. 593-635 ◽  
Author(s):  
Martin Hofmann ◽  
Benjamin Pierce

AbstractWe give a direct type-theoretic characterization of the basic mechanisms of object-oriented programming, including objects, methods, message passing, and subtyping, by introducing an explicit constructor for object types and suitable introduction, elimination, and equality rules. The resulting abstract framework provides a basis for justifying and comparing previous encodings of objects based on recursive record types (Cardelli, 1984; Cardelli, 1992; Bruce, 1994; Cook et al., 1990; Mitchell, 1990a) and encodings based on existential types (Pierce & Turner, 1994).


1990 ◽  
Author(s):  
E. H. Bensley ◽  
T. J. Brando ◽  
J. C. Fohlin ◽  
M. J. Prelle ◽  
A. M. Wollrath

Sign in / Sign up

Export Citation Format

Share Document