  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.
