The Web now offers an exceptional infrastructure for the development of distributed collaborative services and applications. However, most of the existing applications only make use of the Web access and visualization facilities, without exploiting its distributed-processing potential capabilities. Web technologies are currently more focused on the provision of semantics to data and the design of dynamic Web pages, while paying little attention to the distributed architecture of the applications – that should go beyond client-server architectures. Application frameworks are one of the key technologies that may provide the mechanisms required for the design and development of reusable and scalable systems in these environments. However, the way to document such frameworks so they can be effectively tailored and reused still remains unresolved. In this paper we propose the use of UML profiles for documenting Web-based application frameworks, as a standard means for expressing their semantics. UML profiles allow all stakeholders of a system to share a common graphical notation and vocabulary, and permit more precise specifications and better documentation on how to use and customize applications. As an example, we build a UML profile for MultiTEL, a framework particularly well suited for the development of Internet-based multimedia and collaborative systems, and show how systems designers can use it to derive and document their applications.
This is a preview of subscription content, access via your institution.
Demeyer, S., T.D. Meijler, O. Nierstrasz, and P. Steyaert (1997), “Design Guidelines for ‘Tailorable’ Frameworks, ” Communications of the ACM 40, 10, 0–64.
Fayad, M. E. and D. C. Schmidt (1997), “Object-Oriented Application Frameworks, ” Communications of the ACM 40, 10, 32–38.
Fuentes, L. and J.M. Troya (1999a), “A Java Framework for Web-Based Multimedia and Collaborative Applications, ” IEEE Internet Computing 3, 2, 55–64.
Fuentes, L. and J.M. Troya (1999b), “MultiTel: Multimedia Telecommunication Services Framework, ” In Domain-Specific Application Frameworks: Frameworks Experience in Industry, M. Fayad, D.C. Schmidt, and R. Johnson, Eds., Vol. 3, Wiley, New York.
Gamma, E., R. Helm, R. Johnson, and J. Vlissides (1995), Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, Reading, MA.
Garlan, D., S.-W. Chen, and A.J. Kompanek (2002), “Reconciling the Needs of Architectural Descriptions with Object-Modeling Notations, ” to appear in Science of Computer Programming.
Java Community Process (2001), “UML Profile for EJB, ” Public Draft JSR-000026, available at http://jcp.org/jsr/detil/26.jsp.
Kobryn, C. (2000), “Modeling components and frameworks with UML, ” Communications of the ACM 43, 10, 31–38.
Medvidovic, N. and R.N. Taylor (2000), “A Classification and Comparison Framework for Software Architecture Description Languages, ” IEEE Transactions on Software Engineering 26, 1, 70–93.
Medvidovic, N., D.S. Rosenblum, J.E. Robins, and D.F. Redmiles (2002), “Modeling Software Architectures in the Unified Modeling Language, ” to appear in ACM Transactions on Software Engineering and Methodology.
OMG (1999), “UML Metamodel Specification, ” Object Management Group, OMG Document ad/99–06–08.
OMG (2000), “UML Profile for CORBA Specification V1.0, ” Object Management Group, OMG Document ptc/00–10–01.
OMG (2001a), “Model Driven Architecture. A Technical Perspective, ” Object Management Group, OMG Document ab/2001–01–01.
OMG (2001b), “A UML Profile for Enterprise Distributed Object Computing V1.0, ” Object Management Group, OMG Document ad/2001–08–19.
Sparks, S., K. Benner, and C. Faris (1996), “Managing Object-Oriented Framework Reuse, ” The Computer Journal 39, 9, 52–61.
Steyaert, P., C. Lucas, K. Mens, and K. d'Hondt (1996), “Reuse Contracts: Managing the Evolution of Reusable Assets, ” ACM SIGPLAN Notices 31, 10, 268–285.
Szyperski, C. (1998), Component Software. Beyond Object-Oriented Programming, Addison-Wesley, Reading, MA.
About this article
Cite this article
Fuentes, L., Troya, J.M. & Vallecillo, A. Using UML Profiles for Documenting Web-Based Application Frameworks. Annals of Software Engineering 13, 249–264 (2002). https://doi.org/10.1023/A:1016505712459
- Operating System
- System Designer
- Scalable System
- Graphical Notation
- Potential Capability