240 likes | 336 Views
An Infrastructure for the Rapid Development of XML-based Architecture Description Languages. [Dashofy-Hoek-Taylor02] Presented by Ares Saldana March 11, 2008. What is the Problem?. Many and many ADL keep emerging. No real unification nor consensus of what and ADL should consist of
E N D
An Infrastructure for the Rapid Development of XML-based Architecture DescriptionLanguages • [Dashofy-Hoek-Taylor02] • Presented by Ares Saldana • March 11, 2008
What is the Problem? • Many and many ADL keep emerging. • No real unification nor consensus of what and ADL should consist of • Architects write their own ADL to accommodate their domain.
What is the Solution? • An XML-based infrastructure for the rapid development of ADLs • It consists of: • “an XML-based modular extension mechanism for rapidly developing new ADLs • a base set of features that can be reused in ADL development and • a flexibler set of tools to support ADL evelopment and use”
Other considerations • Importance of Support Tools • Enforcement of semantic consistency with ADL not provided
Characteristics • Scalability • Adaptability and Extensibility • Concept Capture
Architectural Emphasis • Distributed Architectures • Integrating Architectures • Dynamic Architectures • Product Line Architectures
Justification • Most ADLs are monolithic • Changes are not easy • Tool support • Cost
XML • Broad support from standard bodies. (W3C) • Compatibility • Suitable for developing modular and extensible notations.
Approach • XML-based language to describe ADLs • A base set of schemas • A flexible tool support
XML Schemas and Extensibility • Hybrid DTD • XML Schema standard • Each Module as a Schema
XLM and ADLs • XML does not guarantee syntactic compatibility between modules. • A get-a-way solution for this is Artificial Dependencies. However this reduces orthogonality. • XML cannot describe semantics, by this requiring Semantically-aware tools.
xADL v 2.0 • Collection of schemas • Very general. Do NOT describe behavior • but can be specified using extension schemas
Characteristics of a xADL derived ADL • Separation of run-time and design-time models of a software system. • Implementation mappings that map the ADL specification of an architecture onto executable code • The ability to model aspects of architectural evolution and product line architectures.
INSTANCES or xArch • Constructs while modeling Run-Time architectures. • Component Instances • Connector Instances • Interface Instances • Link Instances • Sub-architectures • General Groups
Structure and Types Schema • Components • Connectors • Interfaces • Sub-architectures • Links • General Groups • Component Types • Connector types • interface types
Advantages • Typing • Allows the architect to reason about similarities among elements of the same type. • Run and Design-time can be extended separately
Implementation Mappings • Not platform specific • Where but not what data location • xADL Abstract Implementation Schema
Modeling Architectural Evolution and Product Lines • Versions • Options • Variants
Tool Support • Provide parsing, syntax checking, and syntax-directed editing based on ADL schemas. • XML Spy • Apache Xerces • Apigen • xArchADT • ArchEdit
Real World Experience • AWACS • JPL • MAppings to Koala & Mae
Related Work • Traditional and Domain-Specific ADLs • XML-based ADLs • UML
Conclusions • Infrastructure for developing ADLs with reduced effort and time. • No parsers, allowing to address other problems (research)
“Future” work • ArchDiff - To see the differences between two architectures • Investigate Issues related to distributed, dynamic software architectures, as well as applying architecture-based development to areas of the life-cycle such as deployment and maintenance
Thank you • Questions?