Communicating sequential processes
Communicating sequential processes
Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
A semantics of multiple inheritance
Information and Computation - Semantics of Data Types
Objects as closures: abstract semantics of object-oriented languages
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Communication and concurrency
Common LISP: the language (2nd ed.)
Common LISP: the language (2nd ed.)
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
The art of metaobject protocol
The art of metaobject protocol
A calculus of mobile processes, I
Information and Computation
Theoretical aspects of object-oriented programming
A denotational semantics of inheritance and its correctness
Information and Computation
Object-oriented programming in the BETA programming language
Object-oriented programming in the BETA programming language
Component-oriented software technology
Object-oriented software composition
The reflexive CHAM and the join-calculus
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Software engineering with reusable components
Software engineering with reusable components
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A lambda-calculus for dynamic binding
Theoretical Computer Science - Special issue: theoretical aspects of coordination languages
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
Component Software: Beyond Object-Oriented Programming
Component Software: Beyond Object-Oriented Programming
A Theory of Objects
Programming Perl
Smalltalk-80: The Language
JMLC '00 Proceedings of the Joint Modular Languages Conference on Modular Programming Languages
TACS '97 Proceedings of the Third International Symposium on Theoretical Aspects of Computer Software
Modeling Subobject-based Inheritance
ECCOP '96 Proceedings of the 10th European Conference on Object-Oriented Programming
A Study of The Fragile Base Class Problem
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Type-Safe Prototype-Based Component Evolution
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
An Algebraic Approach to Mixins and Modularity
ALP '96 Proceedings of the 5th International Conference on Algebraic and Logic Programming
A Delegation-based Object Calculus with Subtying
FCT '95 Proceedings of the 10th International Symposium on Fundamentals of Computation Theory
Essentials of Constraint Programming
Essentials of Constraint Programming
Learning Python
A denotational semantics of inheritance
A denotational semantics of inheritance
Classboxes: an experiment in modeling compositional abstractions using explicit contexts
SAVCBS '05 Proceedings of the 2005 conference on Specification and verification of component-based systems
A Conceptual Framework for Unified and Comprehensive SOA Management
Service-Oriented Computing --- ICSOC 2008 Workshops
SC'05 Proceedings of the 4th international conference on Software Composition
GLoo: a framework for modeling and reasoning about component-oriented language abstractions
CBSE'06 Proceedings of the 9th international conference on Component-Based Software Engineering
Hi-index | 0.00 |
In recent years considerable progress has been made in facilitating the specification and implementation of software components. However, it is far less clear what kind of language support is needed to enable a flexible and reliable software composition approach. Object-oriented programming languages seem to already offer some reasonable support for component-based programming (e.g., encapsulation of state and behavior, inheritance, late binding). Unfortunately, these languages typically provide only a fixed and restricted set of mechanisms for constructing and composing compositional abstractions.In this article, we will present a generic meta-level framework for modeling both object-and component-oriented programming abstractions. In this framework, various features, which are typically merged in traditional object-oriented programming languages, are all replaced by a single concept: the composition of forms. Forms are first-class, immutable, extensible records that allow for the specification of compositional abstractions in a language-neutral and robust way. Thus, using the meta-level framework, we can define a compositional model that provides the means both to bridge between different object models and to incorporate existing software artifacts into a unified composition system.