Results 1 - 10
of
36
Code-Generation On-the-Fly: A Key to Portable Software
, 1994
"... A technique for representing programs abstractly and independently of the eventual target architecture is presented that yields a file representation twice as compact as machine code for a CISC processor. It forms the basis of an implementation, in which the process of code generation is deferred ..."
Abstract
-
Cited by 48 (19 self)
- Add to MetaCart
A technique for representing programs abstractly and independently of the eventual target architecture is presented that yields a file representation twice as compact as machine code for a CISC processor. It forms the basis of an implementation, in which the process of code generation is deferred until the time of loading. At that point, native code is created on_the_fly by a code_generating loader. The process of loading with dynamic code_generation is so fast that it requires little more time than the input of equivalent native code from a disk storage medium. This is predominantly due to the compactness of the abstract program representation, which allows to counterbalance the ad...
Information Retrieval in Digital Libraries: Bringing Search to the Net
, 1997
"... this article owes as much to Bush's fame at the time (he had been director of the Office of Scientific Research and Development, coordinating all U.S. technology efforts during the war) as to the actual article itself ..."
Abstract
-
Cited by 45 (10 self)
- Add to MetaCart
this article owes as much to Bush's fame at the time (he had been director of the Office of Scientific Research and Development, coordinating all U.S. technology efforts during the war) as to the actual article itself
Intelligent Assistance without Artificial Intelligence
- In 32nd IEEE Computer Society International Conference
, 1987
"... SMILE is a multi-user software engineering environment that behaves as an intelligent assistant. SMILE presents a `fileless environment', derives and transforms data to shelter users from entering redundant information, automatically invokes programming tools, and actively participates in the softwa ..."
Abstract
-
Cited by 15 (10 self)
- Add to MetaCart
SMILE is a multi-user software engineering environment that behaves as an intelligent assistant. SMILE presents a `fileless environment', derives and transforms data to shelter users from entering redundant information, automatically invokes programming tools, and actively participates in the software development and maintenance process. Unlike other intelligent assistants, SMILE is not a rule-based environment: its knowledge of software objects and the programming process is hardcoded into the environment. We describe SMILE's functionality and explain how we achieved this functionality without reliance on artificial intelligence technology. The development and maintenance of SMILE is supported in part by the United States Army, Software Technology Development Division of CECOM COMM/ADP, Fort Monmouth, NJ and in part by ZTI-SOF of Siemens AG, Munich, Germany. This paper was written while Dr. Kaiser was a Visiting Computer Scientist at the Software Engineering Institute, Carnegie-Mello...
KNOs: KNowledge Acquisition, Dissemination and Manipulation Objects
- ACM TOOIS
, 1987
"... Most object-oriented systems lack two useful facilities: the ability of objects to migrate to new environments, and the ability of objects to acquire new operations dynamically. This paper proposes Knos, an object-oriented environment which supports these actions. Their operations, data structures, ..."
Abstract
-
Cited by 15 (7 self)
- Add to MetaCart
Most object-oriented systems lack two useful facilities: the ability of objects to migrate to new environments, and the ability of objects to acquire new operations dynamically. This paper proposes Knos, an object-oriented environment which supports these actions. Their operations, data structures, and communication mechanisms are discussed. Kno objects "learn" by exporting and importing new or modified operations. The use of such objects as intellectual support tools is outlined. In particular, various applications involving co-operation, negotiation, and apprenticeship among objects are described. 1 Introduction One of the main reasons for the advent of Office Information Systems is related to the lack of equipment and tools in offices. It is often pointed out that an average office worker has an inferior set of capital equipment at his disposal to that of an industrial worker. A collection of tools including electronic mail, word processing, spreadsheets, graphics and data base sys...
Technological Steps toward a Software Component Industry
- in J. Gutknecht (Ed.), Programming Languages and System Architectures, Springer Lecture Notes in Computer Science
, 1994
"... . A machine_independent abstract program representation is presented that is twice as compact as machine code for a CISC processor. It forms the basis of an implementation, in which the process of code generation is deferred until the time of loading. Separate compilation of program modules with typ ..."
Abstract
-
Cited by 9 (5 self)
- Add to MetaCart
. A machine_independent abstract program representation is presented that is twice as compact as machine code for a CISC processor. It forms the basis of an implementation, in which the process of code generation is deferred until the time of loading. Separate compilation of program modules with type_safe interfaces, and dynamic loading (with code generation) on a per_module basis are both supported. To users of the implemented system, working with modules in the abstract representation is as convenient as working with native object_files, although it leads to several new capabilities. The combination of portability with practicality denotes a step toward a software component industry. 1. Introduction The rapid evolution of hardware technology is constantly influencing software development, for better as well as for worse. On the downside, faster hardware can conceal the complexity and cost of badly_designed programs; Reiser [Rei89] is not far off the mark in observing that s...
An Overview of MOLDS: A Meta-Object Library for Distributed Systems
, 1998
"... This paper presents a library of meta-objects suitable for developing distributed systems. The reflective architecture of Guaran'a makes it possible for these meta-objects to be easily combined in order to form complex, dynamically reconfigurable meta-level behavior. We briefly describe the implemen ..."
Abstract
-
Cited by 9 (4 self)
- Add to MetaCart
This paper presents a library of meta-objects suitable for developing distributed systems. The reflective architecture of Guaran'a makes it possible for these meta-objects to be easily combined in order to form complex, dynamically reconfigurable meta-level behavior. We briefly describe the implementation of Guaran'a on Java 1 . Then, we explain how several meta-level services, such as persistence, distribution, replication and atomicity, can be implemented in a transparent, reconfigurable and flexible way. 1 Introduction Computational reflection [29, 34] (henceforth just reflection) has proven to be a useful support mechanism for building distributed systems in a transparent way [1, 2, 7, 12, 14, 19, 18, 25, 28, 30, 32, 36, 37, 35, 39, 40]. Guaran'a [31] is a reflective software architecture that aims at encouraging the reuse of reflective solutions. It provides simple mechanisms for combining multiple meta-objects into the meta-level configuration of a single object. These meta-o...
PRACTIC: A Concurrent Object Data Model for a Parallel Object-Oriented Database System
- in Information Sciences
, 1995
"... In this paper, a concurrent object data model for a parallel object-oriented database system, named PRACTIC, and its abstract machine are presented. PRACTIC means PaRallel ACTIve Classes and is based on the vertical partitioning and concurrent management of the database schema classes and meta-class ..."
Abstract
-
Cited by 8 (8 self)
- Add to MetaCart
In this paper, a concurrent object data model for a parallel object-oriented database system, named PRACTIC, and its abstract machine are presented. PRACTIC means PaRallel ACTIve Classes and is based on the vertical partitioning and concurrent management of the database schema classes and meta-classes, which are collectively called active objects. Active objects are permanent processes in memory that encapsulate their definitions, methods and management procedures. Semi-active and passive objects exist to realise abstract classes and instances (the actual data), respectively. The object model gives rise to a query/method execution model that provides parallelism on all levels of the instantiation hierarchy. The abstract PRACTIC machine directly maps the model to a MIMD machine. The performance of one of the proposed parallel query/method execution schemes is measured by simulation on the abstract machine.
An Object Model for Engineering Design
- Proceedings of the ECOOP '92 European Conference on Object-oriented Programming, LNCS 615
, 1992
"... . Applications requiring sophisticated modeling techniques raise challenging issues to software designers. CAD/CAM and genetics are example of applications that call for powerful modeling techniques. Existing approaches seem limited in their ability to support their demands. Relational database s ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
. Applications requiring sophisticated modeling techniques raise challenging issues to software designers. CAD/CAM and genetics are example of applications that call for powerful modeling techniques. Existing approaches seem limited in their ability to support their demands. Relational database systems for example support only simple tables. The need to enhance their capabilities led to non-normalized relational data models. Object-oriented programming languages and databases propose new solutions to the problems of complex and composite object modeling and manipulation. Yet, severe shortcomings impede their practicability, e.g., their inability to model multiple object representations and complex semantic relationships. This paper is an informal overview of a data model called SHOOD based on objectoriented concepts and frame-based knowledge representation. SHOOD implements sophisticated features, such as: . object persistence, multi-methods along a specific specialization ...
I+: A Multiparadigm Language for Object-Oriented Declarative Programming
- Computer Languages
, 1995
"... This paper presents a multiparadigm language I + which is an integration of the three major programming paradigms: object-oriented, logic and functional. I + has an object-oriented framework in which the notions of classes, objects, methods, inheritance and message passing are supported. Methods m ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
This paper presents a multiparadigm language I + which is an integration of the three major programming paradigms: object-oriented, logic and functional. I + has an object-oriented framework in which the notions of classes, objects, methods, inheritance and message passing are supported. Methods may be specified as clauses or functions, thus the two declarative paradigms are incorporated at the method level of the object-oriented paradigm. In addition, two levels of parallelism may be exploited in I + programming. Therefore I + is a multiparadigm language for object-oriented declarative programming as well as parallel programming. Keywords: Multiparadigm, Object-oriented paradigm , Logic paradigm , Functional paradigm 1 Introduction A multiparadigm language is a language that supports more than one programming paradigm. Multiparadigm languages are desirable for the following reasons: . A programmer can choose the most appropriate paradigm for a particular problem at hand so that...
Droplets: Breaking Monolithic Applications Apart
, 1995
"... Most current systems are built around a monolithic structure that integrates all the services offered. Such a paradigm has been used for many years and is now proving to have many limitations. This is partly because, with the advent of distributed systems, there is a need to distribute the intellige ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
Most current systems are built around a monolithic structure that integrates all the services offered. Such a paradigm has been used for many years and is now proving to have many limitations. This is partly because, with the advent of distributed systems, there is a need to distribute the intelligence and control among applications and network entities. Also due to heterogeneous data or systems that an application has to manage, it costs too much to rebuild the application every time a new service has to be supported. It would be better to add such services while the application is running. This paper attempts to show the benefits of a componentbased application against a monolithic one and it introduces a new type of software components, called droplets based on dynamically loadable libraries. Droplets are used to implement selected application services and have the ability to be modified or added to the application while it is running, thus allowing to dynamically modify the application behavior or to extend its functionality at runtime. Finally the paper shows how to design and implement dropletbased applications and demonstrates how the droplet paradigm has been successfully integrated in an existing commercial application.

