We present Jiazzi, a system that enables the construction of large-scale binary components in Java. Jiazzi components can be thought of as generalizations of Java packages with added support for exter-nal linking and separate compilation. Jiazzi components are practi-cal because they are constructed out of standard Java source code. Jiazzi requires neither extensions to the Java language nor special conventions for writing Java source code that will go inside a com-ponent. Our components are expressive because Jiazzi supports cyclic component linking and mixins, which are used together in an open class pattern that enables the modular addition of new fea-tures to existing classes. This paper describes Jiazzi, how it en-hances Java with comp...
coherent module system and instead provides only packages (which are primarily a name space mechanis...
This paper presents techniques to reason about the composition of configurable components and to aut...
In the current object-oriented paradigm, software construction increasingly involves creating and ut...
We describe and justify thirteen technical properties that a compo-nent system must possess to work ...
In this paper we present JTN2 (Java Targeted Notation 2) a notation for component-based design of Ja...
While Java provides many software engineering benefits, it lacks a coherent module system and instea...
The Java programming language contains many features that aid component-based software development (...
Abstract. This article introduces Jabyce, a software framework for the implementation and compositio...
In this paper we present Jam, an extension of the Java language supporting mixins, that is, paramet...
The aim of component-based software development is to assemble applications from existing components...
We define compositional compilation as the ability to typecheck source code fragments in isolation, ...
Davide Ancona and Giovanni Lagorio DISI - Universita di Genova Via Dodecaneso, 35, 16146 Genova (I...
A component is a pre-fabricated, pre-tested software object that provides clients with a well-define...
Abstract. Polyglot is an extensible compiler framework that supports the easy creation of compilers ...
Programming languages offer a variety of constructs to support code reuse. For example, functional l...
coherent module system and instead provides only packages (which are primarily a name space mechanis...
This paper presents techniques to reason about the composition of configurable components and to aut...
In the current object-oriented paradigm, software construction increasingly involves creating and ut...
We describe and justify thirteen technical properties that a compo-nent system must possess to work ...
In this paper we present JTN2 (Java Targeted Notation 2) a notation for component-based design of Ja...
While Java provides many software engineering benefits, it lacks a coherent module system and instea...
The Java programming language contains many features that aid component-based software development (...
Abstract. This article introduces Jabyce, a software framework for the implementation and compositio...
In this paper we present Jam, an extension of the Java language supporting mixins, that is, paramet...
The aim of component-based software development is to assemble applications from existing components...
We define compositional compilation as the ability to typecheck source code fragments in isolation, ...
Davide Ancona and Giovanni Lagorio DISI - Universita di Genova Via Dodecaneso, 35, 16146 Genova (I...
A component is a pre-fabricated, pre-tested software object that provides clients with a well-define...
Abstract. Polyglot is an extensible compiler framework that supports the easy creation of compilers ...
Programming languages offer a variety of constructs to support code reuse. For example, functional l...
coherent module system and instead provides only packages (which are primarily a name space mechanis...
This paper presents techniques to reason about the composition of configurable components and to aut...
In the current object-oriented paradigm, software construction increasingly involves creating and ut...