[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article

A comprehensive approach for the development of modular software architecture description languages

Published: 01 April 2005 Publication History

Abstract

Research over the past decade has revealed that modeling software architecture at the level of components and connectors is useful in a growing variety of contexts. This has led to the development of a plethora of notations for representing software architectures, each focusing on different aspects of the systems being modeled. In general, these notations have been developed without regard to reuse or extension. This makes the effort in adapting an existing notation to a new purpose commensurate with developing a new notation from scratch. To address this problem, we have developed an approach that allows for the rapid construction of new architecture description languages (ADLs). Our approach is unique because it encapsulates ADL features in modules that are composed to form ADLs. We achieve this by leveraging the extension mechanisms provided by XML and XML schemas. We have defined a set of generic, reusable ADL modules called xADL 2.0, useful as an ADL by itself, but also extensible to support new applications and domains. To support this extensibility, we have developed a set of reflective syntax-based tools that adapt to language changes automatically, as well as several semantically-aware tools that provide support for advanced features of xADL 2.0. We demonstrate the effectiveness, scalability, and flexibility of our approach through a diverse set of experiences. First, our approach has been applied in industrial contexts, modeling software architectures for aircraft software and spacecraft systems. Second, we show how xADL 2.0 can be extended to support the modeling features found in two different representations for modeling product-line architectures. Finally, we show how our infrastructure has been used to support its own development. The technical contribution of our infrastructure is augmented by several research contributions: the first decomposition of an architecture description language into modules, insights about how to develop new language modules and a process for integrating them, and insights about the roles of different kinds of tools in a modular ADL-based infrastructure.

References

[1]
Apache Group. 2003. Crimson. Available at <http://xml.apache.org/crimson/>.]]
[2]
Air Combat Command Public Affairs Office. 2000. Fact Sheet: E-3 Sentry (AWACS). U.S. Air Force (July). Available at <http://www.af.mil/news/factsheets/E_3_Sentry__AWACS_.html>.]]
[3]
Aldrich, J., Chambers, C., and Notkin, D. 2002. ArchJava: Connecting software architecture to implementation. In Proceedings of the 24th International Conference on Software Engineering. (Orlando, FL.) ACM, 187--197.]]
[4]
Allen, R. and Garlan, D. 1997. A formal basis for architectural connection. ACM Trans. Softw. Eng. Method. 6, 3 (July), 213--249. Available at <http://doi.acm.org/10.1145/258077.258078>.]]
[5]
Altheim, M., Boumphrey, F., Dooley, S., McCarron, S., Schnitzenbaumer, S., and Wugofski, T. 2001. Modularization of XHTML. World Wide Web Consortium, W3C Recommendation Report (April). Available at <http://www.w3.org/TR/xhtml-modularization/>.]]
[6]
Altova GmbH. 2003. XML spy website. Available at <http://www.xmlspy.com/>.]]
[7]
Attali, I., Courbis, C., Degenne, P., Fau, A., Parigot, D., and Pasquier, C. 2001. SmartTools: A generator of interactive environments tools. In Proceedings of the the International Conference on Compiler Construction (CC'01) (April). Genova, Italy.]]
[8]
Berners-Lee, T. and Connolly, D. 1998. Web architecture: Extensible languages. W3C Note Report (Feb.) 10. Available at <http://www.w3.org/TR/NOTE-webarch-extlang>.]]
[9]
Binns, P., Englehart, M., Jackson, M., and Vestal, S. 1996. Domain-specific software architectures for guidance, navigation and control. Int. J. Softw. Eng. Knowl. Eng. 6, 2 (June), 201--227.]]
[10]
Booch, G., Rumbaugh, J., and Jacobson, I. 1998. The Unified Modeling Language User Guide. Object Technology Series. Addison Wesley, Reading, MA.]]
[11]
Booch, G., Garlan, D., Iyengar, S., Kobryn, C., and Stavridou, V. 1999. Is UML an architectural description language? Available at <http://www.acm.org/sigplan/oopsla/oopsla99/2_ap/tech/2d1a_uml.html>. (OOPSLA '99).]]
[12]
Bosch, J. 1999. Product-line architectures in industry: A case study. In Proceedings of the 21st International Conference on Software Engineering. IEEE Computer Society Press. Los Angeles, CA. 544--554.]]
[13]
Bosch, J. 2000. Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach. Wesley, A. Ed. ACM Press.]]
[14]
Bray, T., Paoli, J., and Sperberg-McQueen, C. M. 1998. Extensible markup language (XML): Part I. Syntax. World Wide Web Consortium, Recommendation Report (Feb.). Available at <http://www.w3.org/TR/1998/REC-xml>.]]
[15]
Christensen, C. and Shaw, C. 1969. Proceedings of the Extensible Languages Symposium. Boston, MA.]]
[16]
Clark, J. and DeRose, S. 1999. XML path language (XPath) version 1.0. World Wide Web Consortium, W3C Recommendation Report REC-xpath-19991116 (Nov.). Available at <http://www.w3. org/TR/xpath>.]]
[17]
Clements, P. and Northrop, L. 2001. Software Product Lines---Practices and Patterns. Pearson Education, (Addison-Wesley).]]
[18]
Coglianese, L., Smith, R., and Tracz, W. 1992. DSSA case study: Navigation, guidance, and flight director design and development. In Proceedings of the IEEE Symposium on Computer-Aided Control System Design. (March), 102--109.]]
[19]
Cunningham & Cunningham, Ins. 2004. Xml isa poor copy of ess expressions. Available at <<http://c2.com/cgi/wiki?XmlIsaPoorCopyOfEssExpressions>.]]
[20]
Dashofy, E. M. 2001. Issues in generating data bindings for an XML schema-based language. In Proceedings of the Workshop on XML Technologies in Software Engineering (XSE'01) (May). Toronto, Canada.]]
[21]
Dashofy, E. M. and Hoek, A. v. d. 2001. Representing product family architectures in an extensible architecture description language. In Proceedings of the International Workshop on Product Family Engineering (PFE-4) (Oct.), 330--341.]]
[22]
Dashofy, E. M., Hoek, A. v. d., and Taylor, R. N. 2001. A highly-extensible, XML-based architecture description language. In Proceedings of the Working IEEE/IFIP Conference on Software Architecture (WICSA'01) (Aug.). Amsterdam, The Netherlands.]]
[23]
DeRose, S., Maler, E., and Orchard, D. 2001. XML linking language (XLink) version 1.0. World Wide Web Consortium, W3C Recommendation Report (June). Available at <http://www.w3. org/TR/xlink/>.]]
[24]
Eclipse Foundation. 2004. Eclipse. Available at <http://www.eclipse.org/>.]]
[25]
Fallside, D. C. 2001. XML schema part 0: Primer. World Wide Web Consortium, W3C Recommendation Report (May). Available at <http://www.w3.org/TR/xmlschema-0/>.]]
[26]
Garg, A., Critchlow, M., Chen, P., Van der Westhuizen, C., and Hoek, A. v. d. 2003. An environment for managing evolving product line architectures. In Proceedings of the IEEE International Conference on Software Maintenance (ICSM'03) (Sept.). Amsterdam, The Netherlands.]]
[27]
Garlan, D., Monroe, R. T., and Wile, D. 2000. ACME: Architectural description of component-based systems. In Foundations of Component-Based Systems, Leavens, G.T. and Sitaraman, M. Eds. Cambridge University Press, 47--48.]]
[28]
Gorlick, M. M. and Razouk, R. R. 1991. Using weaves for software construction and analysis. In Proceedings of the 13th International Conference on Software Engineering. (May), 23--34.]]
[29]
Hoare, C. A. R. 1978. Communicating sequential processes. Comm. ACM. 21, 8 (Aug.), 666--677.]]
[30]
Hoek, A. v. d., Mikic-Rakic, M., Roshandel, R., and Medvidovic, N. 2001. Taming architectural evolution. In Proceedings of the 6th European Software Engineering Conference (ESEC) and the 9th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-9) (Sept.). Vienna, Austria. 10--14.]]
[31]
Hofmeister, C., Nord, R. L., and Soni, D. 1999. Describing software architecture with UML. In Proceedings of the 1st IFIP Working Conference on Software Architecture. (Feb.). San Antonio, TX. Available at <http://citeseer.nj.nec.com/cache/papers/cs/15435/;http:zSzzSzwww. scr.siemens.comzSzpdfzSzUsingUML-unix.pdf/;hofmeister99describing.pdf>.]]
[32]
Honeywell Inc. 1999. DOME Guide.]]
[33]
Institute for Software Research. ArchStudio, an architecture-based development environment. University of California, Irvine. Available at <http://www.isr.uci.edu/projects/archstudio/>.]]
[34]
Khare, R., Guntersdorfer, M., Oreizy, P., Medvidovic, N., and Taylor, R. N. 2001. xADL: Enabling architecture-centric tool integration with XML. In Proceedings of the 34th International Conference on System Sciences (HICSS-34), Software mini-track (Jan.). Maui, Hawaii.]]
[35]
Lassila, O. and Swick, R. 1999. Resource Description Framework (RDF) Model and Syntax Specification. World Wide Web Consortium, W3C Recommendation Report (Feb.). Available at <http://www.w3.org/TR/REC-rdf-syntax/>.]]
[36]
Le Hors, A., Le Hégaret, P., Wood, L., Nicol, G., Robie, J., Champion, M., and Byrne, S. 2003. Document object model (DOM) level 3 core specification. World Wide Web Consortium, W3C Working Draft Report (June). Available at <http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030609/>.]]
[37]
Ledeczi, A., Maroti, M., Bakay, A., Karsai, G., Garrett, J., Thomason, C., Nordstrom, G., Sprinkle, J., and Volgyesi, P. 2000. The generic modeling environment. Vanderbilt University, 6. Tech. Rep. Available at <http://www.isis.vanderbilt.edu/Projects/gme/GME2000Overview.pdf>.]]
[38]
Lopes, C. V., Kiczales, G., Mendhekar, A., Maeda, C., Loingtier, J.-M., and Irwin, J. 1997. Aspect-oriented programming. In Proceedings of the European Conference on Object-Oriented Programming. Finland.]]
[39]
Luckham, D. C., Henke, F. W. V., Krieg-Brückner, B., and Owe, O. 1987. Anna---A Language for Annotating Ada Programs. Springer-Verlag, 260.]]
[40]
Luckham, D. C., Kenney, J. J., Augustin, L. M., Vera, J., Bryan, D., and Mann, W. 1995. Specification and analysis of system architecture using rapide. IEEE Trans. Softw. Eng. 21, 4 (April), 336--355. Available at <http://citeseer.nj.nec.com/luckham95specification.html>.]]
[41]
Magee, J., Dulay, N., Eisenbach, S., and Kramer, J. 1995. Specifying distributed software architectures. In Proceedings of the 5th European Software Engineering Conference (ESEC'95). Springer-Verlag, Berlin. 137--153. Available at <http://citeseer.nj.nec.com/rd/0ftp:zSzzSzdse.doc.ic.ac.ukzSzdse-paperszSzdarwinzSzesec.pdf/magee94specifying.pdf>.]]
[42]
Medvidovic, N., Rosenblum, D. S., and Taylor, R. N. 1999. A language and environment for architecture-based software development and evolution. In Proceedings of the 21st International Conference on Software Engineering (ICSE '99) (May). IEEE Computer Society. Los Angeles, CA. 44--53. Available at <http://www.ics.uci.edu/~dsr/old-home-page/icse99-dradel.pdf>.]]
[43]
Medvidovic, N. and Taylor, R. N. 2000. A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26, 1 (Jan.), 70--93. Reprinted in Rational Developer Network: Seminal Papers on Software Architecture. Rational Software Corporation. Available at <http://www.rational.net/>.]]
[44]
Mehta, N. R., Medvidovic, N., and Phadke, S. 2000. Towards a taxonomy of software connectors. In Proceedings of the 2000 International Conference on Software Engineering (June). Limerick, Ireland. 178--187. Available at <http://sunset.usc.edu/classes/cs599_2000/Conn-ICSE2000.pdf>.]]
[45]
Milligan, M. K. J. 2000. Implementing COTS open systems technology on AWACS. CrossTalk: J. Defense Softw. Eng. (Sept.). Available at <http://www.stsc.hill.af.mil/crosstalk/2000/09/milligan.html>.]]
[46]
Nentwich, C., Capra, L., Emmerich, W., and Finkelstein, A. 2002. Xlinkit: A consistency checking and smart link generation service. ACM Trans. Internet Tech. 2, 2 (May), 151--185. Available at <http://www.systemwire.com/whitepapers/xlinkit.pdf>.]]
[47]
Nölle, O. 2002. XInterfaces: A new schema language for XML. BS Thesis. Institute for Computer Science, University of Freiburg. Available at <http://www.onoelle.de/xinterfaces/thesishtml/index.html>.]]
[48]
Object Management Group. 2001. The Common Object Request Broker: Architecture and Specification.]]
[49]
Ommering, R. v., Linden, F. v. d., Kramer, J., and Magee, J. 2000. The Koala component model for consumer electronics software. IEEE Comput. 33, 3 (March), 78--85.]]
[50]
Ommering, R. v. 2002. Building product populations with software components. In Proceedings of the 24th International Conference on Software Engineering. 255--265.]]
[51]
Oreizy, P., Gorlick, M. M., Taylor, R. N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D. S., and Wolf, A. L. 1999. An architecture-based approach to self-adaptive software. IEEE Intell. Syst. 14, 3 (May-June), 54--62.]]
[52]
Peake, I. and Salzman, E. 1997. Support for modular parsing in software reengineering. In Proceedings of the Conference on Software Technology and Engineering Practice'97 (July) London, UK. 58--66.]]
[53]
Peake, I. 2000. LXWB User's Guide. Centre for Software Maintenance. Queensland.]]
[54]
Perry, D. E. and Wolf, A. L. 1992. Foundations for the study of software architecture. ACM SIGSOFT Soft. Eng. Notes. 17, 4 (Oct.), 40--52. Available at <http://citeseer.nj.nec.com/perry92foundation.html>.]]
[55]
Ren, J. and Taylor, R. N. 2003. Visualizing software architecture with off-the-shelf components. In Proceedings of the 15th International Conference on Software Engineering and Knowledge Engineering (July) San Francisco, CA. 132--141.]]
[56]
Robbins, J., Redmiles, D., and Rosenblum, D. 1997. Integrating C2 with the unified modeling language. In Proceedings of the California Software Symposium (CSS'97) (Nov.). Irvine, CA. 11--18. Available at <ftp.ics.uci.edu/pub/eden/papers/conferences/1997/css/CSS97.pdf>.]]
[57]
Robbins, J. and Redmiles, D. 1998. Software architecture critics in the Argo design environment. In Proceedings of the International Conference on Intelligent User Interfaces (UIST'98) (Jan.) San Francisco, CA. 47--60.]]
[58]
Roshandel, R., Schmerl, B., Medvidovic, N., Garlan, D., and Zhang, D. 2004. Understanding tradeoffs among different architectural modeling approaches. In Proceedings of the 4th Working IEEE/IFIP Conference on Software Architecture (WICSA'04) (June) Oslo, Norway.]]
[59]
Rouquette, N. and Reinholtz, K. 2002. The mission data system's software architecture framework. International Conference on Software Engineering (ICSE'02). Orlando, FL. Available at <http://www-scf.usc.edu/~csci577/teams/team12a/MDS/mds_sw_arch_framework.ppt>.]]
[60]
SAX Project. 2003. SAX: Simple API for XML. Available at <http://www.saxproject.org/>.]]
[61]
Schmerl, B. and Garlan, D. 2002. Exploiting architectural design knowledge to support self-repairing systems. In Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering. (July), 241--248. Ischia, Italy. Available at <http://portal.acm.org/citation.cfm?id=568804>.]]
[62]
Spencer, J. 2000. Architecture description markup language (ADML): Creating an open market for IT architecture tools. The Open Group, White Paper Report (Sept.). Available at <http://www.opengroup.org/tech/architecture/adml/background.htm>.]]
[63]
Steele, G. 1990. Common Lisp: the Language. 2nd Ed., Digital Press, Woburn, MA.]]
[64]
Sun Microsystems. 2003a. Java architecture for XML binding (JAXB). Available at <http://java. sun.com/xml/jaxb/>.]]
[65]
Sun Microsystems. 2003. Javadoc tool home page. Available at <http://java.sun.com/j2se/javadoc/>.]]
[66]
Szyperski, C. 1997. Component Software: Beyond Object-Oriented Programming. ACM Press, New York, NY.]]
[67]
Taylor, R. N., Medvidovic, N., Anderson, K. M. E., James Whitehead, J., Robbins, J. E., Nies, K. A., Oreizy, P., and Dubrow, D. L. 1996. A component- and message-based architectural style for GUI software. IEEE Trans. Softw. Eng. 22, 6 (June), 390--406.]]
[68]
Thompson, H. S. and Tobin, R. 2003. Current status of XSV. Tech. Rep. University of Edinburgh (July). Available at <http://www.ltg.ed.ac.uk/~ht/xsv-status.html>.]]
[69]
Tracz, W. and Coglianese, L. 1992. A case for domain-specific software architectures. In Proceedings of the WISR-5.]]
[70]
Tracz, W. and Coglianese, L. 1993. An adaptable software architecture for integrated avionics. In Proceedings of the IEEE National Aerospace and Electronics Conference. (May), 1161--1168.]]
[71]
Tracz, W. 1996. Domain-specific software architectures, frequently asked questions. Tech. Rep. Loral Federal Systems Company.]]
[72]
Westhuizen, C. V. d. and Hoek, A. v. d. 2002. Understanding and propagating architectural change. In Proceedings of the Working IEEE/IFIP Conference on Software Architecture (WICSA 3) (Aug.). Montreal, Canada.]]
[73]
Zave, P. 1999. FAQ sheet on feature interaction. Available at <http://www.research.att.com/~pamela/faq.html>, AT&T, HTML.]]

