Emerson Loureiro

Learn More
Many works related to the verification of software systems using model checking integrated to development environments have been proposed. JPF [7] and Bandera [1] are examples of such works that abstract the model to be verified from the Java code. An alternative way for JPF and Bandera approaches is to provide mechanisms for describing the model during the(More)
Resource pools are collections of computational resources (e.g., servers) which can be used by different applications in a shared way. A crucial aspect in these pools is to allocate resources so as to ensure their proper usage, taking into account workload and specific requirements of each application. An interesting approach, in this context, is to(More)
Shared resource pools are facilities featuring a certain amount of resources which can be used by different applications. For managing resources in such pools, the demand of each application can be used. Such a demand, however, is driven by the workload, which varies over time. For that reason, adaptive approaches have been proposed for the management of(More)
Resource pools are collections of computational resources which can be shared by different applications. The goal with that is to accommodate the workload of each application, by splitting the total amount of resources in the pool among them. In this sense, utility functions have been pointed as the main tool for enabling self-optimizing behaviour in such(More)
Data Centers usually host different third party applications, each of them possibly having different requirements in terms of QoS. To achieve them, sufficient resources, like CPU and memory, must be allocated to each application. However, workload fluctuations might arise, and so, resource demands will vary. Allocations based on worst/average case scenarios(More)
The vision of pervasive or ubiquitous computing, conceived by Mark Weiser, foresees a world where computing is embedded in every day objects. Such objects interact with each other to perform actions on behalf of the user. As one of the mains of pervasive computing is to disappear from human perception, applications embedded in electronic devices must be(More)
In this chapter, we introduce the key ideas related to the paradigm of pervasive computing. We discuss its concepts, challenges, and current solutions by dividing it into four research areas. Such division is how we were able to understand what really is involved in pervasive computing at different levels. Our intent is to provide readers with introductory(More)