Trustworthy instantiation of frameworks
Proceedings of the 2004 international conference on Architecting Systems with Trustworthy Components
Pages 152 - 168
Abstract
Frameworks are large building blocks of systems, encapsulating the commonalities of a family of applications. For reuse of these common features, frameworks are instantiated by smaller-sized components, plugins, to specific products. However, the framework instantiation process is often difficult, because not all aspects of the interplay of the framework and its plugins can be captured by standard type systems. Application developers instantiating a framework often fail to develop correct applications. Thus, this paper surveys several typical framework instantiation problems. A simple facet-based classification of the problems is given. It is shown how the different problem classes are related to phases of the software process and how they can be tackled appropriately. Finally, the paper derives several research challenges, in particular, the challenge to define appropriate framework instantiation languages.
References
[1]
Schmidt, H.W.: Systematic framework design by generalization. Communications of the ACM 40 (1997) 48-51
[2]
OMG: MDA Guide. (2003) http://www.omg.org/mda (visited 2006, January 16).
[3]
Eclipse Foundation: Eclipse Documentation. (2005) http://www.eclipse.org (visited 2005, December 31).
[4]
Demuth, B., Hußmann, H., Zschaler, S., Schmitz, L.: Erfahrungen mit einem frameworkbasierten Softwarepraktikum. In Schulz, C., Weber-Wulff, D., eds.: Software Engineering im Unterricht der Hochschulen SEUH '99 Workshop, Wiesbaden, Februar 1999, Tagungsband, Teubner (1999) 21-30
[5]
Zschaler, S., Bartho, A., et al.: Salespoint Documentation, Technische Universit ät, Dresden. (2002) http://www-st.inf.tu-dresden.de/SalesPoint/v3.1/ documentation/index.html (visited 2005, December 31).
[6]
Trolltech AS: Qt Documentation. (2005) http://doc.trolltech.com/3.3/ index.html (visited 2005, December 31).
[7]
The GTK+ Team: GTK+ Documentation. (2005) http://www.gtk.org/api/ (visited 2005, December 31).
[8]
Gamma, E., Helm, R., Johnson, R., Vlisside, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, Massachusetts (1995)
[9]
Grand, M.: Patterns in Java: A Catalog of Reusable Design Patterns Illustrated with Uml, Volume 1. John Wiley & Sons, Inc., New York, NY (2002)
[10]
Meusel, M., Czarnecki, K., Köpf, W.: A model for structuring user documentation of object-oriented frameworks using patterns and hypertext. In: Proceedings of the European Conference on Object-Oriented Programming (ECOOP 97). Lecture Notes in Computer Science. Springer, Heidelberg (1997)
[11]
Walls, C., Richards, N., Oberg, R.: XDoclet in Action. Manning Publications Co., Greenwich, CT, USA (2003)
[12]
Meyer, B.: Object-Oriented Software Construction. Prentice Hall (1988)
[13]
Wing, J.M.: Writing Larch interface language specifications. ACM Transactions on Programming Languages and Systems 9 (1987) 1-24
[14]
de Alfaro, L., Henzinger, T.A.: Interface automata. In: ESEC/FSE-9: Proceedings of the 8th European Software Engineering Conference held jointly with 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering, New York, NY, USA, ACM Press (2001) 109-120
[15]
Sun Microsystems: Java Development Kit Version 5. (2004) http://www.javasoft.com (visited 2005, December 31).
[16]
d'Souza, D.F., Wills, A.C.: Objects, Components and Frameworks with UML - The Catalysis Approach. Addision-Wesley (1998)
[17]
Demuth, B., Hußmann, H., Löcher, S.: OCL as a specification language for business rules in database applications. In Gogolla, M., Kobryn, C., eds.: UML 2001 - The Unified Modeling Language. Modeling Languages, Concepts, and Tools. 4th International Conference, Toronto, Canada, October 2001, Proceedings. Volume 2185 of Lecture Notes in Computer Science., Springer (2001) 104-117
[18]
Rumpe, B.: Agile Modellierung mit UML - Codegenerierung, Testfälle, Refactoring. Springer-Verlag (2005) ISBN: 3-540-20905-0.
[19]
Aßmann, U.: Reuse in semantic applications. In Eisinger, N., Maluszynski, J., eds.: Summer School of REWERSE (Reasoning on the Semantic Web). Number 3564 in Lecture Notes in Computer Science, Berlin, Springer (2005)
[20]
Smith, M.K., Volz, R., McGuiness, D., Welty, C.: Web Ontology Language (OWL) guide version 1.0. Technical report, W3C World Wide Web Concortium (2002) http://www.w3.org/TR/2002/WD-owl-guide-20021104/ (visited 2005, December 31).
[21]
Möller, R., Haarslev, V.: High performance reasoning with very large knowledge bases: A practical case study. In: Seventeenth International Joint Conference on Artificial Intelligence, IJCAI-01. (2001)
[22]
Sindre, G., Opdahl, A.L.: Eliciting security requirements with misuse cases. Requirements Engineering 10 (2005) 34-44
[23]
Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Object Technology Series. Addison Wesley Longman, Reading, Mass. (1999)
[24]
Rätzmann, M.: Software-Testing und Internationalisierung - Rapid Application Testing, Softwaretest, Agiles Qualitätsmanagement. Gallileo Press (2004)
[25]
Beck, K., Gamma, E.: Test infected: Programmers love writing tests. Java Report 3 (1998) 51-56 http://members.pingnet.ch/gamma/junit.htm (visited 2006, January 16).
[26]
Stotts, D., Lindsey, M., Antley, A.: An informal formal method for systematic JUnit test case generation. In: XP/Agile Universe. Volume 2418 of Lecture Notes in Computer Science. Springer (2002) 131-142
[27]
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Proceedings of the European Conference on Object-Oriented Programming (ECOOP 97). Volume 1241 of Lecture Notes in Computer Science. Springer, Heidelberg (1997) 220-242
[28]
AspectJ Project: Home Page. (2005) http://eclipse.org/aspectj/ (visited 2005, December 31).
Recommendations
The Role of Pattern Languages in the Instantiation of Object-Oriented Frameworks
OOIS '02: Proceedings of the Workshops on Advances in Object-Oriented Information SystemsIn this paper we propose the use of pattern languages to guide an object-oriented framework instantiation. Both the framework and the pattern language refer to the same domain, and the framework must have been constructed based on the pattern language. ...
Assisting aspect-oriented framework instantiation: towards modeling, transformation and tool support
OOPSLA '05: Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applicationsAspect-Oriented (AO) frameworks improve a framework-centered development process by providing appropriate means for handling crosscutting concerns. However, the instantiation process of AO frameworks remains complex and error-prone. We propose a ...
Comments
Information & Contributors
Information
Published In
December 2004
298 pages
ISBN:3540358005
Publisher
Springer-Verlag
Berlin, Heidelberg
Publication History
Published: 12 December 2004
Qualifiers
- Article
Contributors
Other Metrics
Bibliometrics & Citations
Bibliometrics
Article Metrics
- 0Total Citations
- 0Total Downloads
- Downloads (Last 12 months)0
- Downloads (Last 6 weeks)0
Reflects downloads up to 20 Jan 2025