Department of Information and Computer Science
 



   

.: My research interests include:

  • Use Case Modeling
  • Software Requirements Engineering
  • Software Processes
  • Secure Requirements Engineering
  • Empirical Experimentation and Evaluation
  • Agile Methodologies
  • Model Transformation
  • Systematic Evaluation of The Cognitive Effectiveness of Visual Languages

 

.: I have funded projects and opportunities for research assistants:

Project 7: Modeling Security Aspects in UML Statecharts (#IN141010)

Model Driven Security has become an active area of research during the past decade. While many research works have contributed significantly to this objective by extending popular modeling notations to model security aspects, there is no modeling notation that allows its users the ability to model security aspects in systems or modules that have state dependent behavior. This proposed research will undertake a scientific approach to develop a new notational set that extends the UML (Unified Modeling Language) statecharts notation. An online industrial survey will be conducted to measure the perceptions of the new notation with respect to its semantic transparency as well as its coverage of modeling state based security aspects. The survey results will indicate if the new notation satisfies the expressiveness requirements of a state based security modeling language and was largely intuitive to use and understand provided very little training. A subject-based empirical evaluation using software engineering professionals will also be conducted to evaluate the cognitive effectiveness of the proposed notation.

Contact: Dr. Mohamed El-Attar

Project 8: Evaluating and Improving the Cognitive Effectiveness of Use Case Diagrams (#IN141011)

Use case modeling is a forefront technique to specify functional requirements for a system. Many research works related to use case modeling have been devoted to improving various aspects of use case modeling and its utilization in software development processes. One key aspect of use case models that has thus far been overlooked by the research community is the visual perception of use case diagrams by its readers. Any model is used to transfer a idea by a modeler to a model reader. Even if a use case diagram is constructed flawlessly, if it is misread or misinterpreted by its reader then the intrinsic purpose of modeling has failed. This proposed research will provide a two-fold contribution. Firstly, this research will present a scientific evaluation of the cognitive effectiveness of use case diagrams. The evaluation will be based on theory principles and empirical evidence mainly from the cognitive science field. Secondly, it will provide empirically validated improvements to the use case diagram notation that enhances its cognitive effectiveness. Empirical validation of the improvements will be drawn by conducting an industrial survey using business analyst professionals. Empirical validation will also be drawn by conducting an experiment using software engineering professionals as subjects.

Contact: Dr. Mohamed El-Attar

 

.: Completed projects:

Project 1: Migrating Functional Requirements to a More Formal Representation (#JF100008)

An essential quality aspect of Use Case (UC) models is their understandability and readability. Ambiguity and confusion caused by UC models may have severe consequences. These consequences occur since UC models affect every aspect of the development process. The fundamental purpose of UC models is to describe the interactions that a system has with its environment in order to allow its users to benefit from its services. The interactions are described in the UC descriptions. UC descriptions are most commonly presented in textual format. Interactions between the system and its actors (environment) form virtual workflows that are subsequently embedded within the UC descriptions. In order to improve the understandability and readability of UC models, it is important to clearly define the underlying workflows, removing any source of ambiguity and ensuring that all team members have a common and consistent understanding of these workflows. A technique named AGADUC have been previously proposed to represent these embedded workflows in the form of UML Activity Diagrams. The technique depends on a structure named SUCD. However, SUCD was proven to be too difficult to be used by its intended audience, the Business Analysts (BAs). In other related work, a simplified formal structure named SUCD have been previously proposed to ensure consistency in UC Diagrams. However, SSUCD lacks the required constructs and formality that will allow the embedded workflows to be extracted in the form of UML Activity Diagrams. In this research proposal, I plan to develop a semi-systematic to migrate functional requirements written in the SSUCD form to the SUCD form.

 

Project 2: Improving the Quality of Misuse Case Models (#IN100016)

Security is a vital requirement for many software systems. Without ensuring security, many software systems are deemed useless.  In recent years, misuse case modeling has shown to be a promising technique for eliciting security threats and requirements. Misuse case models allow system designers to inject security considerations within their designs early in the development cycle. This is potentially a much more effective approach to ensuring security than patching an end system with security mechanisms after it was developed. The notation and syntactical rules of misuse case models are relatively simple. However, this is not the case as misuse case modeling practitioners are highly vulnerable to modeling pitfalls, mistakes and oversights, creating defective misuse case models that can have catastrophic effects later on in the development cycle. The aim of this research project is to develop approaches that will improve quality in misuse case models based on antipatterns and authoring structure.

Project 3: A Hybrid Computational Framework for Software Development Effort Estimation   (#FT111007)

During the different phases of software development project, project managers are faced with many prediction problems such as early estimation of software development effort. Many estimation techniques have been proposed in the research community in order to build accurate estimation models for software engineering related estimation problems. However, none of the existing models proved to be suitable under all circumstances. We need to build estimation models that are reliable and provide high accuracy. Ensembles of hybrid computational intelligence models are candidates for this goal, which take advantages of standalone models capabilities. In this research, we will survey existing computational intelligence models and identify the most commonly used models, build different ensemble models from existing computational intelligence techniques, search for different datasets for software development effort estimation problems, study their characteristics, and empirically evaluate and compare the proposed computational intelligence models with respect to their estimations accuracy, estimations time, over other individual models.

Project 4: Juxtaposing with Antipatterns to Improve the Quality of BPEL Processes (#IN121015)

The Service Oriented Architecture is constantly increasing in popularity. Web services offer their users an efficient means to solicit and research publicly available services. A user maybe interested in acquiring the best deal on a particular service or a product from a number of competitors that offer that service or product. For example, a customer interested in purchasing a particular book will be interested in obtaining the best price from a number of book vendors. Alternatively, users can be interested in the collaboration of a number of web services to attain a higher level goal. For example, a user can be interested in a set of web services provided by couriers that can interact with each other to provide tracking and history details of a current shipment. BPEL has become the standard high-level language to define web services in a SOA. BPEL processes can be created to specify the invocation order of web services to achieve the desired goal. Using BPEL, a great deal of interaction information between web services and the BPEL process user can be specified, commonly known as defining a business process. Every BPEL business process has a purpose to achieve; this purpose is usually to provide a service to the process’s user. It is not necessary that the user must be human; the user of a business process can be another system. In any case, it is the responsibility of an E-commerce analyst to define BPEL business processes that provide the services that are in demand. However, “BPEL workflows” developed are vulnerable to mistakes and poor modeling designs by inexperienced modelers. In this research work we propose to the utilization of the antipatterns concept to improve the quality of the “BPEL workflows”. The main objective of this research project is to identify antipatterns for BPEL processes to improve the quality of web services deployed using the Service Oriented Architecture in Saudi Arabia.

 

Project 5: Embracing Robustness Analysis and Diagrams to Improve Software Development  (#IN111028)

Robustness analysis is a technique that can be performed to help ensure the correctness, completeness and consistency of use case and domain models. Robustness analysis also helps bridge the gap between the analysis and design phases by providing a guided approach to identify a first-guess set of objects that will realize scenarios described in use cases. The purpose of this research work is to embrace robustness analysis to improve other software developmental activities. In particular, we propose to use robustness analysis for early validation of functional security requirements by developing a comprehensive set of security acceptance tests. We also propose using robustness analysis to specify glue-code during the integration phase of a component based software development.

 

Project 6: GlobReq: A Framework for Improving Requirements Engineering in Global Software Development Projects  (#IN111030)

In global software development (GSD) a company (client) contracts out all or part of its software development activities to another company (vendor), who provides services for remuneration. GSD has been growing steadily and an 18-fold increase in the outsourcing of IT-enabled business processes is projected . However significant failure rates have also been reported in GSD projects. Although a variety of software development tasks are outsourced previous work suggests that most of the factors contributing to the failure of projects are related to requirements . This is not surprising given that the requirements engineering (RE) process has a huge impact on the effectiveness of all software development processes.

This project brings together the research team’s previous work on GSD and RE to develop a framework for the requirements engineering process of GSD projects (GlobReq). We will collect detailed empirical data from GSD organisations to construct and validate the GlobReq framework. Managers of GSD projects will be able to use GlobReq to plan a RE process suitable for a specific GSD project. Our framework could have a significantly positive impact on the high number of failures currently reported for GSD projects, the root cause of which is often related to requirements problems . As GSD is set to further increase the design and development of a GlobReq framework for GSD projects is indeed timely.

The work proposed will bring together and advance the work that has been undertaken on frameworks and models for RE. Our contribution to improving RE in GSD will provide other researchers with a firm basis on which to develop different requirements processes that are based on an understanding of how and where they fit into the GSD activities. New requirements processes could then be developed targeting GSD projects.

 


Web site contents © Copyright Dr. Mohamed El-Attar 2010, All rights reserved.
Website templates