Reference Architecture for Cloud-Based Tools as a Service Workspace Completed

A few years ago we started an exciting and challenging project to design and implement a reference architecture for providing Tools as a Service (TaaS). That project was aimed at developing and evaluating an infrastructure that can host and provision tools for supporting engineering efforts in general and software engineering in particular. There is no doubt that the project turned out to be more challenging than we anticipated but I’m glad that one phase of that project has been successfully completed through Aufeef Chuahan’s PhD project. It is a great pleasure to state that Aufeef has successfully completed and submitted his PhD thesis for assessment – its a big achievement for him. We will be making the reference architecture and its implementation public very soon.

The research project was designed on the assertion that the service model generally characterized as something as a Service (*aaS). However, there can be several types of challenges when designing and provisioning software as services. Though, SaaS has been successful in providing stand-alone applications where users can perform a specific set of activities using an application, applicability of SaaS for scenarios where users need to use a number of software systems to perform activities and associated tasks is limited. A typical such use case is the activities associated with engineering domains in general and software engineering domain in particular.

Through Aufeef’s thesis we have developed a significant part of an infrastructure that would provide Tools as a service workSPACE (TSPACE), which is characterized as a bundled suite of Tools as a Service (TaaS) required to perform activities associated with a specific domain as part of a cloud-enabled workspace. The research project has taken an architecture centric approach to addressing the challenges involved in cloud-enabled TaaSs.

The main conclusions from the completed part of the research project are (a) as the nature of the tools used in a specific domain vary, the domain models of a specific domain play a vital role in design of the TSAPCE reference architecture for that domain (b) TSPACE reference architecture should have the capability to identify tools needs for the specific architecting tasks (and activities) and be able to bundle the needed tools in a suite of tools to provision TaaS, (c) as the nature of the tools vary in terms of the activities that are supported (e.g., specifying architecture significant requirements, capturing architecture knowledge and modeling architecture components), abstraction level of the artifacts that are produced and they way artifacts are exchanges among the tools, support for semantic and process centric integration among the tools plays a vital role in adaptation of the reference architecture, (d) the reference architecture should be flexible enough to accommodate a wide variety of the tools used in a domain and the operations that are performed on the artifacts in that domain.