UCI ICS 228 - A Highly-Extensible, XML-Based Architecture Description Language

Unformatted text preview:

ABSTRACTSoftware architecture research focuses on models ofsoftware architectures as specified in architecturedescription languages (ADLs). As research progresses inspecific areas of software architectures, more and morearchitectural information is created. Ideally, thisinformation can be stored in the model. An extensiblemodeling language is crucial to experimenting with andbuilding tools for novel modeling constructs that arisefrom evolving research. Traditional ADLs typicallysupport a small set of modeling constructs very well, butadapt to others poorly. XML provides an ideal platformupon which to develop an extensible modeling languagefor software architectures. Previous XML-based ADLssuccessfully leveraged XML’s large base of off-the-shelftool support, but did not take advantage of itsextensibility. To give software architecture researchersmore freedom to explore new possibilities and modelingtechniques while maximizing reuse of tools and modelingconstructs, we have developed xADL 2.0, a highlyextensible XML-based ADL. xADL 2.0 supports run-timeand design time modeling, architecture configurationmanagement and model-based system instantiation.Additionally, xADL 2.0 has a set of extensibleinfrastructure tools that support the creation,manipulation, and sharing of xADL 2.0 documents.1. IntroductionOne of the key goals of software architecture researchis understanding and manipulating a system at a higherlevel of granularity than modules or lines-of code.Generally, software architectures are composed ofcomponents, the loci of computation, connectors, the lociof communication, and configurations, constraints on thearrangement and behavior of components and connectors[10,21]. The architecture of a software system is a model,or abstraction, of that system. Software architectureresearchers need extensible, flexible architecturedescription languages (ADLs) and equally flexible andextensible tools to represent these models and experimentwith new models or modeling techniques.To these ends, we have developed xADL 2.0, ahighly-extensible XML-based ADL. xADL 2.0 is basedon xArch, a core representation for basic architecturalelements that uses the XML schema extension method(see Section 2.2) for extending this core. xArch wasjointly developed by the University of California, Irvineand Carnegie Mellon University to provide a basis forcreating new ADLs and ADL features easily. xADL 2.0was developed in parallel with xArch. In addition to thecore xArch elements, xADL 2.0 provides support forarchitectural prescription (the “recipe” for how anarchitecture should be instantiated into a running system),a types-and-instances model, architecture-levelconfiguration management concepts such as versions,options, and variants, and a mapping from types ontoimplementations of those types. We plan to further extendxADL 2.0 in the future as our research on softwarearchitecture progresses. While xADL 2.0 is not the firstXML-based ADL, it offers some novel features.First, xADL 2.0 is highly extensible. Since xADL 2.0inherits XML’s schema-based extensibility mechanism,users can effectively and independently extend it withfeatures that support their particular needs. Specifically,users can write extensions that modify and add to theexisting elements of xADL 2.0 in a modular fashion.Moreover, since xADL 2.0 is defined as a set ofextensions to xArch, undesired or unused features ofxADL 2.0 can be left out of architectural descriptions.Second, xADL 2.0 is supported by tools that provideinfrastructure for storing, manipulating, and sharingxADL 2.0 specifications. This set of tools completelyinsulates end-users from the peculiarities of XML and theinternal structure of xADL 2.0 documents. The only userswho need to be aware of the XML-nature of xADL 2.0are those who extend it with their own schemas.Third, xADL makes a clear distinction betweenarchitectural prescription (the design-time template that isused for instantiating the architecture) and architecturaldescription (which describes the run-time state of thesystem). Whereas existing ADLs typically assume thattheir models are applicable both at design-time and run-time, xADL 2.0 logically separates the two. Extensionsthat make sense at design-time may not make sense atrun-time and vice-versa.Effort partially sponsored by the Defense Advanced ResearchProjects Agency, and Rome Laboratory, Air Force Materiel Com-mand, USAF, under agreement number F30602-97-2-0021. TheU.S. Government is authorized to reproduce and distribute reprintsfor Governmental purposes notwithstanding any copyright annota-tion thereon.The views and conclusions contained herein are those of the au-thors and should not be interpreted as necessarily representing theofficial policies or endorsements, either expressed or implied, of theDefense Advanced Research Projects Agency, Rome Laboratory orthe U.S. Government.A Highly-Extensible, XML-Based Architecture Description LanguageDepartment of Information and Computer ScienceUniversity of California, IrvineIrvine, CA 92697-3425, U.S.A.Eric M. [email protected]é van der [email protected] N. [email protected], xADL 2.0 provides a general set ofextensions that users may or may not adopt. For example,it incorporates support for architecture-levelconfiguration management and mappings fromcomponents and connectors onto Java implementations.These features are generally not supported by architecturedescription languages.Combined, all of these features provide a solidfoundation for tool-building and research experimentationin software architectures. xADL 2.0 and its associatedtools can be used to incrementally develop new or variantADLs instead of “reinventing the wheel” by building anew ADL from scratch. In particular, xADL 2.0 canrepresent architectures in multiple architectural styles,provided appropriate extensions are made. Thisextensibility makes it seem as if xADL 2.0 is just arepresentation format. However, it satisfies all therequirements to be an ADL, as outlined in [18].Therefore, xADL 2.0 can be considered both arepresentation format and an ADL; however, we willdiscuss it as an ADL for the remainder of this paper.2. Background and Related Work2.1. First-Generation ADLsArchitecture description languages such as Wright[1], Rapide [15] and Darwin [16] represent the firstgeneration of ADLs. A more complete review of ADLs isprovided in [18]. This group of ADLs is characterized byproprietary language


View Full Document

UCI ICS 228 - A Highly-Extensible, XML-Based Architecture Description Language

Download A Highly-Extensible, XML-Based Architecture Description Language
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view A Highly-Extensible, XML-Based Architecture Description Language and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view A Highly-Extensible, XML-Based Architecture Description Language 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?