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.
💡 Research Summary
The paper presents a comprehensive quality‑focused analysis of two open‑source Java frameworks: the Distributed Modular Audio Recognition Framework (DMARF) and the General Intensional Programming System (GIPSY). Both systems address distinct domains—DMARF provides a modular pipeline for natural‑language and speech‑recognition tasks, while GIPSY offers a runtime environment for intensional programming languages based on intensional logic. The authors begin by outlining the high‑level architectures of each system. DMARF’s architecture consists of independent services for audio preprocessing, feature extraction, classification, and pipeline orchestration, communicating via RMI or CORBA to enable distributed deployment and easy extensibility. GIPSY’s architecture is layered, comprising the General Intensional Programming Compiler (GIPC), the General Eduction Engine (GEE), and a set of distributed execution tiers (Demand Generator Tier, Demand Store Tier, Demand Worker Tier) that together support “eductive” evaluation of multidimensional contexts.
To assess quality, the study adopts the ISO/IEC 25010 quality model and employs SonarQube for static analysis. Metrics collected include the number of classes, methods, cyclomatic complexity, duplicated lines, and identified code smells. DMARF contains roughly 420 classes and 3,800 methods, with an average cyclomatic complexity of 12.4, indicating relatively high procedural intricacy and tight coupling among pipeline stages. GIPSY comprises about 310 classes and 2,950 methods, with an average complexity of 9.8; however, the intensional runtime exhibits duplicated metadata handling code, suggesting refactoring opportunities.
Stakeholder analysis identifies developers, end‑users (speech‑recognition service consumers and intensional‑language programmers), maintenance teams, and the broader open‑source community. Fully‑dressed use cases are derived, emphasizing scenarios such as “add new algorithm to DMARF,” “scale out GIPSY nodes,” and “execute real‑time intensional streams.” From these use cases, a conceptual UML domain model is constructed. Core DMARF entities include AudioSample, FeatureExtractor, Classifier, Pipeline, and Node, while GIPSY’s domain features IntentionalValue, Context, Demand, Tier, Worker, and GEE. Responsibility analysis reveals violations of the Single‑Responsibility Principle: DMARF’s Pipeline class aggregates multiple concerns, and GIPSY’s Demand creation logic is scattered across several classes.
Based on the diagnostic findings, the authors propose concrete refactoring strategies. For DMARF, they recommend extracting the algorithm‑selection logic into a Strategy pattern, defining a common PipelineStage interface, and applying Extract Method to high‑complexity routines. Duplicated code is consolidated using the Template Method pattern, and dependency injection is introduced to reduce tight coupling. For GIPSY, a Factory pattern encapsulates Demand instantiation, while an Observer pattern decouples the Demand Generator Tier (DGT) from the Demand Worker Tier (DWT), improving asynchronous communication and scalability. The paper also outlines a CI pipeline that integrates SonarQube and JaCoCo to continuously monitor metric changes and test coverage during refactoring.
Empirical validation is performed through regression test suites and performance profiling before and after refactoring. Post‑refactoring results show a 15 % reduction in average cyclomatic complexity, a drop of duplicated code to below 20 % of the codebase, and an increase in test coverage to over 85 %. These improvements translate into lower maintenance effort, enhanced extensibility, and more predictable performance when adding new algorithms or scaling distributed nodes.
In conclusion, the study demonstrates a systematic methodology for evaluating and improving the architectural and code quality of open‑source systems. By combining ISO‑based quality metrics, stakeholder‑driven use‑case modeling, UML domain analysis, and targeted refactoring patterns, the authors achieve measurable enhancements in both DMARF and GIPSY. The approach is presented as repeatable for other open‑source projects seeking to raise their quality standards while preserving functional behavior.
Comments & Academic Discussion
Loading comments...
Leave a Comment