Current Search: Orooji, Ali (x)
View All Items
- Title
- An adaptive integration architecture for software reuse.
- Creator
-
Williams, Denver Robert Edward, Orooji, Ali, Engineering and Computer Science
- Abstract / Description
-
University of Central Florida College of Engineering Thesis; The problem of building large, reliable software systems in a controlled, cost effective way, the so-called software crisis problem, is one of computer science's great challenges. From the very outset of computing as science, software reuse has been touted as a means to overcome the software crisis issue.
- Date Issued
- 2001
- Identifier
- CFR0000786, ucf:52928
- Format
- Document (PDF)
- PURL
- http://purl.flvc.org/ucf/fd/CFR0000786
- Title
- Automatic Scenario Generation using Procedural Modeling Techniques.
- Creator
-
Martin, Glenn, Hughes, Charles, Moshell, Jack, Fiore, Stephen, Orooji, Ali, University of Central Florida
- Abstract / Description
-
Training typically begins with a pre-existing scenario. The training exercise is performed and then an after action review is sometimes held. This (")training pipeline(") is repeated for each scenario that will be used that day. This approach is used routinely and often effectively, yet it has a number of aspects that can result in poor training. In particular, this process commonly has two associated events that are undesirable. First, scenarios are re-used over and over, which can reduce...
Show moreTraining typically begins with a pre-existing scenario. The training exercise is performed and then an after action review is sometimes held. This (")training pipeline(") is repeated for each scenario that will be used that day. This approach is used routinely and often effectively, yet it has a number of aspects that can result in poor training. In particular, this process commonly has two associated events that are undesirable. First, scenarios are re-used over and over, which can reduce their effectiveness in training. Second, additional responsibility is placed on the individual training facilitator in that the trainer must now track performance improvements between scenarios. Taking both together can result in a multiplicative degradation in effectiveness. Within any simulation training exercise, a scenario definition is the starting point. While these are, unfortunately, re-used and over-used, they can, in fact, be generated from scratch each time. Typically, scenarios include the entire configuration for the simulators such as entities used, time of day, weather effects, entity starting locations and, where applicable, munitions effects. In addition, a background story (exercise briefing) is given to the trainees. The leader often then develops a mission plan that is shared with the trainee group. Given all of these issues, scientists began to explore more purposeful, targeted training. Rather than an ad-hoc creation of a simulation experience, there was an increased focus on the content of the experience and its effects on training. Previous work in scenario generation, interactive storytelling and computational approaches, while providing a good foundation, fall short on addressing the need for adaptive, automatic scenario generation. This dissertation addresses this need by building up a conceptual model to represent scenarios, mapping that conceptual model to a computational model, and then applying a newer procedural modeling technique, known as Functional L-systems, to create scenarios given a training objective, scenario complexity level desired, and sets of baseline and vignette scenario facets.A software package, known as PYTHAGORAS, was built and is presented that incorporates all these contributions into an actual tool for creating scenarios (both manual and automatic approaches are included). This package is then evaluated by subject matter experts in a scenario-based (")Turing Test(") of sorts where both system-generated scenarios and human-generated scenarios are evaluated by independent reviewers. The results are presented from various angles.Finally, a review of how such a tool can affect the training pipeline is included. In addition, a number of areas into which scenario generation can be expanded are reviewed. These focus on additional elements of both the training environment (e.g., buildings, interiors, etc.) and the training process (e.g., scenario write-ups, etc.).
Show less - Date Issued
- 2012
- Identifier
- CFE0004265, ucf:49525
- Format
- Document (PDF)
- PURL
- http://purl.flvc.org/ucf/fd/CFE0004265
- Title
- The Design, Implementation, and Refinement of Wait-Free Algorithms and Containers.
- Creator
-
Feldman, Steven, Dechev, Damian, Heinrich, Mark, Orooji, Ali, Mucciolo, Eduardo, University of Central Florida
- Abstract / Description
-
My research has been on the development of concurrent algorithms for shared memory systems that provide guarantees of progress.Research into such algorithms is important to developers implementing applications on mission critical and time sensitive systems.These guarantees of progress provide safety properties and freedom from many hazards, such as dead-lock, live-lock, and thread starvation.In addition to the safety concerns, the fine-grained synchronization used in implementing these...
Show moreMy research has been on the development of concurrent algorithms for shared memory systems that provide guarantees of progress.Research into such algorithms is important to developers implementing applications on mission critical and time sensitive systems.These guarantees of progress provide safety properties and freedom from many hazards, such as dead-lock, live-lock, and thread starvation.In addition to the safety concerns, the fine-grained synchronization used in implementing these algorithms promises to provide scalable performance in massively parallel systems.My research has resulted in the development of wait-free versions of the stack, hash map, ring buffer, vector, and a multi-word compare-and-swap algorithms.Through this experience, I have learned and developed new techniques and methodologies for implementing non-blocking and wait-free algorithms.I have worked with and refined existing techniques to improve their practicality and applicability.In the creation of the aforementioned algorithms, I have developed an association model for use with descriptor-based operations.This model, originally developed for the multi-word compare-and-swap algorithm, has been applied to the design of the vector and ring buffer algorithms.To unify these algorithms and techniques, I have released Tervel, a wait-free library of common algorithms and containers.This library includes a framework that simplifies and improves the design of non-blocking algorithms.I have reimplemented several algorithms using this framework and the resulting implementation exhibits less code duplication and fewer perceivable states.When reimplementing algorithms, I have adapted their Application Programming Interface (API) specification to remove ambiguity and non-deterministic behavior found when using a sequential API in a concurrent environment.To improve the performance of my algorithm implementations, I extended OVIS's Lightweight Distributed Metric Service (LDMS)'s data collection and transport system to support performance monitoring using perf_event and PAPI libraries.These libraries have provided me with deeper insights into the behavior of my algorithms, and I was able to use these insights to improve the design and performance of my algorithms.
Show less - Date Issued
- 2015
- Identifier
- CFE0005946, ucf:50813
- Format
- Document (PDF)
- PURL
- http://purl.flvc.org/ucf/fd/CFE0005946
- Title
- Efficient and Scalable Evaluation of Continuous, Spatio-temporal Queries in Mobile Computing Environments.
- Creator
-
Cazalas, Jonathan, Guha, Ratan, Bassiouni, Mostafa, Orooji, Ali, Al-Deek, Haitham, University of Central Florida
- Abstract / Description
-
A variety of research exists for the processing of continuous queries in large, mobile environments. Each method tries, in its own way, to address the computational bottleneck of constantly processing so many queries. For this research, we present a two-pronged approach at addressing this problem. Firstly, we introduce an efficient and scalable system for monitoring traditional, continuous queries by leveraging the parallel processing capability of the Graphics Processing Unit. We examine a...
Show moreA variety of research exists for the processing of continuous queries in large, mobile environments. Each method tries, in its own way, to address the computational bottleneck of constantly processing so many queries. For this research, we present a two-pronged approach at addressing this problem. Firstly, we introduce an efficient and scalable system for monitoring traditional, continuous queries by leveraging the parallel processing capability of the Graphics Processing Unit. We examine a naive CPU-based solution for continuous range-monitoring queries, and we then extend this system using the GPU. Additionally, with mobile communication devices becoming commodity, location-based services will become ubiquitous. To cope with the very high intensity of location-based queries, we propose a view oriented approach of the location database, thereby reducing computation costs by exploiting computation sharing amongst queries requiring the same view. Our studies show that by exploiting the parallel processing power of the GPU, we are able to significantly scale the number of mobile objects, while maintaining an acceptable level of performance.Our second approach was to view this research problem as one belonging to the domain of data streams. Several works have convincingly argued that the two research fields of spatio-temporal data streams and the management of moving objects can naturally come together. [IlMI10, ChFr03, MoXA04] For example, the output of a GPS receiver, monitoring the position of a mobile object, is viewed as a data stream of location updates. This data stream of location updates, along with those from the plausibly many other mobile objects, is received at a centralized server, which processes the streams upon arrival, effectively updating the answers to the currently active queries in real time.For this second approach, we present GEDS, a scalable, Graphics Processing Unit (GPU)-based framework for the evaluation of continuous spatio-temporal queries over spatio-temporal data streams. Specifically, GEDS employs the computation sharing and parallel processing paradigms to deliver scalability in the evaluation of continuous, spatio-temporal range queries and continuous, spatio-temporal kNN queries. The GEDS framework utilizes the parallel processing capability of the GPU, a stream processor by trade, to handle the computation required in this application. Experimental evaluation shows promising performance and shows the scalability and efficacy of GEDS in spatio-temporal data streaming environments. Additional performance studies demonstrate that, even in light of the costs associated with memory transfers, the parallel processing power provided by GEDS clearly counters and outweighs any associated costs.Finally, in an effort to move beyond the analysis of specific algorithms over the GEDS framework, we take a broader approach in our analysis of GPU computing. What algorithms are appropriate for the GPU? What types of applications can benefit from the parallel and stream processing power of the GPU? And can we identify a class of algorithms that are best suited for GPU computing? To answer these questions, we develop an abstract performance model, detailing the relationship between the CPU and the GPU. From this model, we are able to extrapolate a list of attributes common to successful GPU-based applications, thereby providing insight into which algorithms and applications are best suited for the GPU and also providing an estimated theoretical speedup for said GPU-based applications.
Show less - Date Issued
- 2012
- Identifier
- CFE0004222, ucf:49012
- Format
- Document (PDF)
- PURL
- http://purl.flvc.org/ucf/fd/CFE0004222
- Title
- Novel Computational Methods for Integrated Circuit Reverse Engineering.
- Creator
-
Meade, Travis, Zhang, Shaojie, Jin, Yier, Orooji, Ali, Zou, Changchun, Lin, Mingjie, University of Central Florida
- Abstract / Description
-
Production of Integrated Circuits (ICs) has been largely strengthened by globalization. System-on-chip providers are capable of utilizing many different providers which can be responsible for a single task. This horizontal structure drastically improves to time-to-market and reduces manufacturing cost. However, untrust of oversea foundries threatens to dismantle the complex economic model currently in place. Many Intellectual Property (IP) consumers become concerned over what potentially...
Show moreProduction of Integrated Circuits (ICs) has been largely strengthened by globalization. System-on-chip providers are capable of utilizing many different providers which can be responsible for a single task. This horizontal structure drastically improves to time-to-market and reduces manufacturing cost. However, untrust of oversea foundries threatens to dismantle the complex economic model currently in place. Many Intellectual Property (IP) consumers become concerned over what potentially malicious or unspecified logic might reside within their application. This logic which is inserted with the intention of causing harm to a consumer has been referred to as a Hardware Trojan (HT).To help IP consumers, researchers have looked into methods for finding HTs. Such methods tend to rely on high-level information relating to the circuit, which might not be accessible. There is a high possibility that IP is delivered in the gate or layout level. Some services and image processing methods can be leveraged to convert layout level information to gate-level, but such formats are incompatible with detection schemes that require hardware description language.By leveraging standard graph and dynamic programming algorithms a set of tools is developed that can help bridge the gap between gate-level netlist access and HT detection. To help in this endeavor this dissertation focuses on several problems associated with reverse engineering ICs. Logic signal identification is used to find malicious signals, and logic desynthesis is used to extract high level details.Each of the proposed method have their results analyzed for accuracy and runtime. It is found that method for finding logic tends to be the most difficult task, in part due to the degree of heuristic's inaccuracy. With minor improvements moderate sized ICs could have their high-level function recovered within minutes, which would allow for a trained eye or automated methods to more easily detect discrepancies within a circuit's design.
Show less - Date Issued
- 2017
- Identifier
- CFE0006896, ucf:51716
- Format
- Document (PDF)
- PURL
- http://purl.flvc.org/ucf/fd/CFE0006896
- Title
- Detecting Semantic Method Clones in Java Code using Method IOE-Behavior.
- Creator
-
Elva, Rochelle, Leavens, Gary, Johnson, Mark, Orooji, Ali, Hughes, Charles, University of Central Florida
- Abstract / Description
-
The determination of semantic equivalence is an undecidable problem; however, this dissertation shows that a reasonable approximation can be obtained using a combination of static and dynamic analysis. This study investigates the detection of functional duplicates, referred to as semantic method clones (SMCs), in Java code. My algorithm extends the input-output notion of observable behavior, used in related work [1, 2], to include the effects of the method. The latter property refers to the...
Show moreThe determination of semantic equivalence is an undecidable problem; however, this dissertation shows that a reasonable approximation can be obtained using a combination of static and dynamic analysis. This study investigates the detection of functional duplicates, referred to as semantic method clones (SMCs), in Java code. My algorithm extends the input-output notion of observable behavior, used in related work [1, 2], to include the effects of the method. The latter property refers to the persistent changes to the heap, brought about by the execution of the method. To differentiate this from the typical input-output behavior used by other researchers, I have coined the term method IOE-Behavior; which means its input-output and effects behavior [3]. Two methods are defined as semantic method clones, if they have identical IOE-Behavior; that is, for the same inputs (actual parameters and initial heap state), they produce the same output (that is result- for non-void methods, and final heap state).The detection process consists of two static pre-filters used to identify candidate clone sets. This is followed by dynamic tests that actually run the candidate methods, to determine semantic equivalence. The first filter groups the methods by type. The second filter refines the output of the first, grouping methods by their effects. This algorithm is implemented in my tool JSCTracker, used to automate the SMC detection process. The algorithm and tool are validated using a case study comprising of 12 open source Java projects, from different application domains and ranging in size from 2 KLOC (thousand lines of code) to 300 KLOC. The objectives of the case study are posed as 4 research questions:1. Can method IOE-Behavior be used in SMC detection?2. What is the impact of the use of the pre-filters on the efficiency of the algorithm?3. How does the performance of method IOE-Behavior compare to using only input-output for identifying SMCs?4. How reliable are the results obtained when method IOE-Behavior is used in SMC detection? Responses to these questions are obtained by checking each software sample with JSCTracker and analyzing the results.The number of SMCs detected range from 0 45 with an average execution time of 8.5 seconds. The use of the two pre-filters reduces the number of methods that reach the dynamic test phase, by an average of 34%. The IOE-Behavior approach takes an average of 0.010 seconds per method while the input-output approach takes an average of 0.015 seconds. The former also identifies an average of 32% false positives, while the SMCs identified using input-output, have an average of 92% false positives. In terms of reliability, the IOE-Behavior method produces results with precision values of an average of 68% and recall value of 76% on average.These reliability values represent an improvement of over 37% (for precision) of the values in related work [4]. Thus, it is my conclusion that IOE-Behavior can be used to detect SMCs in Java code with reasonable reliability.
Show less - Date Issued
- 2013
- Identifier
- CFE0004835, ucf:49689
- Format
- Document (PDF)
- PURL
- http://purl.flvc.org/ucf/fd/CFE0004835