Sunteți pe pagina 1din 6

2016 3rd Asia-Pacific World Congress on Computer Science and Engineering

Comparative analysis of Software Architecture


Documentation and Architecture Languages

Mateen Ahmed Abbasi Dur –e-Benish Batool Rahil Butt Tanveer Mehmood
UIIT-PMAS UIIT-PMAS UIIT-PMAS Anjum
Rawalpindi, Pakistan Rawalpindi, Pakistan Rawalpindi, Pakistan UIIT-PMAS
mateenabbasi@msn.com benimalik@rocketmail.com rahilbutt82@hotmail.com tanveer2382@gmail.com

Abstract: experiments on structures needed to support relations


Research on software Architecture is vigorous from and architecture description.
the early 90’s and its lead to a number of different ADLs formally represent the system’s architecture. In
architecture description languages (ADLs). These the last twenty years it is has been seen that the
languages are increasing in a huge amount and are appearance of many Architecture Description
different in term of analysis produced by these Languages is proposed by researchers in academics
languages and abstraction supported by them. and software industry. [1][2] [3]. To analyze and
Moreover, a lot of other languages not intended as represent architectural design the architectural
ADL serve reasonably fine on analyzing and description languages provide details. [4][5][6]. these
representing software architecture like Unified type of software details provide mutually conceptual
Modeling Language 2.0. UML accomplish frameworks and tangible syntax for describe
approximately all necessities of Architecture architecture of the system. A few newly well-known
Description Language. This research work focuses Architecture description languages are Wright,
on comparative analysis of Architecture description Unicon, Adage, Drawin, C2, Aesop, Mata-H and
languages and software architecture documentation Rapide. This type of Architectural Description
on the bases of usability, connector support, formal Languages apprehensive with architecture’s design
semantics, behavioral specification, Language and provide distinct properties. SAD serves for
quality, views and dynamic architecture support. several intentions. Software architecture
Key words: documentation can be effortlessly and rapidly
ADLs, Software Architecture, SAD, UML understandable by new-fangled developers. SAD acts
as a prototype for creation of architecture and has
I INTRODUCTION sufficient information that SAD be able to serve for
analysis. SAD represents the architecture in a three
The concept that software architecture is a dimensional way and is descriptive. This research
subdivision of software engineering in near-about focuses on recently most popular Architecture
twenty years old. In the last twenty years many Description languages like Unicon, Wright and the
software description languages came into view and most new one Architecture Description language
gone, excluding only a few architecture description Software Architecture Documentation (SAD) and
languages no architecture language is admired by the Architecture Analysis and Design Language
professionals but software architecture (AADL). Many surveys were conducted for
documentation which uses UML which even not Architecture Description Languages [7] [8] but they
acknowledged as Architecture description language haven’t mention SAD in any survey that SAD also
or considered with vacillation is became a regular provide descriptive analysis in the type of
notation in the industry for documenting software documentation. In this research evaluated these
architecture. architectural languages and Software Architecture
The software architecture system explains standard Documentation against a number of important
structure of interrelate component of software parameters: (i) Formal Semantics (ii) Dynamic
architecture. For describing the interrelationship Architecture Support (iii Language Definition
linking the different components the architects uses Quality (iv) High level Connector (v) Formally
informal boxes and arrow diagrams. Many different Analyzable (vi) capturing design views (text ,
Architecture Description languages were build up in graphic, both) ( vii) High level components.
the starting phase of research on the software
architecture, with the help of developers who perform

978-1-5090-5753-5/16 $31.00 © 2016 IEEE 199


DOI 10.1109/APWC.on.CSE.2016.39
II. COMPARISON OF LANGUAGES The software architecture illustrated in Unicon
consists of a quantity of connectors and components.
Before doing anything we will discussed the
The Components represents 868 data or
Architecture Description Languages (Unicon,
computational units of the system. The units of data
Wright, Architecture Analysis and Design Language)
of a system are characterized by components and the
and then Software Architecture Documentation on
connectors in unicon act as negotiator in the
the given constraints
communication between unicon’s components.
• Component and Connector Support Every component is linked with an implimentaion
• Semantics and an interface. The connectors in the unicon
• Dynamic Architecture Support intercede the communication among components.
• Behavior Specification [10] But not as Wright, unicon limits protocols to be
• Language Quality Definition definite types for example Data access, Procedure
a) Wright Call, Pipe, thus avoiding designers from freely
The Architecture Description Language Wright is specifying their types.[8]
renowned for its unambiguous and formal behavior Semantics:
of connectors in architecture design. [1] Unicon’s focus is on early generation of code from
Component and Connector support: architecture specification and it doesn’t formally
The Architectural language Wright’s focal point is on describe semantics. Unicon present a set of tools for
the formal analysis of components which are based mapping architecture in C source code. Whereas it
on connectors and embrace supports for detaining permits system replication, and it’s challenging for
software architecture features. Connectors in Wright formal verification. [8]
are started with the instance of the connectors which Dynamic Architecture support:
allowed reprocess of the similar interaction pattern on Unicon can handle the dynamic arc hitecture because
dissimilar frameworks and moreover the study of it is specific in nature [9].
connectors in seclusion. The Type of the Connectors Language Quality Definition:
is defined by the role which represents the Unicon provides dreadfully modest support to
participating components and a fixative which constancy of architecture specification and doesn’t
coordinates with the behavior of the role. [8] give complete architecture specification because it
Semantics: does not support formal semantics.[9]
The Components of Semantics are describing by Behavior specification:
writing and designing the ports CSP process by the Unicon doesn’t permits formal behavioral
specification process which synchronizes the ports. specification of architectural components where as
[8] The structural language wright’s semantics are Wright, Unicon and Darwin allows it. However,
also described in CSP. UniCon recommends a set of integral attributes for
Dynamic Architecture support connector and components templates and as well
Almost all the Architecture Description Languages players/roles.[8]
are unambiguous in nature. Wright provides c) Architecture Analysis and Design Language
incredibly modest support towards dynamic (AADL)
architecture. [9] Architecture Analysis and design language is an
Behavior Specification: Architecture Description Language that intended to
In communicating sequential process the behavior support hardware, software and mixed system
specification in Wright is done. The behavior architecture. [11] [12] AADL has the highest amount
specification of component forms is controlled in two of users among other architecture languages because
fractions: Specification process and port process, of its specialization. To design and analyze the
where the specification corresponds to the internal software and hardware architecture of real time
behavior for multifaceted, complex types and ports system AADL use graphics and text. AADL illustrate
represent their outer behavior of the components. [8] the important features, performance and functional
Language Quality Definition interface of components. [11] [12]
Wright provides the reliable and comprehensive Component and Connector support:
architecture specification and it provides the high Unlike the above mentioned architecture description
level of language quality. [9] languages AADL has low level built-in component
b) UNICON support. Architecture Analysis and design language
Unicon is one more premature Architecture provides no support for connectors. Components
Description Language which permits the designers to interrelates using ports or by suing subprogram-calls
identify the connectors and components. Unicon and the connections are limited to the subsequent
supports evolution of system design to implement the mechanisms: parameter connections, component
code flatter and real life applications. access connections, port, subprogram calls and
Component and Connector support: connections. But there is no support in favor of

