21 research outputs found

    Toward Refactoring of DMARF and GIPSY Case Studies -- a Team 12 SOEN6471-S14 Project Report

    Full text link
    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

    Towards Refactoring of DMARF and GIPSY Case Studies -- A Team 5 SOEN6471-S14 Project Report

    Full text link
    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

    Toward Refactoring of DMARF and GIPSY Case Studies -- a Team 9 SOEN6471-S14 Project Report

    Full text link
    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 DMARF and GIPSY OSS

    Full text link
    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

    Towards Refactoring of DMARF and GIPSY Case Studies -- a Team 8 SOEN6471-S14 Project Report

    Full text link
    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

    Full text link
    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

    Full text link
    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

    DMARF AND GIPSY High Level Architecture and Requirements Analysis

    Full text link
    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

    On Design and Implementation of the Distributed Modular Audio Recognition Framework: Requirements and Specification Design Document

    Full text link
    We present the requirements and design specification of the open-source Distributed Modular Audio Recognition Framework (DMARF), a distributed extension of MARF. The distributed version aggregates a number of distributed technologies (e.g. Java RMI, CORBA, Web Services) in a pluggable and modular model along with the provision of advanced distributed systems algorithms. We outline the associated challenges incurred during the design and implementation as well as overall specification of the project and its advantages and limitations.Comment: 53 pages, 8 figures, 2 tables. A 2006 report on software design and implementation of Distributed MARF, which is a distributed extension of classical MARF documented at arXiv:0905.1235 . Parts are to appear at the CISSE'08 conference (Springer). The content of the document and code are open-source and released at http://marf.sf.net ; v2 adds missing .ind fil

    Managing Distributed MARF with SNMP

    Full text link
    The scope of this project's work focuses on the research and prototyping of the extension of the Distributed MARF such that its services can be managed through the most popular management protocol familiarly, SNMP. The rationale behind SNMP vs. MARF's proprietary management protocols, is that can be integrated with the use of common network service and device management, so the administrators can manage MARF nodes via a already familiar protocol, as well as monitor their performance, gather statistics, set desired configuration, etc. perhaps using the same management tools they've been using for other network devices and application servers.Comment: 39 pages, 16 figures, TOC, index. A large portion of this report has been published at PDPTA'08. This 2007 report is a successor of the original DMARF work documented at arXiv:0905.2459 ; v2 adds missing .ind file for the inde
    corecore