Vahdat Abdelzad
University of Ottawa
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Vahdat Abdelzad.
leveraging applications of formal methods | 2016
Timothy C. Lethbridge; Vahdat Abdelzad; Mahmoud Husseini Orabi; Ahmed Husseini Orabi; Opeyemi Adesina
We discuss how Umple merges modeling and programming by adding modeling constructs to programming languages and vice-versa. Umple has what we call model-code duality; we show how it fulfills key attributes of being both a programming language and a modeling technology. Umple also has what we call text-diagram duality in that the model or code can be updated by editing the textual or diagram form. We give an example of Umple, and explain how key benefits of textual programming languages are found in Umple, as are important features of modeling technology.
Software and Systems Modeling | 2017
Vahdat Abdelzad; Timothy C. Lethbridge
Traits, as sets of behaviors, can provide a good mechanism for reusability. However, they are limited in important ways and are not present in widely used programming and modeling languages and hence are not readily available for use by mainstream developers. In this paper, we add UML associations and other modeling concepts to traits and apply them to Java and C++ through model-driven development. We also extend traits with required interfaces so dependencies at the semantics level become part of their usage, rather than simple syntactic capture. All this is accomplished in Umple, a textual modeling language based upon UML that allows adding programming constructs to the model. We applied the work to two case studies. The results show that we can promote traits to the modeling level along with the improvement in flexibility and reusability.
Proceedings of the 17th International SDL Forum on SDL 2015: Model-Driven Engineering for Smart Cities - Volume 9369 | 2015
Vahdat Abdelzad; Daniel Amyot; Timothy C. Lethbridge
A modelling language usually has an abstract syntax e.g., expressed with a metamodel separate from its concrete syntax. The question explored in this paper is: how easy is it to add a textual concrete syntax to an existing language that offers only a concrete graphical syntax? To answer this question, this paper reports on lessons learned during the creation of a textual syntax supported by an editor and transformation tool for the Goal-oriented Requirement Language GRL, which is part of the User Requirements Notation standard. Our experiment shows that although current technologies help create textual modelling languages efficiently with feature-rich editors, there are important conflicts between the reuse of existing metamodels and the usability of the resulting textual syntax that require attention.
Archive | 2018
Omar Badreddin; Wahab Hamou-Lhadj; Vahdat Abdelzad; Rahad Khandoker; Maged Elassar
The Open source ecosystem creates new pathways for participation and collaboration from a broad and diverse community of developers. As a software system grows, the need to capture its design, often through models, becomes important in order to boost communication and collaboration. In this paper, we report on a study that assesses the open source community’s adoption of modeling as a way to capture design and enable collaboration among development teams. The study includes a search of open source repositories to identify modeling artifacts, a survey, a questionnaire, and a set of interviews with open source contributors. Our findings show that there is a low number of modeling artifacts that are included in open source project repositories. However, the survey, the questionnaire, and the interviews suggest that capturing design in models is much more common than what can be inferred by searching the repositories alone. These models are created through collaborations, but often are not shared in the open source repositories. This is due to many factors including the lack of incentives to share modeling artifacts beyond the immediate circle of collaborators and limited collaboration support in modeling tools.
Computer Languages, Systems & Structures | 2018
Opeyemi Adesina; Timothy C. Lethbridge; Stéphane S. Somé; Vahdat Abdelzad; Alvine Boaye Belle
Abstract In this paper, we present an approach to formally encode state machines expressed in Umple for symbolic verification. We illustrate this with a real-world modeling example that encodes and analyzes and-cross transitions. This paper discusses a formal description of our approach to represent state machine systems under analysis (SSUAs); a systematic approach to certifying that SSUAs are deterministic; and an evaluation of performance (memory usage and execution time) on the case study. Method We describe a formalization of state machines in Umple that enables their translation to model checking tools and also to code that is consistent with this. We present three alternative modeling solutions for a sample problem and a solution based on the use of and-cross transitions. State machine models corresponding to these solutions are represented in Umple, a model-oriented programming language. These are automatically transformed to SMV, the input language of the nuXmv (or NuSMV) model checker. By cleanly separating concerns, we systematically integrate components of hierarchical state systems as opposed to the traditional flattening approach, yet manage the complexity introduced by concurrency and and-crossing. We then compose and verify a set of requirements (e.g., correctness, safety, liveliness, etc.) on the resulting systems of all the modeling approaches to empirically compare the different modeling alternatives with the use of and-cross transitions. Results We can encode and formally analyse complex state machines with and-cross transition(s). We observed a large reduction in the number of required transitions for encoding the SSUA, as opposed to the alternative approaches. We asserted that solutions derived from the approaches are identical behavior-wise even though each approach models the SSUA differently. Each of the approaches yielded the same result for potentially conflicting pairs which is a false positive (i.e., the SSUAs are deterministic). We observe that each approach maintains the same global state-space irrespective of the variations in their number of transitions. Furthermore, we observe that it is untrue that a more abstract method applied to an SSUA outperforms its less abstract counterpart whenever parameters (such as execution time, memory usage and the number of Binary Decision Diagrams - BDDs) are the factors under consideration. Contributions A systematic approach to encode state machines with and-cross transitions (including unusual transitions). An enhanced but fully automated approach to discovering nondeterminism in state machines even in the presence of unbounded domains and multiple and-cross transitions within the same enclosing orthogonal state. An empirical study of the impact of abstraction on some performance parameters. We also present an extended formalization of Umple state machines.
Archive | 2017
Miroslav Stevanovic; Hassan Elnajjar; Neeraj R. Gautama; Opeyemi Adesina; Vahdat Abdelzad
iStar | 2015
Vahdat Abdelzad; Daniel Amyot; Sanaa A. Alwidian; Timothy C. Lethbridge
GEMOC@MoDELS | 2016
Omar Bahy Badreddin; Vahdat Abdelzad; Timothy C. Lethbridge; Maged Elaasar
2016 IEEE/ACM 5th International Workshop on Theory-Oriented Software Engineering (TOSE) | 2016
Vahdat Abdelzad; Timothy C. Lethbridge; Mahmood Hosseini
DS@MoDELS | 2015
Vahdat Abdelzad