Skip to main content
Jameleddine Hassine
    Goal-oriented approaches to requirements engineering have gained momentum with the development of many frameworks, methods , and tools. As stakeholders' needs evolve, goal models evolve quickly and undergo many changes in order to... more
    Goal-oriented approaches to requirements engineering have gained momentum with the development of many frameworks, methods , and tools. As stakeholders' needs evolve, goal models evolve quickly and undergo many changes in order to accommodate the rapid changes of stakeholders' goals, technologies, and business environments. Therefore , there is a need for mechanisms to identify and analyze the impact of changes in goal models. In this paper, we propose a Change Impact Analysis (CIA) approach to Goal-oriented Requirements Language (GRL), part of ITU-T's User Requirement Notation (URN) standard. Given a suggested modification within a given GRL model, our approach allows for the identification of all impacted GRL elements within the targeted model as well as across all GRL models that are linked to it through URN links. Furthermore, the proposed approach allows for the identification of the potentially impacted GRL evaluation strategies. The developed GRL-based CIA approach is implemented as a feature within the Eclipse-based jUCMNav framework. We demonstrate the applicability of our approach using two real-world GRL specifications.
    Download (.pdf)
    There exist several tools for analyzing traces generated from HPC (High Performance Computing) applications, used by software engineers for debugging and other maintenance tasks. These tools, however, use different formats to represent... more
    There exist several tools for analyzing traces generated from HPC (High Performance Computing) applications, used by software engineers for debugging and other maintenance tasks. These tools, however, use different formats to represent HPC traces, which hinders interoperability and data exchange. At the present time, there is no standard metamodel that represents HPC trace concepts and their relations. In this paper, we argue that the lack of a common metamodel is a serious impediment for effective analysis for this class of software systems. We aim to fill this void by presenting MTF2 (MPI Trace Format2)-a metamodel for representing HPC system traces. MTF2 is built with expressiveness and scalability in mind. Scalability, an important requirement when working with large traces, is achieved by adopting graph theory concepts to compact large traces. We show through a case study that a trace represented in MTF2 can be in average 49% smaller than a trace represented in a format that does not consider compaction.
    Research Interests:
    Download (.pdf)
    Download (.pdf)
    Research Interests:
    Download (.pdf)
    There exist several tools for analyzing traces generated from HPC (High Performance Computing) applications, used by software engineers for debugging and other maintenance tasks. These tools, however, use different formats to represent... more
    There exist several tools for analyzing traces generated from HPC (High Performance Computing) applications, used by software engineers for debugging and other maintenance tasks. These tools, however, use different formats to represent HPC traces, which hinders interoperability and data exchange. At the present time, there is no standard metamodel that represents HPC trace concepts and their relations. In this paper, we argue that the lack of a common metamodel is a serious impediment for effective analysis for this class of software systems. We aim to fill this void by presenting MTF2 (MPI Trace Format2)—a metamodel for representing HPC system traces. MTF2 is built with expressiveness and scalability in mind. Scalability, an important requirement when working with large traces, is achieved by adopting graph theory concepts to compact large traces. We show through a case study that a trace represented in MTF2 can be in average 49% smaller than a trace represented in a format that do...
    Research Interests:
    Download (.pdf)
    Although there exists a significant body of research in the area of formal verification and model checking tools of software and hardware systems, there has only a limited industry and end-user acceptance of these tools. Beside the... more
    Although there exists a significant body of research in the area of formal verification and model checking tools of software and hardware systems, there has only a limited industry and end-user acceptance of these tools. Beside the technical problem of state space explosion, one of the main reasons for this limited acceptance is the unfamiliarity of users with the required specification notation. Requirements have to be typically expressed as temporal logic formalisms and notations. Property specification patterns were successfully introduced to bridge this gap between users and model checking tools. They enable also non-experts to write formal specifications that can be used for automatic model checking. In this paper, we propose an abstract high level pattern-based approach to the description of property specifications based on Use Case Maps (UCM). We present a set of commonly used properties with their specifications that are described in terms of occurrence, ordering and tempora...
    ABSTRACT One significant problem requirements engineers have to cope with is the management of unclear requirements, ambiguities, and conflicts that may arise between stakeholders. Such issues may be desirable since they may allow for... more
    ABSTRACT One significant problem requirements engineers have to cope with is the management of unclear requirements, ambiguities, and conflicts that may arise between stakeholders. Such issues may be desirable since they may allow for further elicitation of requirements that would have been missed otherwise. Goal models capture the objectives and other intentions of different stakeholders, together with their relationships. They can be used to refine unclear requirements and to detect conflicts and ambiguities early during model validation. However, resolving such ambiguities and conflicts is key for the successful implementation of the goal models. In this paper, we propose a novel approach to validate models in the Goal-oriented Requirement Language and resolve conflicts between the perspectives of intervening stakeholders (and especially between stakeholders of a given group). Our approach is based on a statistical analysis of empirical data that we collect from surveys designed for each group of stakeholders. We apply concept analysis in order to fix goal-model artifacts that are subject to conflict. We illustrate our approach using a case study of a goal model describing the involvement of undergraduate students in university research activities.
    Abstract Changing customer needs and computer technology are the driving factors influencing software evolution. There is a need to assess the impact of these changes on existing software systems. Requirement specification is gaining... more
    Abstract Changing customer needs and computer technology are the driving factors influencing software evolution. There is a need to assess the impact of these changes on existing software systems. Requirement specification is gaining increasingly attention as a ...
    Download (.pdf)
    Download (.pdf)
    Download (.pdf)
    Scenario-driven requirement specifications are widely used to capture and represent functional requirements. Use Case Maps (UCM) is being standardized as part of the User Requirements Notation (URN), the most recent addition to ITU–T’s... more
    Scenario-driven requirement specifications are widely used to capture and represent functional requirements. Use Case Maps (UCM) is being standardized as part of the User Requirements Notation (URN), the most recent addition to ITU–T’s family of languages. UCM models allow the description of functional requirements and high-level designs at early stages of the development process. Recognizing the importance of having a well defined semantic, we propose, in this paper, a concise and rigorous formal semantics for Use Case Maps (UCM). The proposed formal semantics addresses UCM’s operational semantics and covers the key language functional constructs. These semantics are defined in terms of Multi-Agent Abstract State Machines that describes how UCM specifications are executed and eliminates ambiguities hidden in the informal language definition. The resulting operational semantics are embedded in an ASM-UCM simulation engine and are expressed in AsmL, an advanced ASM-based executable specification language. The proposed ASM-UCM engine provides an environment for executing and simulating UCM specifications. We illustrate our approach using an example of a simplified call connection.
    ABSTRACT Goal models represent interests, intentions, and strategies of different stakeholders. Reasoning about the goals of a system unavoidably involves the transformation of unclear stakeholder requirements into goal-oriented models.... more
    ABSTRACT Goal models represent interests, intentions, and strategies of different stakeholders. Reasoning about the goals of a system unavoidably involves the transformation of unclear stakeholder requirements into goal-oriented models. The ability to validate goal models would support the early detection of unclear requirements, ambiguities, and conflicts. In this paper, we propose a novel validation approach based on the Goal-oriented Requirement Language (GRL) to check the correctness of GRL goal models through statistical analyses of data collected from generated questionnaires. System stakeholders (e.g., customers, shareholders, and managers) may have different objectives, interests, and priorities. Stakeholder conflicts arise when the needs of some group of stakeholder compromise the expectations of some other group(s) of stakeholders. Our proposed approach allows for early detection of potential conflicts amongst intervening stakeholders of the system. In order to illustrate and demonstrate the feasibility of the approach, we apply it to a case study of a GRL model describing the fostering of the relationship between the university and its alumni. The approach brings unique benefits over the state of the art and is complementary to existing validation approaches.
    Download (.pdf)
    Download (.pdf)
    Download (.pdf)
    ABSTRACT Faults in model transformations will result in defective models, and eventually defective code. Correction of defects at the code level is considered very late and is often expensive. Uncorrected defects in the models will... more
    ABSTRACT Faults in model transformations will result in defective models, and eventually defective code. Correction of defects at the code level is considered very late and is often expensive. Uncorrected defects in the models will propagate to other artifacts; thus, adversely affecting the quality of the end product. Moreover, defect propagation may result in a system that does not meet the stakeholders' requirements. Therefore, model transformations must be thoroughly tested to maintain product quality, while keeping development cost at reasonable levels. Existing literature on model transformation verification and validation has considered coverage based techniques. Mutation testing is a popular technique that has been extensively studied in the literature, and shown to perform better than coverage based techniques. To support the mutation testing of model transformations, this paper proposes a suite of mutation operators for the Atlas Transformation language (ATL). The effectiveness of the proposed operators is evaluated using a model transformation program, implemented in ATL, to transform Use Case Maps models to UML Activity Diagrams. The results show that the proposed operators can successfully detect inadequacies in an example test suite.
    Download (.pdf)
    Download (.pdf)
    Research Interests:
    Download (.pdf)
    Download (.pdf)
    Download (.pdf)
    Download (.pdf)