Proceedings Article | 22 April 2020
KEYWORDS: Software development, Computer architecture, Intelligence systems, Prototyping, Surveillance, Reconnaissance, Defense and security, Reconnaissance systems, Distributed computing, Standards development
Today's ISR (Intelligence, Surveillance and Reconnaissance) defense coalitions require storage and dissemination mechanisms that are able to cope with emerging changes to requirements and new features. Previous System of systems (SOS) architectures used to be built with years of planning, development, testing and deployment, usually in the form of distributed monoliths. Due to new requirements in ISR, shorter response cycles are required. To reach this goal, new approaches are of interest in the architectural style and workload sharing within the development team, resulting in the ability to better maintain and change existing software solutions. Ideally, such a shift results in improved scalability, replaceability, modularity and resilience. In this context we examined our existing software that provides and also internally uses legacy middleware such as Common Object Request Broker Architecture" (CORBA) (among others). The overall codebase was written in such a manner that it was easy to produce, i.e., technically motivated. The development team is rather small, so efficiency and the possibility to share (developer) knowledge is important. Our goal was to evaluate the state of the art, thus being able to reasonably apply modern software development approaches that support mandatory legacy support. We attempted a restructuring of the codebase applying the principles of Domain-Driven Design" with its bounded contexts", resulting in domain-oriented source code that is easy to verify and maintain. Keeping in mind our small development team, we aimed for shared responsibility, giving us the necessary resilience for unplanned staff absence. In this publication, we present a possible migration path with its operational constraints (e.g., legacy inter-