FACTOID # 8: North Korea spends the most of its GDP on its military.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

FACTS & STATISTICS    Simple view

  1. Select countries to view: (hold down Control key and click to select several)

     

     

    Compare:

     

     

  1. Select fact or statistic: (* = graphable)

     

     

     

  2. (OPTIONAL) Compare to statistic: (both need to be graphable)

     

     

     

  3. View result as:

     

       
(OR) SEARCH ALL encyclopedia, stats & forums:   

Encyclopedia > Architecture description language

Architecture Description Languages (ADLs) are used to describe software architectures. This means in case of technical architecture, the architecture must be communicated to software developers. With functional architecture, the architecture is communicated to stakeholders and enterprise engineers. Software architecture or software systems architecture can best be thought of as a representation of an engineered (or To Be Engineered) software system, and the process and discipline for effectively implementing the design(s) for such a system. ... Technical architecture refers to the structured process of designing and building software architecture, with focus on interaction with software developers. ...


There are several ADLs, such as Wright (developed by CMU), Acme (developed by CMU), C2 (developed by UCI), and Darwin (developed by Imperial College London). The word wright is an archaic English term for a craftsman or builder, e. ... Carnegie Mellon University Carnegie Mellon University is a private research university located in Pittsburgh, Pennsylvania. ... Acme (Greek ακμή, the peak, zenith, prime) denotes the best of something. ... C2 (protocol), a file transfer protocol C2 (radio), a Welsh language music show on BBC Radio Cymru C2 explosive, a form of plastic explosive C2 ISO 216 international standard paper size (458×648 mm) C2 NRS social grade, United Kingdom skilled working class Citroën C2, a car produced by... University of California, Irvine The University of California, Irvine is a public, coeducational university situated in suburban Irvine, California. ... To meet Wikipedias quality standards and make it more accessible to a general audience, this article may require cleanup. ... Imperial College is one of the colleges of the University of London (although negotiations with regard to its withdrawal from the University have begun) and primarily focuses on science, engineering and medicine, complemented by a business school. ...

Contents


Introduction

The following reasons would be better served if there were a standard notation (ADL) for representing architectures:

  • Mutual communication
  • Embodiment of early design decisions
  • Transferable abstraction of a system

Architectures in the past where largely represented by box-and-line drawing. The following things are usually defined in such a drawing:

  • Nature of the component
  • Component properties
  • Semantics of connections
  • Behavior of a system as a whole

ADLs result from a linguistic approach to the formal representation of architectures, and as such they address its shortcomings. Also important, sophisticated ADLs allow for early analysis and feasibility testing of architectural design decisions.


Characteristics

There is a large variety in ADLs developed by either academic or industrial groups. Many languages were not intended to be an ADL, but they turn out to be suitable for representing and analyzing an architecture. In principle ADLs differ from:

  • Requirements languages, because ADLs are rooted in the solution space, whereas requirements describe problem spaces.
  • Programming languages, because ADLs do not bind architectural abstractions to specific point solutions
  • Modeling languages, because ADLs tend to focus on representation of components rather than the behavior of the whole.

The following list is a minimal set of requirements for a language to be an ADL. The languages must :

  • Be suitable for communicating an architecture to all interested parties
  • Support the tasks of architecture creation, refinement and validation
  • Provide a basis for further implementation, so it must be able to add information to the ADL specification to enable the final system specification to be derived from the ADL
  • Provide the ability to represent most of the common architectural styles
  • Support analytical capabilities or provide quick generating prototype implementations

ADLs have in common:

  • Graphical syntax with often a textual form and a formally defined syntax and semantics
  • Features for modeling distributed systems
  • Little support for capturing design information, except through general purpose annotation mechanisms
  • Ability to represent hierarchical levels of detail including the creation of substructures by instantiating templates

ADLs differ in their ability to:

  • Handle real-time constructs, such as deadlines and task priorities, at the architectural level
  • Support the specification of different architectural styles. Few handle object oriented class inheritance or dynamic architectures
  • Support analysis
  • Handle different instantiations of the same architecture, in relation to product line architectures

Positive elements of ADL

  • ADLs represent a formal way of representing architecture
  • ADLs are intended to be both human and machine readable
  • ADLs support describing a system at a higher level than previously possible
  • ADLs permit analysis of architectures – completeness, consistency, ambiguity, and performance
  • ADLs can support automatic generation of software systems

Negative elements of ADL

  • There is not universal agreement on what ADLs should represent, particularly as regards the behavior of the architecture
  • Representations currently in use are relatively difficult to parse and are not supported by commercial tools
  • Most ADL work today has been undertaken with academic rather than commercial goals in mind
  • Most ADLs tend to be very vertically optimized toward a particular kind of analysis

Common concepts of architecture


The ADL community generally agrees that Software Architecture is a set of components and the connections among them. But there are different kind of architectures like :


Object Connection Architecture

  • Configuration consists of the interfaces and connections of an object-oriented system
  • Interfaces specify the features that must be provided by modules conforming to an interface
  • Connections represented by interfaces together with call graph
  • Conformance usually enforced by the programming language
    • Decomposition - associating interfaces with unique modules
    • Interface conformance - static checking of syntactic rules
    • Communication integrity - visibility between modules

Interface Connection Architecture

  • Expands the role of interfaces and connections
    • Interfaces specify both “required” and “provided” features
    • Connections are defined between “required” features and “provided” features
  • Consists of interfaces, connections and constraints
    • Constraints restrict behavior of interfaces and connections in an architecture
    • Constraints in an architecture map to requirements for a system

Most ADLs implement an interface connection architecture.


Architecture vs. design

So what is the difference between architecture and design? Architecture casts non-functional decisions and partition functional requirements, whereas design is a principle through which functional requirements are accomplished. Architectural heuristic means that it is necessary to go one level deeper to validate choices, so the architect has to do a high-level design to validate the partitioning


Examples

Below the list gives the candidates for being the best ADL until now

'Bold text'Bold text==Approaches to architecture== Approaches to Architecture

  • Academic Approach
    • focus on analytic evaluation of architectural models
    • individual models
    • rigorous modeling notations
    • powerful analysis techniques
    • depth over breadth
    • special-purpose solutions
  • Industrial Approach
    • focus on wide range of development issues
    • families of models
    • practicality over rigor
    • architecture as the big picture in development
    • breadth over depth
    • general-purpose solutions

Conclusion

  • There is a rich body of research to draw upon
  • Much has been learned about representing and analyzing architectures
  • Effort is needed now to bring together the common knowledge and put it into practice

See also


  Results from FactBites:
 
Software Architecture Glossary (1050 words)
The aim of the CBAM is to explicitly associate costs, benefits, and uncertainty with architectural decisions, as a means of optimizing the choice of such decisions.
Architectural design decisions are those made by the software architect to insure that the system meets its functional, behavioral, and quality attribute goals.
Sensitivity points are places in a specific architecture to which a specific response measure is particularly "sensitive" (that is, a little change is likely to have a large impact).
A standard for architecture description (9237 words)
This paper presents a standard for architecture description in which a set of conventions for terminology and notation is used to describe and to express the organization of the architecture for an IT system.
They differ from modeling or programming languages in that their focus is mainly on architectural concepts--abstractions of components, connections, protocols, and the behavior of the complete system.
The Architecture Description Standard Semantic Specification defines the concept of a domain, which is a set of structural and behavioral patterns that describe some part of the architecture of an IT system (e.g., workflow, transactionality, user interface, network communications).
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.