200
specifying innovative connector types that can Language Quality Definition:
characterize complex interaction protocols. [8][10] Due to uncertainty in Software architecture
[12] Documentation SAD provide low support to
Semantics: consistent architecture and provide intermediate
The semantics of Architecture Analysis and design support in the completeness of architecture
language are described in natural language because it specification. Sometimes SAD uses mutually graphic
is not formerly developed with the specific semantic. and natural language that’s why here be dilemma of
But many attempts were made in this sense uncertainty. And in a few cases it only utilize natural
afterward. [8] [10] language or graphic (UML). [14][15]
Dynamic Architecture support: Behavior specification:
Architecture Analysis and design language doesn’t Software behavior Document (SBD) describes the
fully support the dynamic architecture but at performance of software by setting and requirements.
someplace it supports dynamic architecture and [15] In Software Architecture Documentation Unified
variability. [8][10][12] Modeling Language 2.0 covers behavioral as well as
Language Quality Definition: structural characteristics of software system. [17]
AADL not utterly sustain the language class
characterization because ADL is not developed with III. OBSERVATIONS
accurate semantics. Natural language is used in In table 1.0 comparison of ADLs (Wright, Unicon,
AADL that’s why to complete the architecture AADL) and SAD are given on different parameters.
specifications AADL make available intermediate Following are the meanings of the symbols used in
support and a little hold to the stability of architecture table 1.0:
requirement. [10]
Behavior specification: Hs: High capability: language gives
To perform behavior specification in AADL comprehensive and unambiguous support
behaviors seize is attached to module specification.
Ms: Medium: capability may be achieved in a
[13]
roundabout way. Language offers standard
d) Software Architecture Documentation (SAD)
features
Similar to Architecture Description Language,
Ls: Low: modest support granted
Software Architecture Documentation illustrate
Ns: No Support
element interfaces, Test scenarios, Subsystems
limitation, third-party module buying choices, Table 1.0: RESULT
exterior services, Behavioral specification, Team Attributes Unicon SAD Wright AADL
structure and schedule dependencies. [12] Software Consistency of Ls Ms Hs Ls
Architecture Documentation consisted on natural architecture
languages and Unified Modeling Language diagrams Specification
and SAD must encompass element relation properties Completeness Ms Ms Hs Ms
rules. [14] of architecture
Component and Connector support: Specifications
A few of UML 2.0 notations are used by Software
Behavior Ns Hs Hs Hs
Architecture Documentation because UML supports
Specifications
mutually model based and object oriented perception.
Textual Hs Hs Hs Hs
UML 2.0 improved support towards the modeling
High level Hs Hs Ls Ns
architectural problems of the software system.
Component
Among the most important features add up enriched
interfaces, ports, superior components and Connector Ns Ls Hs Ns
connectors.[14][15] Support
Semantics: Formally Ns Ms Hs Ns
The theory Software architecture Documentation is defined
based on well defined prescribed rules and Semantics
regulations and can be processed and checked by Formally Ns Ls Hs Hs
machine because SAD uses Unified Modeling Analyzable
Language. 14] [15] Graphical Hs Hs Ns Hs
Dynamic Architecture support: Dynamic Ns Hs Ns Ms
Software architecture Documentation entirely holds Architecture
up to grip dynamic architecture as there are a number Support
of tools available for Unified Modeling Language.
UML have different diagrams like, Object diagram,
Use case diagram, activity diagram etc. [16]

