문제

Being familiar with graphical modeling tools, I recently thought about the concept of architecture description languages (ADL) where one describes architectures in a textual form in order to comprehensively document it.

I see advantages in this approach since it is a formal definition of an architecture stored in a single place without need to switch between graphical and text editors all the time. Kind of the TeX way of describing architectures.

I have been looking a bit but only found quite dated research material.

Do you have experience with productive usage of an ADL? What works, what does not work?

Is there a toolset available which supports document generation from an ADL? Including rendering images of the architecture, describing components and interfaces and component hierachies? And probably even using that to describe dynamic behaviour?

도움이 되었습니까?

해결책

Here are some ADLs (Architecture Description Languages). It's maybe a good start to have an overview of what's done.

  • ArchJava
  • xADL
  • Wright allows architects to specify temporal communication protocols and check properties such as deadlock freedom.
  • UniCon is an architectural description language whose focus is on supporting the variety of architectural parts and styles found in the real world and on constructing systems from their architecture descriptions.
  • Acme is a simple, generic software architecture description language (ADL) that can be used as a common interchange format for architecture design tools and/or as a foundation for developing new architectural design and analysis tools.
  • Aesop provides a generic toolkit and communication infrastructure that users can customize with architectural style descriptions and a set of tools that they would like to use for architectural analysis.
  • C2 is a general component- and message-based architectural style that is well-suited for large-scale, heterogeneous, and distributed applications. The C2 SADL is an ADL for expressing architectures in the C2 style.
  • Darwin is to specify system architectures in terms of components and their interconnections
  • MetaH specifies how software modules developed in a variety of styles are composed together with hardware objects to form a complete system architecture

This list is based on this page, I replaced and sometimes removed some dead links. I also added xADL.

다른 팁

The best I know is by UC-Irvine called xADL. They have a graphical editor in Eclipse that synch's the visualization with the text. I'd be interested to hear your experience with an ADL in practice... drop me a line with your results :)

I believe that, currently, the best use of ADLs is for expressing run time structure. However, this is probably changing. To explore the actual use of ADL, it might be worth exploring how automotive industry is standardizing software components. For cutting edge research in this area, check out ArchJava (http://archjava.fluid.cs.cmu.edu/)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top