Component composition has been over a decade a concept that supplements classical reference-based programming, but does not replace it to a larger extent. Though a new generation of component languages like ArchJava has pushed forwards composition from subcomponents, these languages fall back into class-based programming of methods when Java program code is to be written e.g. as a filter among subcomponents. To allow for a seamless composition process, we have developed the component language CompJava that introduces component fragments and plugs as means for composing a component both from subcomponents and structured units of code. In parallel, we have extended UML 2 component diagrams by the newly introduced concepts. This allows visualizing the compositional structure of components in order to better understand and communicate it. A graphical editor, called CompJava Designer, allows constructing relatively complex and distributed component systems by a seamless visual composition process.
Citation:
Hans Albrecht Schmid, Christian Baranowski, Marco Pfeifer, "Visual Composition of Distributed Component Systems," icsea, pp.69, International Conference on Software Engineering Advances (ICSEA 2007), 2007