Learn More
In this paper, we describe Kimura, an augmented office environment to support common multitasking practices. Previous systems, such as Rooms, limit users by constraining the interaction to the desktop monitor. In Kimura, we leverage interactive projected peripheral displays to support the perusal, manipulation and awareness of background activities.(More)
Modeling is important in object-oriented software development. Although a number of Computer Aided Software Engineering (CASE) tools are available, and even though some are technically advanced, few developers use them. This paper describes our attempt to examine the requirements needed to provide tool support for the development process, and describes and(More)
The health of a software ecosystem is an indication of how well the ecosystem is functioning. The measurement of health can point to issues that need to be addressed in the ecosystem and areas for the ecosystem to improve. However, the software ecosystem field lacks an applicable way to measure and evaluate health. In this work, we review the literature(More)
We detail the notion of architectural scripting (ASL) as a way to model the dynamic aspects of runtime and deployment-time software architecture. This is complementary to the ability of architecture description languages to model architectures statically in that we define scripting operations to modify architectures at runtime. The scripting operations have(More)
This paper describes experience obtained through a joint project between a university research group and a shipping company in developing a prototype for a global customer service system. The research group had no previous knowledge of the complex business of shipping, but succeeded in developing a prototype that more than fulfilled the expectations of the(More)
A major part of software architecture design is learning how specific architectural designs balance the concerns of stakeholders. We explore the notion of " architectural prototypes " , correspondingly architectural prototyping, as a means of using executable prototypes to investigate stake-holders' concerns with respect to a system under development. An(More)
Planning (for example choosing most suitable services for self-configuration) is one important task in self-management for pervasive service computing, and can be reduced to the problem of multi-objective services selection with constraints. Genetic algorithms (GAs) are effective in solving such multi-objective optimization problems, and are one of the most(More)