201
IV. DISCUSSION Model based and object oriented concepts as
Software architecture documentation mostly uses
From the reviews presented in earlier section we can
unified modeling language in architecture
assume that there is increasing attention in
description, with the help of SAD the limitations of
Architecture Description Languages as they offer
Architecture Description Languages can be
precise support in the development of software
overcome. In The Table No 2.0 we describe some
architecture. Architecture Description languages are
strengths and weakness of the ADLs and SAD. Most
mainly popular in safety critical applications such as
of the properties of SAD is because of Unified
process control, infrastructure, medicine, spaceflight
Modeling Language (SAD use some of its diagrams )
and various others. Almost every hardware or
software architecture gets benefit from the rigidity
Table 2.0. Strengths and Weakness of ADLs and
brought by Architecture Description languages.
SAD
ADLs has some limitation as well as advantages,
Software architecture documentation sustain equally
Strengths Weakness
• ADLs signify software architecture in a
clear and error free manner.
• ADLs hold recitation of system at advanced
stage of notion.
• As the mainstream of ADLs is textual as a
result machine understandable and
appropriate for automation.
• Due to proper representation of ADLs they
permit analysis of architecture’s exactness,
completeness, vagueness and performance.
• ADLs sustain automatic production of
systems which run hardware and • Most of ADLs are domain depended like avionics etc and
application programs.[8] are only fit for that type of domains.
• They present graphical language rules and a • Mostly ADLs are text based and are less attractive for
ADLs textual form also. other domain’s software architects [16] [17] [8].
• Properly described logics and rules. • The main weakness of ADLs is that they be short of
• The help for manufacturing and verification sustaining tools with the exception of few .[8][18]
is available by Every ADL.
• The modification of architecture is done by
ADLs.
• ADL is handy and user friendly.
• ADLs overpass the space among research
and the real world, provide the
requirements of practitioner.
• Similarly to Unified Modeling Language
ADL provide multiple visions.
• Only reliable real work no visualizing.
• ADLs are mutually extendable in tools and
language support [17] [18] [19].

• Stakeholders can easily understand the


system using SAD. • SAD is not appropriate in favor of computerized analysis
• It gives clear behavior specification as SAD of verification and validation of system architecture.
use unified modeling language. • Due to be deficient in prescribed semantics SAD becomes
• SAD offers greatest connector support. basis of haziness and discrepancy in a few cases.
• Provide graphical illustration to software • Lacking of stability is caused due to not up-to-date
SAD architecture. documentation of software architecture. [17][18]
• For the stakeholders it provides multiple • SAD documentation is repeatedly conflicted. Conflicting
view. move toward in special figures, resembling to conflicted
• Several tools are there for unified modeling structure inside and across documents or ambiguous
language. information. [18] [19]
• SAD can grip distributed problems. [15]
[16] [17]

