Armani(ID:5804/arm001)


Architecture description language for "capturing and encapsulating software architecture design expertise within a conceptual framework of architectural styles and design rules"

Robert Monroe CMU 1999


Related languages
ACME => Armani   Extension of

References:
  • Monroe, Robert "Capturing Design Expertise in Customized Software Architecure Design Environments" Proceedings of the Second International Software Architecture Workshop, October 1996. view details
  • Monroe, Robert "Capturing Software Architecture Design Expertise With Armani", CMU School of Computer Science Technical Report CMU-CS-98-163. Version 2.3, revised January 2001. view details Abstract: Armani is a language for capturing software architecture design expertise and specifying software architecture designs. This document describes the Armani language in detail with specifications for the language syntax and semantics, as well as examples illustrating common usage. External link: Online copy
  • Monroe, Robert T. "Rapid Development of Custom Software Architecture Design Environments" PhD Thesis CMU August 1999 view details Abstract: Software architecture provides a powerful way to manage the complexity of large software systems. It has emerged as a distinct form of abstraction for software systems with its own set of design issues, vocabulary, and goals. Like designers in other disciplines, software architects can gain significant leverage by using powerful and appropriate design environments and tools. The cost and difficulty of creating these powerful design tools, however, prohibit their use for many software development projects. One of the primary reasons for the difficulty and cost of building these tools is that tool developers generally need to build a significant amount of supporting infrastructure before they can make use of the important architectural design expertise that the tools encapsulate. This infrastructure includes both the concepts underlying the tools' functionality and the implementation of the tools themselves.

    This dissertation describes a new approach to capturing and using architectural design expertise in software architecture design environments. A language and tools are presented for capturing and encapsulating software architecture design expertise within a conceptual framework of architectural styles and design rules. The design expertise thus captured is supported with an incrementally configurable software architecture design environment that specialized design environment builders and end-users can easily and quickly customize by specifying the architectural styles and design rules that the environment needs to support.
    External link: Online copy pdf