Abstract
After first great enthusiasm about the new generation of component languages, a closer inspection and use identified together with very strong points some disturbing drawbacks, which seem to have been an important impediment for a wider acceptance. A restricted acceptance of component languages would be harmful since the integration of architecture description with a programming language increases the quality of application architecture and applications, as our experience confirms. Therefore, we took an engineering approach to the construction of a new Java-based component language without these drawbacks. After deriving component language requirements, we designed a first language version meeting the requirements and developed a compiler. We used it in several projects; and re-iterated three times through the same cycle with improved language versions. The result, called CompJava, to be presented in the paper seems to be mature for use in an industrial environment.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aldrich, J., Chambers, C., Notkin, D.: ArchJava: Connecting Software Architecture to Implementation. In: Procs ICSE (May 2002)
Aldrich, J., Chambers, C., Notkin, D.: Architectural Reasoning in ArchJava. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 185–193. Springer, Heidelberg (2002)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Klenk, M.: Entwurf einer Chatapplikation mit der Komponentenprogrammiersprache CompJava. Diploma thesis, University of Applied Sciences Konstanz (2006)
Medvidovic, N., Rosenblum, D.S., Taylor, R.P.: A Language and Environment for Architecture-Based Software Development and Evolution. In: Procs ICSE 1999 (May 1999)
Medvidovic, N., Taylor, R.P.: A Classification and Comparison Framework for Software Architecture Description Languages (2000)
van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The KOALA Component Model for Consumer Electronics Software. IEEE Computer (2000)
van Ommering, R.: Building Product Populations with Software Components. In: Proc. ICSE 2002 (2002)
Seco, J.C., Caires, L.: A Basic Model of Typed Components. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, Springer, Heidelberg (2000)
Schmid, H.A., Pfeifer, M., Schneider, T.: A Middleware-Independent Model and Language for Component Distribution. In: Proc. SEM 2005. ACM Press, New York (2005)
Sreedhar, V.C.: Mixin’ Up Components. In: Procs ICSE (2002)
Szyperski, C.: Component Software, Beyond Object-Oriented Programming. Addison-Wesley, Reading (1997)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Schmid, H.A., Pfeifer, M. (2008). Engineering a Component Language: CompJava. In: Filipe, J., Shishkov, B., Helfert, M. (eds) Software and Data Technologies. ICSOFT 2006. Communications in Computer and Information Science, vol 10. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70621-2_15
Download citation
DOI: https://doi.org/10.1007/978-3-540-70621-2_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-70619-9
Online ISBN: 978-3-540-70621-2
eBook Packages: Computer ScienceComputer Science (R0)