Learn More
Aspects are behaviours that are tangled and scatteredacross a system. In requirements documentation, aspectsmanifest themselves as descriptions of behaviours that areintertwined, and woven throughout. Some aspects may beobvious, as specifications of typical crosscutting behaviour.Others may be more subtle, making them hard to identify. Ineither case, it is(More)
Requirements such as distribution or tracing have an impact on multiple classes in a system. They are <i>cross-cutting</i> requirements, or <i>aspects</i>. Their support is, by necessity, scattered across those multiple classes. A look at an individual class may also show support for cross-cutting requirements tangled up with the core responsibilities of(More)
In practice, object-oriented design models have been less useful throughout the lifetime of software systems than they should be. Design models are often large and monolithic, and the structure of the designs is generally quite different from that of requirements. As a result, developers tend to discard the design, especially as the system evolves, since it(More)
New and planned mobile Internet devices, such as Apple's iPhone and Motorola's Droid, have powerful processors and a variety of sensors that can be leveraged to build cyber-physical applications that collect sensor data from the real world and communicate it back to Internet services for processing and aggregation. This paper presents a sampling of key R&D(More)
—Current adaptation approaches mainly work in isolation and cannot be easily integrated to tackle complex adaptation scenarios. The few existing cross-layer adaptation techniques are somewhat inflexible because the adaptation process is predefined and static. In this paper we propose a methodology for the dynamic and flexible adaptation of multi-layer(More)