OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Organizing programs without classes
Lisp and Symbolic Computation
The programming language jigsaw: mixins, modularity and multiple inheritance
The programming language jigsaw: mixins, modularity and multiple inheritance
Typing the specialization interface
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
A type-theoretic approach to higher-order modules with sharing
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type system for prototyping languages
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Polymorphism and subtyping in interface
IDL '94 Proceedings of the workshop on Interface definition languages
Release-to-release binary compatibility in SOM
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Inside COM
Program fragments, linking, and modularization
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
Units: cool modules for HOT languages
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Dynamic class loading in the Java virtual machine
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Inside CORBA: distributed object standards and applications
Inside CORBA: distributed object standards and applications
Modular object-oriented programming with units and mixins
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Type-safe linking and modular assembly language
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Core Calculus of Classes and Mixins
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Type-Safe Prototype-Based Component Evolution
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Architectural Reasoning in ArchJava
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Linking Programs to Architectures: An Object-Oriented Hierarchical Software Model Based on Boxes
The Common Component Modeling Example
An algebraic foundation for automatic feature-based program synthesis
Science of Computer Programming
MMSA: metamodel multimedia software architecture
Advances in Multimedia
A language to bridge the gap between component-based design and implementation
Computer Languages, Systems and Structures
MASPEGHI 2004 mechanisms for specialization, generalization and inheritance
ECOOP'04 Proceedings of the 2004 international conference on Object-Oriented Technology
Flexible type-safe linking of components for java-like languages
JMLC'06 Proceedings of the 7th joint conference on Modular Programming Languages
Subtyping first-class polymorphic components
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
SC'05 Proceedings of the 4th international conference on Software Composition
A model of components with non-regular protocols
SC'05 Proceedings of the 4th international conference on Software Composition
A component-oriented substitution model
ICSR'06 Proceedings of the 9th international conference on Reuse of Off-the-Shelf Components
Types for dynamic reconfiguration
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
An inheritance system for structural & behavioral reuse in component-based software programming
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Partition refinement of Component Interaction Automata
Science of Computer Programming
A higher abstraction level using first-class inheritance relations
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Design-driven development methodology for resilient computing
Proceedings of the 16th International ACM Sigsoft symposium on Component-based software engineering
Hi-index | 0.00 |
This paper studies specific language level abstractions for component-based programming. We propose a simple model which captures some basic ingredients--like explicit context dependence, dynamic binding and subtype polymorphism, late (dynamic) composition, and avoidance of inheritance in favor of object composition -- that several authors have defended to be central to black-box object-oriented component programming styles. The model is expressed by a core imperative typed calculus, in which components are first-class entities, and whose basic constructs enable the composition, scripting, instantiation and definition of atomic components. Some motivating programming examples are presented, and the operational semantics is shown to enjoy a type-safety property. We also discuss an extension to the Java language aimed at supporting the proposed model, and some implementation issues.