Halimeh Agh

Thesis Title: Model-Driven Approach for Software Process Line Engineering


Constructing bespoke software development processes according to the specifications of the project at hand has become a crucial issue, but defining a separate process for each potential project context is a time-consuming and costly endeavor. The Software Process Line (SPrL) is a concept similar to the Software Product Line (SPL), except that it belongs to the domain of software development process engineering; it allows software processes to be constructed according to a specific context by reusing core process assets. Tailoring a process line for constructing project-specific processes is time-consuming and error-prone if done manually; therefore, it is important that a high degree of automation is provided for performing process tailoring. This goal can be achieved by using the Model-Driven Development (MDD) approach for process line engineering. In MDD, models are considered as core concepts in analysis, design, documentation, deployment, and maintenance activities. By using the MDD approach for process line engineering, we can explicitly specify implicit tailoring knowledge in the form of tailoring transformations, and then automatically tailor the process line based on a specific project context.
Previous approaches proposed for model-driven process line engineering have certain deficiencies, namely: although the core process is an important part of a process line, many of the existing approaches lack a precise method for defining it; none of the approaches give proper attention to the quality of the software process practices selected throughout process tailoring; none of the approaches provide a method base for mapping project context attributes to practices; and none of the approaches provide the features that are considered essential in MDD, such as multi-level modeling. In this PhD thesis, we outline a specific idea for addressing the abovementioned deficiencies. The ultimate outcome will be a process for process line engineering that, by using the model-driven approach, will facilitate the automation of process line engineering activities, based on project situations and with special attention to the quality of the practices employed.
In order to assess the feasibility of the proposed research, some of its projected stages have been partially carried out. To be specific, the research efforts previously conducted in this context have been reviewed, and a framework has been proposed that determines the overall structure of the proposed process. In future stages, the activities specified in the framework will be defined in detail. The validity of the proposed process will be assessed based on special evaluation criteria, and also through a case study. The following novelties are expected to be achieved in this thesis: definition of a precise method for core process construction, quality enhancement of the core process by using software process improvement methods, definition of a method base for storing the core assets and mapping project context attributes to the core assets, and provision of a high degree of automation in the application engineering phase through the use of MDD (by defining modeling levels, and implementing rules for model transformation).

Research Interests:
  • Situational Method Engineering
  • Software Process Line
  • Patterns and Pattern-Oriented Development
  • Model-Driven Development Methods
  • Model Transformation Methods
  • Agile Methodologies
  • Object-Oriented Software Engineering

And In Some Manners:
  • Requirements Engineering
  • Database Management
  • Software Evolution


Contact Information

   Email: agh[at] ce [dot] sharif [dot] edu