MOSA (Modular Open System Approach) is a strategy that uses open architectures and standards for building, updating, and maintaining systems. It has a requirement that the architecture is modular, loosely coupled, highly cohesive, and has well-defined interfaces. This requirement means that you need to evaluate the modularity, cohesion, and coupling of the system and/or system architecture.
The DoD has a large install base of legacy software that needs to be maintained, this maintenance is becoming increasingly expensive. The maintenance costs are rising because the software architecture has eroded (reduce modularity) over time as the software has been updated. A modular architecture is easy and cost-efficient to maintain. If you can update legacy systems and build new systems for modularity, you can maintain them easier long into the future. There is also a desire in the DoD to transition software to highly modular microservices and more applications to the cloud. All of this has led to MOSA becoming more and more important in DoD projects.
How Lattix can help with MOSA
Lattix is a dependency analysis solution for architecture (both software and systems). With Lattix, you can understand your current architecture, define (or refactor) the architecture for modularity, and monitor your architecture over time. These capabilities allow Lattix to help you optimize your software and system architecture for MOSA. Here are some of the specific features in Lattix that help you with MOSA:
- Import SysML data and/or software code – you can directly import your data into Lattix making it quick and easy to get started using the Lattix solution. Lattix allows you to import data from several UML/SysML data sources including CATIA (MagicDraw), IBM Rhapsody, Sparx Enterprise Architect or XML; source code in many different languages including ADA, C/C++, Python, Ruby, Fortran, Java, Javascript, and C#
- DSM (Dependency Structure Matrix) – the DSM is a scalable, visual representation of your architecture. The Lattix DSM allows you to analyze the dependencies as defined in an architecture model. This can include in systems modeling functional dependencies, behavioral interfaces, and structure interfaces. A DSM is an easy way to investigate large complex architectures because of the scalable nature of the DSM. With Lattix partitioning algorithms, you can detect unwanted and unnecessary coupling with hurts modularity. This also allows you to evaluate the modularity of your architecture as required by MOSA> The use of the partitioning (clustering) algorithms means the system organization is driven by structural and behavioral connections. The DSM view shows the code (or system model) hierarchy and dependencies in an easy-to-understand format and provides way to measuring the implemented architecture’s characteristics (modularity, cohesion, coupling, etc)
- Architecture Metrics – Lattix calculates a large number of architecture metrics that allow you to evaluate the modularity, cohesion, and coupling of your system. These metrics can also be tracked over time to give you a sense of how the architecture is changing as you update the system model and/or software.