  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.
