Learn More
A software ecosystem is the interaction of a set of actors on top of a common technological platform that results in a number of software solutions or services. Arguably, software ecosystems are gaining importance with the advent of, e.g., the Google Android, Apache, and Salesforce.com ecosystems. However , there exists no systematic overview of the(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)
The Centre for Object Technology (COT) is a three year project concerned with research, application and implementation of object technology in Danish companies. The project is financially supported by The Danish National Centre for IT-Research (CIT) and the Danish Ministry of Industry. Modeling is important in object-oriented software development. Although(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)
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)
Modeling is central to doing and learning object-oriented development. We present a new tool, Ideogramic UML, for gesture-based collaborative modeling with the Unified Modeling Language (UML), which can be used to collaboratively teach and learn modeling. Furthermore, we discuss how we have effectively used Ideogramic UML to teach object-oriented modeling(More)
Web services are increasingly adopted as a service provision mechanism in pervasive computing environments. Implementing web services on networked, embedded devices raises a number of challenges, for example efficiency of web services, handling of variability and dependencies of hardware and software platforms, and of device state and context changes. To(More)
Safety-critical systems which are systems that may harm the environment they are operating in are commonplace. Standards and regulations for developing software for safety-critical systems usually require restricted programming languages and formal methods. For reasons of scale and for coping with the complexities of large systems it may be beneficial to(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)
Combining existing services to create new pervasive computing services involves special design considerations, including context awareness, contingency management, device heterogeneity, and user empowerment. Service composition is a natural concept around which to structure pervasive systems and individuate parts of them that are suitable for contingency(More)