Application of design patterns in software of flight mission planning system
Company "Ramenskoye Design Company", 2, Guriev str., Ramenskoye, Moscow Region, 140103, Russia
Flight mission planning systems  for various aircraft have a lot in common, and perform the same tasks. Therefore, the actual task is to develop unified software for such systems that could be quickly adapted to specific requirements of the particular technical specification. To achieve this goal, the hierarchical modular software architecture is proposed, where a «model-view-controller» concept  and other concept  are applied for the proposed architecture.
The following software subsystems are defined in the proposed architecture: cartographic subsystem (the first level), subsystem of navigation situation input (second level), subsystem of flight planning (third level), subsystem of flight data preparation (fourth level). Subsystems of a lower level do not depend on subsystems of a higher level. A concrete planning system can contain more than one subsystem at a certain level. Subsystems of higher levels are possible. A major module operate with major subsystems by a common template
Each subsystem consists of two modules: business logic module and module of graphic user interface. Business logic modules realize application environment models, application task kernels, read operation, and data processing and storage. While user interface modules determine dialog boxes configuration, logic of domain models (data) imaging, and semantic processing of user actions. The modules of business logic do not depend on the user interface modules. Pattern «Observer» is used to present notification concerning events (changes) within models at runtime.
If new customer wants to use another configuration of dialog windows then it is possible to develop new user interface modules while keeping existing business logic modules intact. Conversely, in case of domain algorithms changes (or significant changes in data access and processing), business logic modules can be replaced with minimal modification of existing user interface modules or keeping them intact. In addition, software partitioning in business logic part and the user interface part enables more efficient of developers abilities usage: some of them specialize in the development of domain models, and others concentrate on the development dialog windows.
The proposed architecture was implemented for one of flight mission planning systems developed by Ramenskoye Design Company. The developed software has passed certification and has been successfully implemented with some other systems.
Thus, we obtain the software platform, which further implementation and development can lead to significant cost price and launch date reduction of new products, and profit markup of an enterprise.
Keywords:flight mission planning system, software architecture, design patterns, design patterns, model-view-controller (MVC)
- Sistemy planirovaniya i podgotovki poletnykh zadanii, URL: http://www.rpkb.ru/lines-of-business/system-of-planning-and-preparation-of-flight-tasks
- Burbek S. Programmirovanie prilozhenii v SmallTalk-80: Kak ispol’zovat’ Model-View-Controller. Adobe Acrobat Reader, URL: http://www.math.rsu.ru/smalltalk/gui/mvc-rus.pdf
- Gamma E., Khelm R., Dzhonson R., Vlissides Dzh. Priemy ob"ektno-orientirovannogo proektirovaniya. Patterny proektirovaniya (Design Patterns: Elements of Reusable Object-Oriented Software), St. Petersburg, 2007, 366 p.