Abstract
Software that cannot evolve is condemned to atrophy: it cannot accommodate the constant revision and re-negotiation of its business goals nor intercept the potential of new technology. To accommodate change in software systems we have defined an active software architecture to be: dynamic in that the structure and cardinality of the components and interactions are changeable during execution; updatable in that components can be replaced; decomposable in that an executing system may be (partially) stopped and split up into its components and interactions; and reflective in that the specification of components and interactions may be evolved during execution. Here we describe the facilities of the ArchWare architecture description language (ADL) for specifying active architectures. The contribution of the work is the unique combination of concepts including: a pi-calculus based communication and expression language for specifying executable architectures; hyper-code as an underlying representation of system execution that can be used for introspection; a decomposition operator to incrementally break up executing systems; and structural reflection for creating new components and binding them into running systems.
Original language | English |
---|---|
Title of host publication | 4th Working IEEE/IFIP Conference on Software Architecture (WICSA'04) |
Place of Publication | Los Alamitos |
Publisher | IEEE Computer Society |
Pages | 69-78 |
ISBN (Print) | 0-7695-2172-X |
DOIs | |
Publication status | Published - 2004 |
Event | 4th Working IEEE/IFIP Conference on Software Architecture (WICSA-4) - Oslo, Norway Duration: 12 Jun 2004 → 15 Jun 2004 |
Conference
Conference | 4th Working IEEE/IFIP Conference on Software Architecture (WICSA-4) |
---|---|
Country/Territory | Norway |
City | Oslo |
Period | 12/06/04 → 15/06/04 |
Keywords
- cs.SE