A DISTRIBUTED AND ANONYMOUS KNOWLEDGE SHARING APPROACH TO SOFTWARE INTEROPERATION

1995 ◽  
Vol 04 (04) ◽  
pp. 339-367 ◽  
Author(s):  
NARINDER SINGH ◽  
MICHAEL GENESERETH ◽  
MUSTAFA SYED

The support for automatic interoperation of software components can reduce cost and provide greater functionality. This paper describes a novel approach to software interoperation based on specification sharing. Software components, called agents, provide machine processable descriptions of their capabilities and needs. Agents can be realized in different programming languages, and they can run in different processes on different machines. In addition, agents can be dynamic — at run time agents can join the system or leave. The system uses the declarative agent specifications to automatically coordinate their interoperation. The architecture supports anonymous interoperation of agents, where each agent has the illusion that the capabilities of all the other agents are provided directly by the system. The distinctive feature of this approach is the expressiveness of the declarative specification language, which enables sophisticated agent interoperation, e.g. decomposing complex requests into a collection of simpler requests, and translating between the interface of a requesting agent and the interface of an agent that can service the request. The agent-based interoperation scheme relies on a shared vocabulary, and it is our thesis that more effective software interoperation is made possible by agreeing to a shared declarative vocabulary, than by agreeing to procedural interface specifications that do not address the semantics of the software component (e.g. object interface specifications in an object-oriented programming environment).

1996 ◽  
Vol 25 (506) ◽  
Author(s):  
Rene Wenzel Schmidt

<p>Object-oriented programming languages are excellent for expressing abstractions in many application domains. The object-oriented programming methodology allows real-world concepts to modelled in an easy and direct fashion and it supports refinement of concepts. However, many object-oriented languages and their implementations fall short in two areas: dynamic extensibility and reflection.</p><p>Dynamic extensibility is the ability to incorporate new classes into an application at runtime. Reflection makes it possible for a language to extend its own domain, e.g., to build type-orthogonal functionality. MetaBETA is an extension of the BETA language that supports dynamic extensibility and reflection. MetaBETA has a metalevel interface that provides access to the state of a running application and to the default implementation of language primities.</p><p>This report presents the model behind MetaBETA. In particular, we discuss the execution model of a MetaBETA program and how type- orthogonal abstractions can be built. This includes precentation of dynamic slots, a mechanism that makes is possible ectend objects at runtime. The other main area covered in this report is the implementation of MetaBETA. The central component of the architecture is a runtime system, which is viewed as a virtual machine whose baselevel interface implements the functionality needed by the programming language.</p>


2015 ◽  
Vol 131 ◽  
pp. 333-342 ◽  
Author(s):  
Victor Berdonosov ◽  
Alena Zhivotova ◽  
Tatiana Sycheva

1994 ◽  
Vol 49 (1-2) ◽  
pp. 80-88 ◽  
Author(s):  
M. Baldus ◽  
T. O. Levante ◽  
B. H. Meier

Abstract An object-oriented programming environment for numerical simulation of magnetic resonance spectra is introduced and applied to NQR and NMR of quadrupolar nuclei. Using a Floquet approach it is possible to perform simulations of spin systems that are described by explicitly time-dependent Hamiltonians in full analogy to simulations of time-independent systems. Applications to magic angle spinning and double rotation are discussed.


1999 ◽  
Vol 9 (3) ◽  
pp. 253-286 ◽  
Author(s):  
G. DELZANNO ◽  
D. GALMICHE ◽  
M. MARTELLI

This paper focuses on the use of linear logic as a specification language for the operational semantics of advanced concepts of programming such as concurrency and object-orientation. Our approach is based on a refinement of linear logic sequent calculi based on the proof-theoretic characterization of logic programming. A well-founded combination of higher-order logic programming and linear logic will be used to give an accurate encoding of the traditional features of concurrent object-oriented programming languages, whose corner-stone is the notion of encapsulation.


Sign in / Sign up

Export Citation Format

Share Document