ArcheOpterix

An Extendable Tool for Architecture Optimization

Welcome to ArcheOpterix WebSite. ArcheOpterix is an extendable Eclipse-based tool for embedded systems architecture design, which provides a framework to implement evaluation techniques and optimization stratergies.

For embedded systems, quality requirements are equally if not even more important than functional requirements. The foundation for the fulfillment of these quality requirements has to be set in the architecture design phase. However, finding a suitable architecture design is a difficult task for software and system architects. Some of the reasons for this are an ever-increasing complexity of today's systems, strict design constraints and conflicting quality requirements. The ArcheOpterix is an extendable Eclipse-based tool to simplify this task which provides a framework to implement evaluation techniques and optimization heuristics for AADL specifications. Currently, evolutionary strategies have been implemented to identify optimized deployment architectures with respect to multiple quality objectives and design constraints. Experiments with a set of initial deployment architectures provide evidence that the tool can successfully find architecture specifications with better quality.

Key Features

The ArcheOpterix tool has been developed with Java and Eclipse and can be directly used as a plug-in for the Open Source AADL Tool Environment; OSATE

ArcheOpterix Architecture

AADL Model Parser : The principle responsibility of this element of the ArcheOpterix is to interpret and extract model abstractions from an AADL specification.

Architecture Analysis Module : Encompasses the abstraction of model parameters independently from the specification language and application domain. Architecture quality evaluation functions are represented by AttributeEvaluator modules. The Architecture Analysis Module may contain an arbitrary number of extensible AttributeEvaluators, where they communicate with the module using a generic Quality Evaluation Interface. The Constraint Validation Interface provides a plug-in point for modules called Constraint Evaluators that check a given architecture for a specific constraint in a given context.

Architecture Optimization Interface : The main contribution of ArcheOpterix is to enable the applicability sophisticated algorithms which are abstract and domain independent by nature, for the purpose of architecture optimization.