Content deleted Content added
m HTTP → HTTPS for Carnegie Mellon CS, replaced: http://www.cs.cmu.edu/ → https://www.cs.cmu.edu/ (6) |
m Task 16: replaced (2×) / removed (0×) deprecated |dead-url= and |deadurl= with |url-status=; |
||
Line 6:
==Overview==
The [[ISO/IEC 42010|ISO/IEC/IEEE 42010]]<ref>{{Cite web |url=http://www.iso-architecture.org/42010/docs/ISO-IEC-IEEE-latest-draft-42010.pdf |title=Archived copy |access-date=2011-12-05 |archive-url=https://web.archive.org/web/20120426010747/http://www.iso-architecture.org/42010/docs/ISO-IEC-IEEE-latest-draft-42010.pdf |archive-date=2012-04-26 |
The enterprise modelling and engineering community have also developed architecture description languages catered for at the enterprise level. Examples include [[ArchiMate]] (now a standard of [[The Open Group]]), [[Jan Dietz#DEMO|DEMO]], [[Avolution|ABACUS]] (developed by the [[University of Technology, Sydney]]). These languages do not necessarily refer to software components, etc. Most of them, however, refer to an application architecture as the architecture that is communicated to the software engineers.
Line 20:
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 | pmid = | pmc = | citeseerx = 10.1.1.40.66 }}</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. | authorlink2 = 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 | pmid = | pmc = | url = http://users.ece.utexas.edu/~perry/work/papers/swa-sen.pdf| citeseerx = 10.1.1.40.5174 }}</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 |url= http://www.aadl.info}}</ref> EAST-ADL,<ref>{{cite web|title= AADL |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 | pmid = | pmc = | citeseerx = 10.1.1.134.8898 }}</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 |
However, these efforts have not seen the desired adoption by industrial practice. Some reasons for this lack of industry adoption have been analyzed by Woods and Hilliard,<ref name="Woods2005">{{Cite book | last1 = Woods | first1 = E. | last2 = Hilliard | first2 = R. | doi = 10.1109/WICSA.2005.15 | chapter = Architecture Description Languages in Practice Session Report | title = 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05) | pages = 243 | year = 2005 | isbn = 978-0-7695-2548-8 | pmid = | pmc = }}</ref> Pandey,<ref name="Pandey2010">{{Cite journal | last1 = Pandey | first1 = R. K. | title = Architectural description languages (ADLs) vs UML | doi = 10.1145/1764810.1764828 | journal = ACM SIGSOFT Software Engineering Notes | volume = 35 | issue = 3 | pages = 1 | year = 2010 | pmid = | pmc = }}</ref> Clements,<ref name="ClementsSurvey">{{Cite book | last1 = Clements | first1 = P. C. | chapter = A survey of architecture description languages | doi = 10.1109/IWSSD.1996.501143 | title = Proceedings of the 8th International Workshop on Software Specification and Design | pages = 16–00 | year = 1996 | isbn = 978-0-8186-7361-0 | pmid = | pmc = | citeseerx = 10.1.1.208.3401 }}</ref> and others: formal ADLs have been rarely integrated in the software life-cycle, they are seldom supported by mature tools, scarcely documented, focusing on very specific needs, and leaving no space for extensions enabling the addition of new features.
|