Issues with representing software architectures in the unified modeling language

  • Authors:
  • Sasa Baskarada

  • Affiliations:
  • School of Computer and Information Science, University of South Australia, Mawson Lakes, SA, Australia

  • Venue:
  • AMCOS'05 Proceedings of the 4th WSEAS International Conference on Applied Mathematics and Computer Science
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper shows how the Unified Modeling Language (UML) can be used to model software architectures effectively. Software architectures represent high-level views of systems and therefore allow developers to concentrate on the big picture rather than on low-level details [13]. They are also one of the best approaches to consider non-functional requirements early in the development process [1]. However, there is no standard definition of software architecture [17]. There is no agreement yet on how they should be modeled either. Therefore, software architectures are often described informally (using arrows, lines and boxes). Standardizing the notation, by using UML as a modeling tool, would reduce the ambiguity and make software architecture modeling easier for practitioners. A number of Architecture Description Languages (ADLs) already exist, which can be used to model software architectures. However, the software architecture community does not yet agree on what features should be present in an ADL, or precisely what these features should model [6]. Furthermore, there exists no common definition of the term Architecture Description Language either [17]. A large number of ADLs have been proposed as well and each of them takes a particular approach to the modeling of architectures [14]. This is one more reason why a standard modeling notation is needed. UML is already widely used for software analysis & design and it could also be a very useful tool for software architecture modeling. By modeling the CommPOS software architecture in UML, the paper shows how UML can be used to model component-based software architectures. However, further research into using UML for modeling of software architecture behaviors and dynamic software architectures is needed.