Papers by Mohamed Dahchour
2022 9th International Conference on Future Internet of Things and Cloud (FiCloud)
Proceedings of the 19th International Conference on Enterprise Information Systems
Business Process Management and Notation (BPMN) is the defacto standard used in enterprises for m... more Business Process Management and Notation (BPMN) is the defacto standard used in enterprises for modeling business processes.However, this standard was not provided with a formal semantics, which makes the possibility of analysis limited to informal approaches such as observation. While most of the existing formal approaches for BPMN models verification focus on the control-flow, only few has treated the data-flow angle. The latter is important since the correct execution of activities in BPMN models is based on data's availability and correctness. In this paper, we present a new approach that uses the DataRecord concept, adapted for the BPMN standard. The main advantage of our approach is that it locates the stage where the data flow anomaly has taken place as well as the source of data flow problem. Therefore the designer can easily correct the data flow anomaly.The model's data flow problems are detected using an algorithm specific for the BPMN standard.
Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering, 2018
In a multi-tenant architecture of a Software as a Service (SaaS) application, one single instance... more In a multi-tenant architecture of a Software as a Service (SaaS) application, one single instance is shared among different tenants. However, this architectural style supports only the commonalities among tenants and does not cope with the variations and the specific context of each tenant. These variations concern either functional or non-functional properties. In this paper, we deal with non-functional variability in SaaS services in order to support the different quality levels that a service may have. For that purpose, we propose an approach that considers Service Level Agreements (SLAs) as Families in terms of Software Product Line Engineering. We define two metamodels: NFVariability metamodel and VariableSLA metamodel. The first one models and captures variability in quality attributes of services. The second one models a dynamic and variable SLA. Model-to-model transformations are performed to transform Feature Model (NFVariability metamodel instance) to Generic SLA (VariableSLA instance) in order to dynamically deal with the tenant-specific nonfunctional requirements.
2021 IEEE/ACS 18th International Conference on Computer Systems and Applications (AICCSA), 2021
Building software using a microservice architecture is a means that gives more options to scale u... more Building software using a microservice architecture is a means that gives more options to scale up applications, deploy them independently and limit their "blast radius" of failure. Microservices tend to solve the complexity and the increasing development problems by applying the functional decomposition principle. This main feature can become a point of weakness in the absence of a fully credible splitting mechanism. One of the main adopted approaches to design services and deal with the boundary identification concern is the Domain Driven Design (DDD). In this paper, we aim to study the efficiency of this approach. We intend to give software architects a full understanding of its capabilities and main limits to be aware of the potential resulting anti-patterns. To this end, we use graph theory to experiment and analyze a reference example, implementing many microservices good practices and patterns. The obtained results show whether if we can rely only on the DDD principles to decompose microservices, or not.
2018 IEEE 5th International Congress on Information Science and Technology (CiSt), 2018
Building UML models in a collaborative way can give rise to several inconsistencies. Fixing these... more Building UML models in a collaborative way can give rise to several inconsistencies. Fixing these inconsistencies is the ultimate purpose considered in the inconsistency management process after detecting and diagnosing them. In this paper, we focus on laying the foundation for solutions aiming to help collaborative modelers choosing the right repair action that fit their modeling objectives and strategies. To this end, we use the AHP (Analytic Hierarchy Process) technique for organizing and analyzing the modelers' decisions. Ultimately, it is up to the software designers to take the appropriate action to fix the detected inconsistency.
Les associations generiques jouent un role important dans la modelisation conceptuelle. Les assoc... more Les associations generiques jouent un role important dans la modelisation conceptuelle. Les associations generiques les plus utilisees sont association, specialisation/generalisation, classification/instantiation et agregation/decomposition. D’autres associations generiques ont ete identifiees dans la litterature, telle role-of qui permet de representer les aspects dynamiques des objets. Ces aspects dynamiques ne peuvent pas etre correctement modelises ni par les associations generiques offertes par UML ni par son propre concept de roles relatifs aux diagrammes de collaborations. Pour combler cette lacune, le present travail propose une extension d’UML par l’association role-of. De nouvelles metaclasses et regles OCL sont ajoutees au metamodele de base d’UML pour capturer la semantique des roles.
Int. J. Comput. Sci. Appl., 2015
MDE (Model Driven Engineering) is an emerging software engineering paradigm that relies on models... more MDE (Model Driven Engineering) is an emerging software engineering paradigm that relies on models as primary artifacts to build complex software and hardware systems. It basically aims at overcoming the inability of third-generation languages to alleviate the complexity of platforms and express domain concepts effectively. One particular vision of MDE was proposed by OMG (Object Management Group) under the name of MDA (Model Driven Architecture). MDA consists of a set of standardized rules and practices to promote good modeling and fully exploit the models in order to gain in sustainability, consideration of execution platforms and productivity. To achieve these objectives, the models to be used within an MDA approach should be consistent (i.e., complete, free of ambiguities, free of contradictions and anomalies, etc.). In this paper, we identify and describe possible inconsistencies that can be encountered in UML models while applying MDA, propose a new taxonomy for such inconsiste...
International Journal of Cloud Applications and Computing, 2019
The multi-tenancy architecture allows software-as-a-service applications to serve multiple tenant... more The multi-tenancy architecture allows software-as-a-service applications to serve multiple tenants with a single instance. This is beneficial as it leverages economies of scale. However, it does not cope with the specificities of each tenant and their variability; notably, the variability induced in the required quality levels that differ from a tenant to another. Hence, sharing one single instance hampers the fulfillment of these quality levels for all the tenants and leads to service level agreement violations. In this context, this article proposes a policy-driven middleware that configures the service according to the non-functional requirements of the tenants. The adopted approach combines software product lines engineering and model driven engineering principles. It spans the quality attributes lifecycle, from documenting them to annotating the service components with them as policies, and it enables dynamic configuration according to service level agreements terms of the tena...
Journal of Computer Science, 2018
Nowadays, managing and allocating resources to the project portfolio is one of the most critical ... more Nowadays, managing and allocating resources to the project portfolio is one of the most critical decision-making processes in projectoriented organizations. To achieve the most value in terms of profitability, these companies should consider taking advantage of ongoing projects and optimal management of their resources allocated to the most optimal project portfolio. Project Portfolio Selection (PPS) and resource allocation are critical problems in project portfolio based companies. These organizations are required to evaluate, prioritize and select their projects in accordance with the strategic and operational mission and objectives. In this study, we propose a three-stage hybrid approach for prioritizing and selecting an optimal project portfolio. We obtain the maximum economic contribution (maximum fitness) between the final PPS and the projects initial prioritizing while considering various organizational criteria and objectives. The proposed approach is composed of three stages with several steps. We use information entropy for the initial prioritizing, the branch and bound algorithm for generating combination of project portfolios and Integer Linear Programming (ILP) for selecting the most suitable project portfolio according to strategic and operational objectives. At the end, a case study is used to demonstrate the applicability and the merits of the proposed approach.
Journal of Software, 2017
Software systems are often modeled as a set of related UML diagrams. Due to the overlapping multi... more Software systems are often modeled as a set of related UML diagrams. Due to the overlapping multi-view nature of UML and due to the incremental and iterative nature of the used software development process, these diagrams might contain inconsistencies. Thus, it is of utmost importance to detect, analyze and fix these inconsistencies before implementing the system. In this paper, we elaborate a transverse view of the aforementioned activities. More explicitly, this work proposes a Systematic Literature Review (SLR) that evaluates the existing techniques for managing inconsistencies using different research questions. The ultimate objective of this review is to come up with new recommendations that should be taken into consideration when conceiving a new proposal for checking inconsistencies.
2016 11th International Conference on Intelligent Systems: Theories and Applications (SITA), 2016
Process models describe graphically, events, activities, control flow and dataflow logic that con... more Process models describe graphically, events, activities, control flow and dataflow logic that constitute a business process. Nevertheless most graphical modeling notations required by organization stakeholders such as BPMN, are not provided with a formal semantics, limiting the possibility of analysis to informal approaches such as observation techniques. While most of the existing formal approaches for BPMN models verification focus on the control-flow, very few has treated the Business rules verification angle. In this paper, we present a new approach that uses the Business Rule Language (BRL) which helps us express several common types of business rules that could be verified by a DFS algorithm adapted for the BPMN standard. The proposed approach has been implemented as an Eclipse plugin called, “BPMN Process Analysis”.
Lecture Notes in Electrical Engineering, 2016
In multi-agent systems, agents often interact with each others to achieves their own goals. In op... more In multi-agent systems, agents often interact with each others to achieves their own goals. In open dynamic systems, trust between agents become a critical challenge to make such interactions effective. Many trust models have been proposed to formalise this concept. These models are such good for dealing with trust by proposing components that present a computational form of this concept and a learning strategies to manage it. Components and learning strategies differs from one model to another. This diversity may influence the decision of a user about the best trust model to use in his system. A comparative study is needed to evaluate each trust model and to show the prediction quality of each one. Several testbeds for the evaluation of trust models have been proposed. However, those testbeds are not flexible enough to handle different scenarios in various contexts. In this paper we formulate a practical method based on a framework that introduce the trust concept into open distributed systems, and a testbed that can be used to evaluate trust models in different contexts.
2016 International Conference on Information Technology for Organizations Development (IT4OD), 2016
Project Portfolio Management (PPM) is considered in the decision process's companies and orga... more Project Portfolio Management (PPM) is considered in the decision process's companies and organizations, as a way of managing endogenous hazards (poor management, technical problems, human problems ... etc.) and exogenous (evolution market, organizational change, etc. ...). The PPM is the heart of the company's economic performance. This explains the key role of PPM in developing the investment budget. The selected portfolio must consume the resources necessary for the implementation of projects that constitute it. These resources have become increasingly limited. Project prioritization becomes necessary to execute projects that will generate maximum revenues to the company. Thus, project prioritization process, however, have many limitations. On one hand, these processes are complex and are characterized by achieving multiple objectives, conflicting and difficult to measure. Furthermore, they are subject to many constraints from the inaccuracy of the data used in the estimation cycle, until the uncertainty on the values used in the analysis. Moreover, the information available to decision makers, to build these processes is often incomplete. A valid formal process to all organizations does not exist. The objective of this article is to propose a project portfolio prioritization process that takes into account the strategic and operational alignment of the organization.
Journal of Computing and Information Technology, 2016
Business processes are usually defined by business experts who require intuitive and informal gra... more Business processes are usually defined by business experts who require intuitive and informal graphical notations such as BPMN (Business Process Management Notation) for documenting and communicating their organization activities and behavior. However, BPMN has not been provided with a formal semantics, which limits the analysis of BPMN models to using solely informal techniques such as simulation. In order to address this limitation and use formal verification, it is necessary to define a certain "mapping" between BPMN and a formal language such as Concurrent Sequential Processes (CSP) and Petri Nets (PN). This paper proposes a method for the verification of BPMN models by defining formal semantics of BPMN in terms of a mapping to Time Petri Nets (TPN), which are equipped with very efficient analytical techniques. After the translation of BPMN models to TPN, verification is done to ensure that some functional properties are satisfied by the model under investigation, namely liveness and reachability properties. The main advantage of our approach over existing ones is that it takes into account the time components in modeling Business process models. An example is used throughout the paper to illustrate the proposed method.
2015 International Conference on Cloud Technologies and Applications (CloudTech), 2015
The Cloud Computing paradigm has enabled the multi-tenancy architectural approach in Cloud applic... more The Cloud Computing paradigm has enabled the multi-tenancy architectural approach in Cloud applications. In a multi-tenant application, one single instance is shared by many tenants (users). Since each client has its own and particular requirements and context, that are exposed to change in time, the process of realizing customizable and adaptable services becomes complex and difficult to handle. Handling variability has been subject of many research works in the domain of Service Oriented Computing, while less interest was given to variability in Cloud services. Therefore, managing variability in Cloud applications can take benefit from related works in service-oriented computing. In this paper, we present an overview of variability management in Cloud applications, in order to assess the pertinence of the different approaches proposed to tackle this issue.
ass and a class which "fills in" parameters . More specific semantics for relationships... more ass and a class which "fills in" parameters . More specific semantics for relationships are directly supported neither by syntax nor by semantics . Relationships can only be represented indirectly, in terms of other constructs of the models Ex.: Bidirectional Relationship Implementation class Employee { friend Department; char * SSN; Department * employer; public: Employee(char* aSSN); ~Employee(); void join_dept Department *); } class Department { friend Employee; char * name; Set<Employee *> employs; public: Department(char* aName); ~Department(); void add_employee(Employee *); void delete_employee(Employee *); } . Relationship implemented by two attributes (employer from each Employee to a Department and employs from each Department to a set of Employees) Manuel Kolp - 2001 Semantic Relationships 5 Relationships: Problems in languages and systems . Duplication of information . Dispersion of the relationship knowledge . Too early decisions in the de
Lecture Notes in Computer Science, 2002
The role generic relationship for conceptual modeling relates a class of objects (e.g., persons) ... more The role generic relationship for conceptual modeling relates a class of objects (e.g., persons) and classes of roles (e.g., students, employees) for those objects. The relationship is meant to capture temporal aspects of real-world objects while the common generalization relationship deals with their more static aspects. This paper presents a generic role model, where the semantics of roles is defined at both the class and the instance levels. The paper also discusses the interaction between the role relationship and generalization, and it attempts to clarify some of their similarities and differences.
Lecture Notes in Computer Science, 2005
Lecture Notes in Computer Science, 1998
Materialization is a powerful and ubiquitous abstraction pattern for conceptual modeling. Intuiti... more Materialization is a powerful and ubiquitous abstraction pattern for conceptual modeling. Intuitively, it relates a class of categories (e.g., models of cars) and a class of more concrete objects (e.g., individual cars). This paper formalizes the semantics of materialization using the metaclass approach of the TELOS data model. Formulas can be uniformly attached to classes, metaclasses, and meta-attributes to enforce integrity constraints and deductive rules relevant to materialization semantics. The paper also proposes some suggestions for extending TELOS to capture some materialization semantics which cannot be represented with the available constructs.
Uploads
Papers by Mohamed Dahchour