180,768 research outputs found

    Formalising sharing mechanisms in object-oriented paradigm

    Get PDF
    Sharing of behavior is one of the most important features in the Object-Oriented paradigm. The two classical organisations of sharing are classes and prototypes, raising two different models and two families of object oriented languages. It has been largely discussed which of these two models is the most basic, giving the essence of the Object-Oriented paradigm.\nWe claim that sharing schemes can be constructed in a more basic model with just objects and messages. We analysed the features this model must express, specially the ability to share behavior. Abadi and Cardelli have defined a calculus of objects which represents the basic elements. They describe how to build the concepts of class based languages in their formalism.\nIn this work we show how to express delegation between concrete objects in the calculus. The key advantage of our contribution is that by providing per object delegation we can represent every sharing scheme possible in a prototype environment, thus completing the conviction that all the usual constructs found in OO can be built using only objects and messages.\nWe have defined sharing constructs for an object based (prototypes) high level language, and their translation into the formal calculus. This shows how constructs similar to those appearing in usual programming languages can be written in the formal calculus, and allows writing programs in the formalism without requiring understanding details about it. There are primitives to express the sharing relationship in object creation, to change that relationship and to reference the donor of an object.Eje: Ingeniería de software. Bases de dato

    Formalising sharing mechanisms in object-oriented paradigm

    Get PDF
    Sharing of behavior is one of the most important features in the Object-Oriented paradigm. The two classical organisations of sharing are classes and prototypes, raising two different models and two families of object oriented languages. It has been largely discussed which of these two models is the most basic, giving the essence of the Object-Oriented paradigm. We claim that sharing schemes can be constructed in a more basic model with just objects and messages. We analysed the features this model must express, specially the ability to share behavior. Abadi and Cardelli have defined a calculus of objects which represents the basic elements. They describe how to build the concepts of class based languages in their formalism. In this work we show how to express delegation between concrete objects in the calculus. The key advantage of our contribution is that by providing per object delegation we can represent every sharing scheme possible in a prototype environment, thus completing the conviction that all the usual constructs found in OO can be built using only objects and messages. We have defined sharing constructs for an object based (prototypes) high level language, and their translation into the formal calculus. This shows how constructs similar to those appearing in usual programming languages can be written in the formal calculus, and allows writing programs in the formalism without requiring understanding details about it. There are primitives to express the sharing relationship in object creation, to change that relationship and to reference the donor of an object.Eje: Ingeniería de software. Bases de datosRed de Universidades con Carreras en Informática (RedUNCI

    Formalising sharing mechanisms in object-oriented paradigm

    Get PDF
    Sharing of behavior is one of the most important features in the Object-Oriented paradigm. The two classical organisations of sharing are classes and prototypes, raising two different models and two families of object oriented languages. It has been largely discussed which of these two models is the most basic, giving the essence of the Object-Oriented paradigm. We claim that sharing schemes can be constructed in a more basic model with just objects and messages. We analysed the features this model must express, specially the ability to share behavior. Abadi and Cardelli have defined a calculus of objects which represents the basic elements. They describe how to build the concepts of class based languages in their formalism. In this work we show how to express delegation between concrete objects in the calculus. The key advantage of our contribution is that by providing per object delegation we can represent every sharing scheme possible in a prototype environment, thus completing the conviction that all the usual constructs found in OO can be built using only objects and messages. We have defined sharing constructs for an object based (prototypes) high level language, and their translation into the formal calculus. This shows how constructs similar to those appearing in usual programming languages can be written in the formal calculus, and allows writing programs in the formalism without requiring understanding details about it. There are primitives to express the sharing relationship in object creation, to change that relationship and to reference the donor of an object.Eje: Ingeniería de software. Bases de datosRed de Universidades con Carreras en Informática (RedUNCI

    ESQL : an extended SQL with object and deductive capabilities

    Get PDF
    Projet RODINESQL is an SQL upward-compatible database language that integrates in a uniform and clean way the essential concepts of relational, object-oriented and deductive databases. ESQL is intended for traditional data processing applications as well as more complex applications such as large expert systems. Therefore, ESQL's salient features are : a rich and extendible type system based on abstract data types (ADTs) implemented in various programming languages ; complex objects with object sharing by combining generic ADTs and object identity ; the capability of querying and updating relations containing simple or complex objects using SQL-compatible syntax and semantics ; and a Datalog-like deductive capability provided as an extension of the SQL view mechanism. ESQL's functional semantics enables uniform manipulation of ESQL data and should facilitate the implementation of the ESQL compiler

    Flexible Method for Inter-object Communication in C++

    Get PDF
    A method has been developed for organizing and sharing large amounts of information between objects in C++ code. This method uses a set of object classes to define variables and group them into tables. The variable tables presented here provide a convenient way of defining and cataloging data, as well as a user-friendly input/output system, a standardized set of access functions, mechanisms for ensuring data integrity, methods for interprocessor data transfer, and an interpretive language for programming relationships between parameters. The object-oriented nature of these variable tables enables the use of multiple data types, each with unique attributes and behavior. Because each variable provides its own access methods, redundant table lookup functions can be bypassed, thus decreasing access times while maintaining data integrity. In addition, a method for automatic reference counting was developed to manage memory safely

    Building object-oriented software with the D-Bus messaging system

    Get PDF
    Object-oriented programming is a widely adopted paradigm for desktop software development. This paradigm partitions software into separate entities, objects, which consist of data and related procedures used to modify and inspect it. The paradigm has evolved during the last few decades to emphasize decoupling between object implementations, via means such as explicit interface inheritance and event-based implicit invocation. Inter-process communication (IPC) technologies allow applications to interact with each other. This enables making software distributed across multiple processes, resulting in a modular architecture with benefits in resource sharing, robustness, code reuse and security. The support for object-oriented programming concepts varies between IPC systems. This thesis is focused on the D-Bus system, which has recently gained a lot of users, but is still scantily researched. D-Bus has support for asynchronous remote procedure calls with return values and a content-based publish/subscribe event delivery mechanism. In this thesis, several patterns for method invocation in D-Bus and similar systems are compared. The patterns that simulate synchronous local calls are shown to be dangerous. Later, we present a state-caching proxy construct, which avoids the complexity of properly asynchronous calls for object inspection. The proxy and certain supplementary constructs are presented conceptually as generic object-oriented design patterns. The e ect of these patterns on non-functional qualities of software, such as complexity, performance and power consumption, is reasoned about based on the properties of the D-Bus system. The use of the patterns reduces complexity, but maintains the other qualities at a good level. Finally, we present currently existing means of specifying D-Bus object interfaces for the purposes of code and documentation generation. The interface description language used by the Telepathy modular IM/VoIP framework is found to be an useful extension of the basic D-Bus introspection format.Siirretty Doriast

    Encapsulation and Aggregation

    Get PDF
    A notion of object ownership is introduced as a solution to difficult problems of specifying and reasoning about complex linked structures and of modeling aggregates (composit objects). Syntax and semantics are provided for extending Eiffel with language support for object ownership annotation and checking. The ideas also apply to other OOPLs such as C++

    An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach

    Get PDF
    This paper introduces a new model, based on so-called object-composition filters, that uniformly integrates database-like features into an object-oriented language. The focus is on providing persistent dynamic data structures, data sharing, transactions, multiple views and associative access, integrated with the object-oriented paradigm. The main contribution is that the database-like features are part of this new object-oriented model, and therefore, are uniformly integrated with object-oriented features such as data abstraction, encapsulation, message passing and inheritance. This approach eliminates the problems associated with existing systems such as lack of reusability and extensibility for database operations, the violation of encapsulation, the need to define specific types such as sets, and the incapability to support multiple views. The model is illustrated through the object-oriented language Sina

    Data Abstraction Mechanisms in Sina/st

    Get PDF
    This paper describes a new data abstraction mechanism in an object-oriented model of computing. The data abstraction mechanism described here has been devised in the context of the design of Sina/st language. In Sina/st no language constructs have been adopted for specifying inheritance or delegation, but rather, we introduce simpler mechanisms that can support a wide range of code sharing strategies without selecting one among them as a language feature. Sina/st also provides a stronger data encapsulation than most of the existing object-oriented languages. This language has been implemented on the SUN 3 workstation using Smalltalk
    • …
    corecore