Architecture description language: Difference between revisions

Content deleted Content added
Tags: Visual edit Mobile edit Mobile web edit Advanced mobile edit
m lc per [[MOS::EXPABBR]], adjusted wikilink
Tags: Visual edit Mobile edit Mobile web edit Advanced mobile edit
Line 17:
 
==History==
ADLs have been classified into three broad categories: box-and-line informal drawings, formal architecture description language, and UML ([[Unified Modelingmodeling Languagelanguage|unified nodeling language]])-based notations.
 
Box-and-line have been for a long time the most predominant means for describing SAs. While providing useful documentation, the level of informality limited the usefulness of the architecture description. A more rigorous way for describing SAs was required. Quoting Allen and Garlan (1997),<ref name="Allen1997">{{Cite journal | last1 = Allen | first1 = R. | last2 = Garlan | first2 = D. | doi = 10.1145/258077.258078 | title = A formal basis for architectural connection | journal = ACM Transactions on Software Engineering and Methodology | volume = 6 | issue = 3 | pages = 213 | year = 1997 | citeseerx = 10.1.1.40.66 | s2cid = 326385 }}</ref> "while these [box-and-line] descriptions may provide useful documentation, the current level of informality limits their usefulness. Since it is generally imprecise what is meant by such architectural descriptions, it may be impossible to analyze an architecture for consistency or determine non-trivial properties of it. Moreover, there is no way to check that a system implementation is faithful to its architectural design." A similar conclusion is drawn in Perry and Wolf (1992),<ref name="PERRY1992">{{Cite journal | last1 = Perry | first1 = D. E. | last2 = Wolf | first2 = A. L. | author-link2 = Alexander L. Wolf| doi = 10.1145/141874.141884 | title = Foundations for the study of software architecture | journal = [[ACM SIGSOFT Software Engineering Notes]]| volume = 17 | issue = 4 | pages = 40 | year = 1992 | url = http://users.ece.utexas.edu/~perry/work/papers/swa-sen.pdf| citeseerx = 10.1.1.40.5174 | s2cid = 628695 }}</ref> which reports that: "Aside from providing clear and precise documentation, the primary purpose of specifications is to provide automated analysis of the documents and to expose various kinds of problems that would otherwise go undetected."
Box-and-line have been for a long time the most predominant means for describing SAs. While providing useful documentation, the level of
informality limited the usefulness of the architecture description. A more rigorous way for describing SAs was required. Quoting Allen and Garlan (1997),<ref name="Allen1997">{{Cite journal | last1 = Allen | first1 = R. | last2 = Garlan | first2 = D. | doi = 10.1145/258077.258078 | title = A formal basis for architectural connection | journal = ACM Transactions on Software Engineering and Methodology | volume = 6 | issue = 3 | pages = 213 | year = 1997 | citeseerx = 10.1.1.40.66 | s2cid = 326385 }}</ref> "while these [box-and-line] descriptions may provide useful documentation, the current level of informality limits their usefulness. Since it is generally imprecise what is meant by such architectural descriptions, it may be impossible to analyze an architecture for consistency or determine non-trivial properties of it. Moreover, there is no way to check that a system implementation is faithful to its architectural design." A similar conclusion is drawn in Perry and Wolf (1992),<ref name="PERRY1992">{{Cite journal | last1 = Perry | first1 = D. E. | last2 = Wolf | first2 = A. L. | author-link2 = Alexander L. Wolf| doi = 10.1145/141874.141884 | title = Foundations for the study of software architecture | journal = [[ACM SIGSOFT Software Engineering Notes]]| volume = 17 | issue = 4 | pages = 40 | year = 1992 | url = http://users.ece.utexas.edu/~perry/work/papers/swa-sen.pdf| citeseerx = 10.1.1.40.5174 | s2cid = 628695 }}</ref> which reports that: "Aside from providing clear and precise documentation, the primary purpose of specifications is to provide automated analysis of the documents and to expose various kinds of problems that would otherwise go undetected."
 
Since then, a thread of research on formal languages for SA description has been carried out. Tens of formal ADLs have been proposed, each characterized by different conceptual architectural elements, different syntax or semantics, focusing on a specific operational ___domain, or only suitable for different analysis techniques. For example, ___domain-specific ADLs have been presented to deal with embedded and real-time systems (such as AADL,<ref name=AADL>{{cite web |title= AADL — Architecture Analysis and Design Language |publisher=Software Engineering Institute, Carnegie Mellon University |date=July 2019 |url= http://www.aadl.info}}</ref> EAST-ADL,<ref>{{cite web|title= EAST-ADL |url= http://www.east-adl.info/}}</ref> and EADL<ref name="EADL">{{Cite journal | last1 = Li | first1 = J. | last2 = Pilkington | first2 = N. T. | last3 = Xie | first3 = F. | last4 = Liu | first4 = Q. | title = Embedded architecture description language | doi = 10.1016/j.jss.2009.09.043 | journal = Journal of Systems and Software | volume = 83 | issue = 2 | pages = 235 | year = 2010 | citeseerx = 10.1.1.134.8898 | s2cid = 8075069 }}</ref>), control-loop applications (DiaSpec<ref>{{cite web |title= AADL |url= http://www.diaspec.com/ |access-date= 2012-12-10 |archive-url= https://web.archive.org/web/20130601210552/http://diaspec.com/ |archive-date= 2013-06-01 |url-status= dead }}</ref>), product line architectures (Koala<ref name="KOALA">{{Cite journal | last1 = Van Ommering | first1 = R. | last2 = Van Der Linden | first2 = F. | last3 = Kramer | first3 = J. | last4 = Magee | first4 = J. | title = The Koala component model for consumer electronics software | doi = 10.1109/2.825699 | journal = Computer | volume = 33 | issue = 3 | pages = 78 | year = 2000 | citeseerx = 10.1.1.469.8243 }}</ref>), and dynamic systems (Π-ADL<ref name="Oquendo2004">{{cite journal|last1=Oquendo|first1=Flavio|title=π-ADL|journal=ACM SIGSOFT Software Engineering Notes|volume=29|issue=3|year=2004|pages=1–14|issn=0163-5948|doi=10.1145/986710.986728|s2cid=10781129}}</ref>)). Analysis-specific ADLs have been proposed to deal with availability, reliability, security, resource consumption, data quality and real-time performance analysis (AADL, behavioral analysis (Fractal<ref name="FRACTAL">{{Cite journal | doi = 10.1002/spe.767| title = The FRACTAL component model and its support in Java| journal = Software: Practice and Experience| volume = 36| issue = 11–12| pages = 1257| year = 2006| last1 = Bruneton | first1 = E. | last2 = Coupaye | first2 = T. | last3 = Leclercq | first3 = M. | last4 = Quéma | first4 = V. | last5 = Stefani | first5 = J. B. | citeseerx = 10.1.1.471.4374| s2cid = 12541723}}</ref>)), and trustworthiness analysis (TADL<ref>{{cite thesis|title= TADL|url= http://spectrum.library.concordia.ca/7057/|date= 2009-04-29|publisher= Concordia University|type= phd|last1= Mohammad|first1= Mubarak Sami}}</ref>).