xADL 2.0 Extensions Overview
UCI has developed many extensions to the xArch core schema. This set of extensions is collectively known as xADL 2.0. Our current set of extensions is hierarchical, with advanced extensions building on more fundamental ones. Our currently available set of extensions is summarized below.
Structure and Types Extension
View Schema (TXT) |
View Schema (XML)
Additional Documentation:
XML Spy Overview |
ArchStructure Diagram |
ArchTypes Diagram
Depends on: Instances (Core)
The structure and types extension adds to xArch:
- Architectural Prescription: The ability to specify the design-time view of an architecture to complement the instances (run-time) view.
- Types Model: A programming-language style types model that allows architects to indicate that certain components, connectors, and interfaces share a common type.
- Sub-architectures:: The ability to specify the design-time composition of a single component or connector type. Analogous to a compound-type, or struct-type in a programming language.
Options Extension
View Schema (TXT) |
View Schema (XML)
Additional Documentation:
XML Spy Overview
Depends on: Instances (Core); Structure and Types
The options extension adds to xADL 2.0:
- Optional Elements: The ability to specify that certain components, connectors, or links in the architectural prescription are optional, based on a set of system-wide guards.
Variants Extension
View Schema (TXT) |
View Schema (XML)
Additional Documentation:
XML Spy Overview
Depends on: Instances (Core); Structure and Types
The variants extension adds to xADL 2.0:
- Variant Elements: The ability to specify that certain component or connector types in the architectural prescription are variant. A variant type is analogous to a union type in a programming language; elements of this type may actually be one of several types when instantiated, based on a set of system-wide guards.
Versions Extension
View Schema (TXT) |
View Schema (XML)
Additional Documentation:
XML Spy Overview |
ArchVersions Diagram
Depends on: Instances (Core); Structure and Types; Variants, Implementation
The versions extension adds to xADL 2.0:
- Version Trees: A way to specify version trees for component, connector, and interface types. Also extends the type specifications for these elements to have a pointer back to their version, so multiple versions of a single type can be included in the same architecture.
Structural Diffing Extension
View Schema (TXT) |
View Schema (XML)
Additional Documentation:
XML Spy Overview |
Depends on: Structure and Types
The structural diff extension adds to xADL 2.0:
- Architectural Diffing (initial support): The ability to specify the difference between two xADL 2.0 structures.
Product-Line Architecture Diffing Extension
View Schema (TXT) |
View Schema (XML)
Depends on: Structure and Types
The product-line architecture diff extension adds to xADL 2.0:
- PLA Diffing (initial support): The ability to specify the difference between two variant architectures in a xADL 2.0 product-line.
Implementation Extension
View Schema (TXT) |
View Schema (XML)
Additional Documentation:
XML Spy Overview
Depends on: Instances (Core); Structure and Types; Variants
The implementation extension adds to xADL 2.0:
- Abstract Implementation: An abstract tag extending component, connector and interface type specifications. Developers should subclass this tag with their own extension and provide implementation information specific to their development platform (Java, COM, Windows/C++, etc.)
Java Implementation Extension
View Schema (TXT) |
View Schema (XML)
Additional Documentation:
XML Spy Overview
Depends on: Instances (Core); Structure and Types; Variants; Implementation
The Java implementation extension adds to xADL 2.0:
- Java Concrete Implementation: A concrete extension of the abstract implementation tag allowing developers to provide implementation information for Java language component, connnector, and interface types.
Lookup Implementation Extension
View Schema (TXT) |
View Schema (XML)
Depends on: Instances (Core); Structure and Types; Variants; Implementation
The Lookup implementation extension adds to xADL 2.0:
- Implementation-by-Lookup: A concrete extension of the abstract implementation tag allowing developers to provide implementation information for elements that can be looked up in a registry, nameserver, or other repository that supports lookup-by-name.
Java Source Code Implementation Extension
View Schema (TXT) |
View Schema (XML)
Additional Documentation:
Depends on: Instances (Core); Structure and Types; Variants; Implementation
The Java source code extension adds to xADL 2.0:
- Java Source Code Implementation: A concrete extension of the abstract implementation tag allowing developers to provide implementation information for locating the source code of Java language component, connnector, and interface types.
Eclipse Java Source Code Implementation Extension
View Schema (TXT) |
View Schema (XML)
Additional Documentation:
Depends on: Java source code
The Eclipse Java source code extension adds to xADL 2.0:
- Eclipse Source Code Manager: An extension to the abstract Java source code manager tag to provide information for locating an Eclipse project that contains the Java source code for a component, connector, or interface type.
Boolean Guard Extension
View Schema (TXT) |
View Schema (XML)
Additional Documentation:
XML Spy Overview
Depends on: Instances (Core); Structure and Types; Options; Variants
The Boolean Guard extension adds to xADL 2.0:
- Boolean Condition Guards: A concrete schema for guards that are boolean conditions. Supports symbols, values, and traditional boolean-expression operators (AND, OR, NOT, ==, <, >, etc.)
Message Rules Extension
View Schema (TXT) |
View Schema (XML)
Additional Documentation:
XML Spy Overview
Depends on: Instances (Core); Structure and Types
The Message Rules extension adds to xADL 2.0:
- Message Rules: The ability to specify rules about message causality in a xADL 2.0 description for component and connector types.
Access Control Extension
View Schema (TXT) |
View Schema (XML)
Additional Documentation:
Depends on: Instances (Core); Structure and Types
The access control extension adds to xADL 2.0:
- Access Control: The ability to specify access control policies in a xADL 2.0 description for component and connector instances, types, subarchitectures, and global architecture.
