Services
Software architecture and design form the foundation for all successfully deployed real systems in production. Critical software needs to be properly architected based on functional and non-functional requirements. With the advent of modern advancements of container technologies and CI/CD paradigm of software development for horizontal scaling, the shorter design cycles in agile methodologies have to provide some sort of guarantees. This is where formal methods of automated theorem proving and model checking with its plethora of tools enter. We can help address the critical design issues using modeling languages such as Archimate, UML, BPMN followed by design/verification tools such as Alloy, TLA+ to provide assurance of property satisfaction thereby reducing actual cost and minimize risk early on.
-
Software architecture
This is the first step in identifying the overall current state and how to move a desired target state of organized set of components connected in a specific configuration to achieve the goals. A reference architecture using modeling languages such as Archimate, BPMN and UML is created as major deliverables of this phase along with process models and roadmaps.
-
Detailed design
From the overall software architecture, architecturally significant components need to elaborated in further refinement to create a working model to show the important features or use cases. This is done using detailed UML component, activity and sequence diagrams.
-
Formal verification
The unique value of AeroLogika is using state of the art tools coming out research universities and organizations in mission critical aerospace use cases. Use of model checking and theorem proving in aerospace is an essential but often-neglected field where practice lags research and few companies exist to deal with guidelines such as DO-333.