Abstract
The brilliant idea of composing existing components to build software systems
instead of developing new software systems from scratch was rst brought up by
M.D. McIlroy in 1968. His idea was an \industrial revolution" of software pro-
duction. When we look at the modern object-oriented programming languages
and their paradigms, we will see that the components never became a base el-
ement of them and that they exist with the help of external mechanisms like
frameworks. Creating a brand new programming language which is built on the
idea of component-based software development could solve the problem, but this
also means throwing away all valuable work done until today with the existing
object-oriented languages. The central question of this thesis is how to make it
possible to program component-based while still bene ting from an object-oriented
programming language.
An embedded domain speci c language (DSL) gives us the opportunity to in-
sert the component concept into the Java programming language by extending it.
In that way, I include the component keywords in the DSL and still bene t from
the Java language concepts like classes. I develop a DSL with the development
environment called MPS - Meta Programming System which is being developed
by JetBrains. I call the DSL I develop, Java Component Language (JCL) which
expresses that it is a sum of the Java programming language and a component
language (extended Java by component keywords). The resulting language JCL,
is a developing tool which makes it possible to program with components in Java.