The well-known Separation of Concerns Principle has been revisited by recent research, suggesting to go beyond the limits of traditional modularization. This has led to the definition of an orthogonal, invasive composition relationship, which can be used all along the software development process, taking several different forms. The object-like entity known as aspect is the best known among them, but in the most general case it can be defined as a new kind of structure. Software Architecture must be able to describe such a structure. Moreover, as most ADLs have a formal foundation, this can be used to provide an adequate formalization for the aspectual composition relationship, which is still under discussion. In this paper, we propose to base this architecture-level definition in the concept of superimposition, integrating the resulting framework into the processalgebraic, dynamic ADL named PiLar. This language has a reflective design, which allows us to define that extension without redefining the semantics; in addition, the extended syntax can be used to avoid the use of reflective notions. Nevertheless, the language must provide the means to define general patterns to guide the weaving. Such patterns must not only identify locations in the architecture, but also the adequate states of the corresponding process structure. Therefore, we suggest to use temporal logic, specifically the μ-calculus, as the quantification mechanism. To illustrate this approach, we expose a case study in which all these ideas are used, and conclude by discussing how the combination of temporal logic and aspect superimposition, in this context, provides also an alternative way to describe architectural dynamism. This research has been partially financed by the Spanish Ministry of Education and Science under Projects MCYT-TIC2003-07804-C05-01 (DYNAMICA) and MCYT-TIC2003-09268.
Development of mobile applications is a complex task due to the specific characteristics of the environment. Although different proposals to offer more practical and systematic processes have been published within the so-called mobile software engineering, it is still necessary to devise more advanced methods, especially in the area of software quality assurance. This chapter presents a set of practices to support quality control by developers based on the adoption of methods from traditional software engineering focused on effective requirements specification and associated methods for generating practical testing procedures.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.