Mohammad El-Ramly
University of Alberta
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Mohammad El-Ramly.
automated software engineering | 2003
Eleni Stroulia; Mohammad El-Ramly; Paul Iglinski; Paul G. Sorenson
Legacy systems constitute valuable assets to the organizations that own them, and today, there is an increased demand to make them accessible through the World Wide Web to support e-commerce activities. As a result, the problem of legacy-interface migration is becoming very important. In the context of the CELLEST project, we have developed a new process for migrating legacy user interfaces to web-accessible platforms. Instead of analyzing the application code to extract a model of its structure, the CELLEST process analyzes traces of the system-user interaction to model the behavior of the applications user interface. The produced state-transition model specifies the unique legacy-interface screens (as states) and the possible commands leading from one screen to another (as transitions between the states). The interface screens are identified as clusters of similar-in-appearance snapshots in the recorded trace. Next, the syntax of each transition command is extracted as the pattern shared by all the transition instances found in the trace. This user-interface model is used as the basis for constructing models of the tasks performed by the legacy-application users; these task models are subsequently used to develop new web-accessible interface front ends for executing these tasks. In this paper, we discuss the CELLEST method for reverse engineering a state-transition model of the legacy interface, we illustrate it with examples, we discuss the results of our experimentation with it, and we discuss how this model can be used to support the development of new interface front ends.
software engineering and knowledge engineering | 2002
Mohammad El-Ramly; Eleni Stroulia; Paul G. Sorenson
As software systems age, the requirements that motivated their original development get lost. Requirements documentation is unavailable or obsolete. Recapturing these requirements is critical for software reengineering activities. In our CelLEST process we adopt a data-mining approach to this problem and attempt to discover patterns of frequent similar episodes in the sequential run-time traces of the legacy user-interface behavior. These patterns constitute operational models of the applications functional requirements, from the end-user perspective. We have developed an algorithm, IPM, for interaction-pattern discovery. This algorithm discovers patterns that meet a user-specified criterion and is robust to insertion errors, caused by user mistakes or by the availability of alternative scenarios for the same user task. In this paper, we discuss IPM and we evaluate it with a case study.
working conference on reverse engineering | 2001
Mohammad El-Ramly; Paul Iglinski; Eleni Stroulia; Paul G. Sorenson; Bruce Matichuk
It is generally the case that some user interface (UI) reverse engineering is needed for every non-trivial reengineering project. Typically, this is done through code analysis, which can be very difficult and/or expensive. When code analysis is not a must, as for wrapping purposes, system-user interaction can be an alternative input for the reverse engineering process. In the CelLEST project, we have developed a prototype, called LeNDI (Legacy Navigation Domain Identifier), to test this idea. LeNDI records traces of the legacy screen snapshots and user actions, while the user interacts with the legacy system. Then, it extracts a set of features for every snapshot and employs artificial intelligence methods to build a model of the legacy UI, called the state-transition graph. LeNDI uses two clustering methods to group similar snapshots together as one system screen modeled by one node on the graph. LeNDI uses the user actions recorded in traces to model the behavior of the legacy screens as the graph arcs. Evaluation results of this process are encouraging. The state-transition graph is used to classify each individual snapshot forwarded by the legacy system to the user while he interacts with it and is a main input to the forward engineering phase of the project.
workshop on program comprehension | 2002
Mohammad El-Ramly; Eleni Stroulia; Paul G. Sorenson
While code understanding is the primary program comprehension activity, it is quite challenging to recognize the application requirements from code, since they have usually been occluded by a set of layers of later implementation decisions. An alternative source of evidence, especially valuable for understanding the purposes for which the application was built, can be the dynamic behavior of the system, and more specifically the system-user interaction. We have developed a method for modeling the application behavior from the users perspective in the form of use case models, using recorded traces of system-user interaction. We use data mining and pattern matching methods to mine these traces for frequently occurring user tasks. When interesting patterns are discovered, they are augmented with semantic information and they are used to build use case models. We demonstrate a successful application of this method to recover use case models from interaction traces with legacy 3270 systems to serve user interface reengineering activities.
international conference on software engineering | 2000
Eleni Stroulia; Mohammad El-Ramly; Paul G. Sorenson; Roland Penner
Most research on legacy user interface migration has adopted code understanding as the means for system modeling and reverse engineering. The methodological assumption underlying the CELLEST project is that the purpose of system migration is to enable, and possibly optimize, its current uses on a new platform. This is why CELLEST uses traces of the system-user interaction to reverse engineer the legacy interface, extract its current uses and generate GUIs on new platforms as wrappers for it.
working conference on reverse engineering | 1999
Eleni Stroulia; Mohammad El-Ramly; Lanyan Kong; Paul G. Sorenson; Bruce Matichuk
knowledge discovery and data mining | 2002
Mohammad El-Ramly; Eleni Stroulia; Paul G. Sorenson
international conference on software maintenance | 2002
Eleni Stroulia; Mohammad El-Ramly; Paul G. Sorenson
Journal of Software Maintenance and Evolution: Research and Practice | 2004
Mohammad El-Ramly; Eleni Stroulia
international workshop on web site evolution | 2002
Nan Niu; Eleni Stroulia; Mohammad El-Ramly