AbstractsComputer Science

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.