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)
The Internet of Things (IoT) envisages a future in which digital and physical things or objects (e.g., smartphones, TVs, cars) can be connected by means of suitable information and communication technologies, to enable a range of applications and services. The IoT's characteristics, including an ultra-large-scale network of things, device and network level(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)