0
2.5kviews
Explain basic features of xADL?

Mumbai University > Computer Engineering > Sem 7 > Soft Computing

Marks: 5M

Year: Dec 2015

1 Answer
0
7views
  • xADL is a software architecture description language (ADL) developed by the University of California, Irvine for modeling the architecture of software systems. Unlike many other ADLs, xADL is defined as a set of XML schemas.
  • This gives xADL unprecedented extensibility and flexibility, as well as basic support from the many available commercial XML tools.

The current set of xADL schemas includes modeling support for:

  • run-time and design-time elements of a system;
  • support for architectural types;
  • advanced configuration management concepts such as versions, options, and variants;
  • product family architectures; and
  • architecture "diff"ing (initial support).
  • We plan to extend this set as our research interests evolve. Users of xADL are free to choose elements from this set or create their own extensions as needed.
  • xADL is also an application of xArch, a core XML schema defined jointly by UCI and Carnegie Mellon University. More information about xArch can be found in the next section.
  • An XML based Architectural Description Language (xADL) is an attempt to provide a platform upon which common modeling features can be reused from domain to domain and new features can be created and added to the language as first-class entities.
  • xADL is an XML based language, every xADL model is a well-formed and valid XML document. xADL fully leverages XML’s extensibility mechanism for its language extensions.
  • The syntax of xADL language is defined in a set of XML schemas, which define syntax through a set of data types. XML schema data types can be extended through inheritance.
  • Derived data types can be declared in separate schemas. Through this mechanism, data types declared in one schema can be extended in a different schema to add new modeling features.
  • Syntactically, the xADL language is the composition of all the xADL schemas. The constructs in each schema may be new top level constructs or may be extensions of constructs in other schemas.
  • Several advantages on breaking up the feature set in this way are: - It allows for incremental adoption- user can use as few or as many feature as required for their domain.
  • It allows divergent extension- user can extend the language in novel ways to tailor the language for their purposes. –
  • It allows for feature reuse- as feature sets are defined in XML schema modules, schemas can be shared among projects that have common features without each group having to develop its own representations.

xADL is a challenge to those descriptive languages which has unchanging syntaxes and semantics because xADL can be extended with unforeseen constructs and structures in nearly arbitrary ways. xADL addresses these challenges with an associated set of tools that make it easier for users to implement their own tools that can handle the language’s extensible syntax.

The tools include:

  1. The xADL Data Binding Library: a data binding library is a software library that provides an API for parsing, reading, writing and serializing documents in a particular language. In xADL, this library consist of Java classes that correspond to the data types of xADL. A program can manipulate instances of these classes to explore and change an ADL document. The data binding library provides a simpler interface than the XML aware tool and is the basis for most of the other xADL tools developed to date.
  2. Apigen: It is xADL’s data binding library generator. The data binding library would have limited use if manual rewriting is required each time schemas are added to xADL. Given a set of XML schemas, it can generate the complete data binding library with support for those schemas. If a user changes or adds a shema, a new data binding library can be generated by rerunning Apigen. This library will contain classes for querying and manipulating the new or changed data types defined in the user schema.

xADL has some additional features:

  • It defines basic structural modeling of prescriptive architecture like components, connectors, interfaces, links, general groups.
  • It performs mappings from structural element types to Java implementations.
  • It allows structural elements to be declared optional- included or excluded from an architecture depending on specified conditions
  • It allows structural element types to be declared variant.

EXAMPLE

enter image description here

enter image description here

Please log in to add an answer.