Cited By

View all
  • (2023)A Design Method of Service-Oriented Software Architecture Description Language Supporting Performance Modeling2023 IEEE International Conference on Image Processing and Computer Applications (ICIPCA)10.1109/ICIPCA59209.2023.10257706(339-345)Online publication date: 11-Aug-2023
  • (2022)On the influence of architectural languages on requirements traceabilitySoftware: Practice and Experience10.1002/spe.316653:3(704-728)Online publication date: 27-Nov-2022
  • (2021)Constructing a Shared Infrastructure for Software Architecture Analysis and Maintenance2021 IEEE 18th International Conference on Software Architecture (ICSA)10.1109/ICSA51549.2021.00022(150-161)Online publication date: Mar-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Software Engineering and Methodology
ACM Transactions on Software Engineering and Methodology  Volume 14, Issue 2
April 2005
128 pages
ISSN:1049-331X
EISSN:1557-7392
DOI:10.1145/1061254
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 April 2005
Published in TOSEM Volume 14, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. ArchStudio 3
  2. Architecture description languages
  3. XML
  4. xADL 2.0

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)83
  • Downloads (Last 6 weeks)11
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)A Design Method of Service-Oriented Software Architecture Description Language Supporting Performance Modeling2023 IEEE International Conference on Image Processing and Computer Applications (ICIPCA)10.1109/ICIPCA59209.2023.10257706(339-345)Online publication date: 11-Aug-2023
  • (2022)On the influence of architectural languages on requirements traceabilitySoftware: Practice and Experience10.1002/spe.316653:3(704-728)Online publication date: 27-Nov-2022
  • (2021)Constructing a Shared Infrastructure for Software Architecture Analysis and Maintenance2021 IEEE 18th International Conference on Software Architecture (ICSA)10.1109/ICSA51549.2021.00022(150-161)Online publication date: Mar-2021
  • (2020)How Are Performance Issues Caused and Resolved?-An Empirical Study from a Design PerspectiveProceedings of the ACM/SPEC International Conference on Performance Engineering10.1145/3358960.3379130(181-192)Online publication date: 20-Apr-2020
  • (2020)Predicting Code Smells and Analysis of Predictions: Using Machine Learning Techniques and Software MetricsJournal of Computer Science and Technology10.1007/s11390-020-0323-735:6(1428-1445)Online publication date: 1-Nov-2020
  • (2019)xLineMapperProceedings of the 41st International Conference on Software Engineering: Companion Proceedings10.1109/ICSE-Companion.2019.00045(87-90)Online publication date: 25-May-2019
  • (2018)Maintaining Architecture-Implementation Conformance to Support Architecture CentralityACM Transactions on Software Engineering and Methodology10.1145/322904827:2(1-52)Online publication date: 27-Jun-2018
  • (2018)A systematic literature review: Refactoring for disclosing code smells in object oriented softwareAin Shams Engineering Journal10.1016/j.asej.2017.03.0029:4(2129-2151)Online publication date: Dec-2018
  • (2018)The analysis of architectural languages for the needs of practitionersSoftware: Practice and Experience10.1002/spe.256148:5(985-1018)Online publication date: 15-Jan-2018
  • (2017)RippleProceedings of the 1st International Workshop on Establishing the Community-Wide Infrastructure for Architecture-Based Software Engineering10.5555/3101282.3101286(14-20)Online publication date: 20-May-2017
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media