17 research outputs found
Toward Refactoring of DMARF and GIPSY Case Studies -- a Team 12 SOEN6471-S14 Project Report
The main significance of this document is two source systems namely GIPSY and
DMARF. Intensional languages are required like GIPSY for absoluteness and
forward practical investigations on the subject.DMARF mainly focuses on
software architectural design and implementation on Distributed Audio
recognition and its applications such as speaker identification which can run
distributively on web services architecture. This mainly highlights security
aspects in a distributed system, the Java data security framework (JDSF) in
DMARF. ASSL (Autonomic System Specification Language) frame work is used to
integrate a self-optimizing property for DMARF. GIPSY mainly depends on
Higher-Order Intensional Logic (HOIL) and reflects three main goals Generality,
Adaptability and Efficiency.Comment: 35 page
DMARF AND GIPSY High Level Architecture and Requirements Analysis
In the current scenario, many organizations invest on open-source systems
which are becoming popular and result in rapid growth, where in many of them
have not met the quality standards which resulted in need for assessing
quality. Initially we represent our work by analyzing the two open source case
studies which are (1) Distributed Modular Audio Recognition Framework (DMARF)
is an open-source framework which consists of Natural Language Processing (NLP)
implemented using Java which facilitates extensibility by adding new
algorithms, (2) General Intensional Programming System (GIPSY) is a platform
designed to support intensional programming languages which are built using
intensional logic and their imperative counter-parts for the intensional
execution model. During this background study we identified few metrics which
are used to assess the quality characteristics of a software product defined by
ISO standards. Among the metrics, we identified the number of the java classes
and methods using SonarQube. Followed by that, the actors and stakeholders have
been categorized and focused on the evolution of fully dressed use cases.
Besides, we analyzed the requirements and compiled the conceptual UML domain
model diagrams with the responsibilities and relationships based on the
functionalities, which leads to the creation of the class diagrams. Later the
analysis and interpretation of results has been done using the metric tools to
verify results which have been implemented and to identify the code smells
accordingly. Finally the implication is towards performing the system level
refactoring by applying appropriate refactoring methods to enhance the quality
and performance of the open source systems. Besides, the respective test cases
have been portrayed to ensure that there is not much behavioral change with the
existing architecture.Comment: 59 page
Towards Refactoring of DMARF and GIPSY Case Studies -- A Team 5 SOEN6471-S14 Project Report
This paper presents an analysis of the architectural design of two
distributed open source systems (OSS) developed in Java: Distributed Modular
Audio Recognition Framework (DMARF) and General Intensional Programming System
(GIPSY). The research starts with a background study of these frameworks to
determine their overall architectures. Afterwards, we identify the actors and
stakeholders and draft a domain model for each framework. Next, we evaluated
and proposed a fused DMARF over GIPSY Run-time Architecture (DoGRTA) as a
domain concept. Later on, the team extracted and studied the actual class
diagrams and determined classes of interest. Next, we identified design
patterns that were present within the code of each framework. Finally, code
smells in the source code were detected using popular tools and a selected
number of those identified smells were refactored using established techniques
and implemented in the final source code. Tests were written and ran prior and
after the refactoring to check for any behavioral changes.Comment: 46 page
Towards Refactoring DMARF and GIPSY OSS
We present here an exploratory and investigatory study of the requirements,
design, and implementation of two opensource software systems: the Distributed
Modular Audio Recognition Framework (DMARF), and the General Intensional
Programming System (GIPSY). The inception, development, and evolution of the
two systems have overlapped and in terms of the involved developers, as well as
in their applications. DMARF is a platform independent collection of algorithms
for pattern recognition, identification and signal processing in audio and
natural language text samples, become a rich platform for the research
community in particular to use, test, and compare various algorithms in the
broad field of pattern recognition and machine learning. Intended as a platform
for intensional programming, GIPSY's inception was intended to push the field
of intensional programming further, overcoming limitations in the available
tools two decades ago. In this study, we present background research into the
two systems and elaborate on their motivations and the requirements that drove
and shaped their design and implementation. We subsequently elaborate in more
depth about various aspects their architectural design, including the
elucidation of some use cases, domain models, and the overall class diagram of
the major components. Moreover, we investigated existing design patterns in
both systems and provided a detailed view of the involved components in such
patterns. Furthermore, we delve deeper into the guts of both systems,
identifying code smells and suggesting possible refactorings. Patchsets of
implementations of selected refactorings have been collected into patchsets and
could be committed into future releases of the two systems, pending a review
and approval of the developers and maintainers of DMARF and GIPSY.Comment: Team 6, SOEN6471 Summer 2014; 67 page
Toward Refactoring of DMARF and GIPSY Case Studies -- a Team 9 SOEN6471-S14 Project Report
Software architecture consists of series of decisions taken to give a
structural solution that meets all the technical and operational requirements.
The paper involves code refactoring. Code refactoring is a process of changing
the internal structure of the code without altering its external behavior. This
paper focuses over open source systems experimental studies that are DMARF and
GIPSY. We have gone through various research papers and analyzed their
architectures. Refactoring improves understandability, maintainability,
extensibility of the code. Code smells were identified through various tools
such as JDeodorant, Logiscope, and CodePro. Reverse engineering of DMARF and
GIPSY were done for understanding the system. Tool used for this was Object Aid
UML. For better understanding use cases, domain model, design class diagram are
built.Comment: 29 page
Towards Refactoring of DMARF and GIPSY Case Studies -- a Team 8 SOEN6471-S14 Project Report
Of the factors that determines the quality of a software system is its design
and architecture. Having a good and clear design and architecture allows the
system to evolve (plan and add new features), be easier to comprehend, easier
to develop, easier to maintain; and in conclusion increase the life time of
the, and being more competitive in its market. In the following paper we study
the architecture of two different systems: GIPSY and DMARF. This paper provides
a general overview of these two systems. What are these two systems, purpose,
architecture, and their design patterns? Classes with week architecture and
design, and code smells were also identified and some refactorings were
suggested and implemented. Several tools were used throughout the paper for
several purpose. LOGICSCOPE, JDeodoant, McCabe were used to identify classes
with weak designs and code smells. Other tools and plugins were also used to
identify class designs and relationships between classes such as ObjectAid
(Eclipse plugin).Comment: 53 page
Toward Refactoring of DMARF and GIPSY Case Studies -- a Team 4 SOEN6471-S14 Project Report
Software Quality is a major concern in software engineering development in
order to be competitive. Such a quality can be achieved by a possible technique
called Refactoring where the systems external behavior of the system is not
changed. Initially we present our work by analyzing the case studies of ongoing
researches of DMARF and GIPSY by understanding their needs and requirements
involving the major components in their respective systems. Later sections
illustrate the conceptual architecture of these case studies, for this we have
referenced the original architecture to draw the important candidate concepts
presented in the system, and analyzing their associations with other concepts
in the system and then compared this conceptual architecture with the original
architectures. Later the document throws light on identifying the code smells
exist in the architectures to find them and resolve to minimize the deeper
problems. JDeodorant, SonarQube are the tools which we go across for
identification and analyzing the source code quality, both these tools are
available as an IDE plugin or as an open source platforms. Next is to identify
the design patterns exist in the architectures along with their importance and
need for existence in respective systems. Finally, the implication is towards
introducing refactoring methods onto the smells which have been identified and
possibly refactor them accordingly by applying appropriate refactoring methods
and showcasing the respective tests to ensure that changes in the architecture
does not change the behavior much.Comment: 54 pages, 53 figure
Toward Refactoring of DMARF and GIPSY Case Studies -- a Team 10 SOEN6471-S14 Project Report
The intent of this report is to do a background study of the two given OSS
case study systems namely GIPSY and DMARF. It is a wide research area in which
different studies are being carried out to get the most out of it. It begins
with a formal introduction of the two systems and advance with the complex
architecture of both. GIPSY (General Intensional Programming System) is a
multi-intensional programming system that delivers as a framework for compiling
and executing programs written in Lucid Programming Languages. DMARF
(Distributed Modular Audio Recognition Framework) is a Java based research
platform that acts as a library in applications. As these systems are in their
evolving phase and a lot of research is being done upon these topics, it gives
us motivation to be a part of this research to get a deeper look into the
architectures of both the systems. For the evaluation of quality of metrics of
the two open source systems, we have used a tool namely Logiscope. It is a tool
to automate the code reviews by providing information based on software metrics
and graphs.Comment: 40 page
Toward Refactoring of DMARF and GIPSY Case Studies -- A Team XI SOEN6471-S14 Project Report
This report focuses on improving the internal structure of the Distributed
Modular Audio recognition Framework (DMARF) and the General Intensional
Programming System (GIPSY) case studies without affecting their original
behavior. At first, the general principles, and the working of DMARF and GIPSY
are understood by mainly stressing on the architecture of the systems by
looking at their frameworks and running them in the Eclipse environment. To
improve the quality of the structure of the code, a furtherance of
understanding of the architecture of the case studies and this is achieved by
analyzing the design patterns present in the code. The improvement is done by
the identification and removal of code smells in the code of the case studies.
Code smells are identified by analyzing the source code by using Logiscope and
JDeodorant. Some refactoring techniques are suggested, out of which the best
suited ones are implemented to improve the code. Finally, Test cases are
implemented to check if the behavior of the code has changed or not.Comment: 84 pages, 69 figures, 7 table
Case Study Of GIPSY and MARF
Metrics are used mainly to predict software engineering efforts such as
maintenance effort, error Prone ness, and error rate. This document emphasis on
experimental study based on two open source systems namely MARF and GIPSY. With
the help of various research papers we were able to analyze and give priorities
to various metrics that are implemented with JDeodrant. LOGISCOPE and McCabe
tools are used to identify problematic classes with help of Kiviat graph and
average Cyclomatic Complexity that further are implemented with highest
priority metric with JDeodrant. To obtain accurate results we collected data
using different tools. The analysis of the two systems is done as a conclusion
of study using different tools.Comment: 46 page