202
In year 2013 a research study was performed in analyzable, practicable, consistent and absolute .
which forty-eight practitioners from forty different However in real time application systems and in
information technology organizations of fifteen small scale applications architecture as compare to
countries take part to study that what requirements other Architecture Description Languages, Software
industry need from Architecture languages. architecture Documentation is much consistent, since
The value of ADLs features in precedent and SAD uses unified modeling language and due to its
upcoming projects was studied. Worth of ADLs properties and many professionals are moving
features in precedent projects are : towards Unified Modeling Language. UML is cost-
i. Support for iterative architecting, effective and simply understandable. This research
ii. Versioning, provides information to three communities, 1st is
iii. Well-defined semantics, architect who decide an Architecture Description
iv. Support for multiple architectural views Language, 2nd is technology sponsor who fund for
v. Tool support , development of architecture language and the 3rd is
vi. Analysis , language creator. This research is an effort to to
vii. Graphical syntax. increase the motivation towards software
documentation language. The scope of this paper was
In Table 3.0 we provide the summary of our research limited. In future work additional effort could have
work, we evaluated ADL and SAD on the extent of been expended in identifying a more parameters of
little, average and high on four factors which we ADLs and SAD.
studied.
ACKNOWLEDGEMENT:
Table 3.0 This research has been conducted with the partial
Factors/ ADLs SAD support from i-Lab Australia
Language Quality High High
Definition References
Behavior High average [1] Shaw, DeLine, Klein, Ross, Young, Zelesnik
specification “Abstractions for Software Architectures and Tools
Semantic average little to Support Them”. 1994
Dynamic average High
Architecture support [2] N. Medvidovic, P. Oreizy, J. E. Robbins and R.
Component and average average N. Taylor.( 1996) Using object-oriented typing
Connector support to support architectural design in the C2 style.
[3] M. Moriconi, X. Qian and R.
Riemenschneider.(1995) Correct architecture
refinement. IEEE Transactions on Software
V. CONCLUSION
Engineering, Special Issue on Software
Ever since the early on nineteen’s a number of Architecture
ADLs) have been projected that allows the developer [4] P. Binns and S. Vestal. (1993) Formal real-time
to specifically design their system architectures in a architecturespecification and analysis.
proper, specific and presentable way. Architecture [5] L. Coglianese and R. szymanski,(1993) DSSA-
description languages are normally recognized with ADAGE:An Environment for Architecture–
their ample support for the system architecture based Avionics development.In Proceedings of
specification and their premature prescribed analysis. AGARD’93, May 1993.
Still, regardless of the strength provided by [6] D. C. Luckham, et all.1995 Specifications and
architecture description languages. These languages analysis of system architecture using Rapide.
still have not come into the mainstream. In this [7] R. K. Pandey2010. Architecture Description
research work we acquired two early prominent Languages (ADLs) vs. UML: A Review
Architecture Description Languages, one recently [8] Mert Ozkaya and Christos Kloukinas. (2013)
and mostly utilized language and also acquired “Are We There Yet? Analyzing Architecture
Software architecture Documentation But the Description Languages for Formal Analysis,
professionals are still not capable to develop an Usability, and Realizability”.
Architecture Description language which make
possible the specification of multifarious systems in a [9] Paul C. Clements.1996. “A Survey of
method that allows premature formal analysis and at Architecture Description Languages”.
the similar moment promises that e architecture is

203
[10] George A. Papadopoulos .2008. “Evaluating the
Use of ADLs in Component-Based
Development”.

[11] Shenglin Gui and Lei Luo, .2008. “UCaS: A


Schedulability Analysis Tool for AADL
Models”.
[12] Peter H. Feiler, Bruce A. Lewis, Steve Vestal,
2006. “The SAE Architecture Analysis &
Design Language (AADL) A Standard for
Engineering Performance Critical Systems”.

[13] ROBERT ALLEN and DAVID GARLAN


.1997. “A Formal Basis for Architectural
Connection”.
[14] Book: Documenting Software
Architectures: Views and Beyond. 2003 Paul
Clements.

[15]Klaas Andries de Graaf ,Antony Tang,Peng


Liang And Hans van Vliet. 2012” Ontology-based
Software Architecture Documentation”.

[16]Antony Tang et all.2011. “Software Architecture


Documentation: The Road Ahead”.
[17] B.Bharathi, Dr.D.Sridharan. 2009 “UML as an
Architecture Description Language”.
[18] Matúš NAVARÍK .2005 “Using UML
with OCL as ADL”
[19] Ivano Malavolta, Patricia Lago, Senior Member,
IEEE, Henry Muccini,Patrizio Pelliccione, and
Antony Tang, “What Industry Needs from
Architectural Languages: A Survey”, IEEE
TRANSACTIONS ON SOFTWARE
ENGINEERING, VOL. 39, NO. 6, JUNE 2013
[20] Werner Heijstek et all .2011 “Experimental
Analysis of Textual and Graphical
Representations for Software Architecture

204

S-ar putea să vă placă și