Architecture Description Languages (ADLs) are specialized formal languages supporting modeling and reasoning on software architectures. Although number of ADLs counts in the tens, their popularity and usage by practitioners is very low. The object- oriented Unified Modeling Language (UML), which has become the OMG standard, offers a great variety of concepts for the definition of the structure and the expected behavior of a software system. Unified Modeling Language is de facto industrial standard, however not fully qualified ADL. It has the potential to replace many previously used software architecture description language. Compared with other ADLs, UML has the main drawback that its module concept is continuously changing from version to version without reaching a well-defined state. It is the purpose of this contribution to revisit the development of the UML module concept, to criticize its current form, and to present a compact and precise definition of its visibility rules.
[1]
Paul Clements,et al.
Documenting Component and Connector Views with UML 2.0
,
2004
.
[2]
David Garlan,et al.
Acme: architectural description of component-based systems
,
2000
.
[3]
David Garlan,et al.
Documenting software architectures: views and beyond
,
2002,
25th International Conference on Software Engineering, 2003. Proceedings..
[4]
Marcelo R. Campo,et al.
Exploring Alternative Software Architecture Designs: A Planning Perspective
,
2008,
IEEE Intelligent Systems.
[5]
Jungwoo Ryoo,et al.
Architecture: Description Languages
,
2010,
Encyclopedia of Software Engineering.