Leveraging Activity Based Computing and Cloud Computing for Global Software Engineering

We have been working on exploring the use of activity based computing for guiding the design and development of next generation of tools for supporting software engineering in general and global software engineering in particular. At the same time, we have started work on leveraging cloud computing for the provision of such platforms and tools as a service. Recently, I gave two talks on this topic when I visited PNNL, Richland, Washington State, USA and Software Engineering Centre at Chalmers University of Technology in Gothenburg, Sweden. The slides of the talks are here: ActivityTheory-CloudComputing-GSE-pdf. The details on this work can be found in the papers that Paolo Tell, Aufeef Chauhan, and I have written. ABC4GSD is driven through Paolo Tell’s PhD research and Tool as a Service (TaaS) work is being carried out through Aufeef Chauhan’s PhD work. The abstract of my talk is here:

Global Software Development (GSD) has become an established paradigm of developing software. One of the most important prerequisites of successfully supporting GSD projects is the provision of appropriate tooling support. Several hundreds of tools have been developed to support GSD. However, a large majority of them are based on the principles of the desktop metaphor, which has well-known limitations. Moreover, variations in tools available/used by different GSD teams can also pose challenges. We assert that the Activity Theory and Cloud Computing can be leveraged to overcome many of the challenges characterized by the desktop metaphor and tools variations. The activity theory can provide the theoretical foundation for designing the next generation of GSD tools and cloud computing can provide the technological support for providing those Tool as a Service (TaaS) to address the tools variation challenges.

In this talk, I’ll describe how the fundamental concepts of the activity theory can be leveraged for building an activity-based tooling infrastructure for GSE. I’ll briefly touch upon some aspect of a proof-of-concept prototype infrastructure that we have been incrementally designing and building. Then I’ll highlight the potential benefits of making this kind of infrastructure and other tools available as TaaS. I’ll also present a set of architectural requirements for a cloud infrastructure for providing TaaS and a set of potential architectural solutions to achieve the key architectural requirements. Finally, I’ll share the future directions of our research for leveraging the activity-based computing and cloud computing for supporting GSE teams.