Use of the "model checking" technique for verification of territorial development programs

Analysis of the widespread approach to modeling and verification of systems, known as Model Checking, which allows to identify errors at different stages of development and maintenance of territorial development programs in order to eliminate them.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык английский
Дата добавления 30.04.2018
Размер файла 14,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Use of the "model checking" technique for verification of territorial development programs

Вега Висе Х. Л.

Аспирант, Кафедра системного анализа, Интитут вычислительной математики и информационных технологий, Казанский (Приволжский) Федеральный Университет

Аннотация

Разработка программ территориального развития представляет собой сложную и важную задачу, которая требует тщательного рассмотрения многих аспектов. В процессе их создания некоторые важные аспекты остаются без должного внимания, что приводит к проблемам в реализации программ. Эти проблемы могут возникать, к примеру, из-за нехватки ресурсов или невыполнения сроков, установленных на первоначальном этапе планирования. Иногда под влиянием различных факторов главная цель проекта не может быть достигнута. Поэтому для обеспечения корректности и надежности операции системы возникает необходимость использовать некий инструмент, позволяющий гибко влиять на её производительность.

В настоящей статье рассматривается широко распространённый подход к моделированию и верификации систем, известный под названием Model Checking, позволяющий выявлять ошибки на разных этапах разработки и сопровождения программ территориального развития, чтобы последовательно устранять их.

Ключевые слова: программа территориального развития, modelchecking, темпоральная логика, CTL, NuSMV, Jetbrains MPS + mbeddr.

Abstract

The elaboration of territorial development programs is a complex and important task that requires the careful consideration of many aspects. Occasionally, during the creation process, some important aspects are overlooked, which leads to issues in the program. These issues can range from financial overdraft or failure to meet the established timeline, to failure to achieve the main objective of the program. Therefore, to ensure the correctness and reliability of the system, it is necessary to use a tool that allows for the flexibility to influence its performance.

This article discusses the widespread approach to the modeling and verification of systems, known as Model Checking, which allows for the detection of errors at different stages of the development and maintenance of territorial development programs in order to consistently eliminate them.

Keywords: territorial development program, model checking, temporal logic, CTL, NuSMV, Jetbrains MPS + mbeddr.

The elaboration of territorial development programs is a complex task that requires the careful consideration of many relational aspects, such as local resources and territorial indicators, as well as desired outcomes.

Programs are usually commissioned by government authorities, carried out by groups of experts that put in a lot of effort to complete the assigned task. Occasionally, because of the complexity of the projects, some inefficiency is built into the programs, and often, they manifest themselves much later, usually during the execution phase, when results are expected, therefore causing the program to fall short of expectations. [1]

What can be done to fix this? A model verification technique known as Model Checking has played a decisive role in eliminating design errors in hardware and software, as well as other industrial processes [1]. However, the author believes that the potential of this technique is not being fully utilized in the evaluation of development programs.

Model Checking is capable of automatically verifying the properties of a finite-state model, which is an abstraction of a real system, with the use of temporal logic expressions such as Linear Temporal Logic (LTL) or Computational Tree Logic (CTL) [2] as a properties language, thus allowing the detection of inconsistencies long before the system is put into practice; in this case the system being a territorial development program.

Before the generalized use of Model Checking, errors were very common in many areas of advanced technology. Some of these errors were responsible for great capital loss as well as the loss of human lives. For example, many planes and space crafts were lost because of errors in the navigation system that went undetected at the time of conception. Another example would be the “friendly fire” incidents that were caused by the U.S. surface-to-air missile system, Patriot, in which at least one U.S. plane was destroyed.

Through the use of a model checker, for example, NuSMV [3] or SPIN, it would be possible to define the abstract model using their modelling language; SMV or Promela, respectively. This way, it would be possible to emulate elements and behaviors of any development program, such as the resources that will be employed (financial, human, material, time), state of territorial indicators (economic-productive, sociocultural, ecological, institutional, etc.), the tasks and activities to be undertaken, as well as their interrelations according to the execution timeline along with their respective preconditions.

With the help of experts in a specific field, it's possible to define how each element or behavior should affect each indicator, which would reflect on the model. Then, with the use of the temporal logic rules, we could check for the model properties at a given time, which would show if the applied changes to the territorial indicators produce the desired outcome. The author recommends the use of CTL [4] for this purpose. model checking verification program

The author finds very interesting the idea of focusing the activities as concurrent, asynchronous processes that share and compete for common resources, utilizing the potential of parallel and distributed programming systems, which are included in the majority of model checkers. These processes would wait for the fulfillment of starting preconditions such as date or a specific state of one or more indicators, disputing and waiting for available common resources, for example, financial resources and personnel. On occasion these resources are pre-existent and in other cases they are the outcome of previous activities.

The following is an example of how the many territorial indicators interact with one another: imagine a city that has great potential for tourism, but suffers from high unemployment, which in turn leads to social problems that are detrimental to tourism, for example, crime and homelessness. The local government would like to fuel the development of tourism as a source of revenue, and use it to fix the unemployment problems in the area by utilizing the local inhabitants as the workforce behind the change. For this purpose, a plan is created for the training of the city inhabitants. Because this training demands a certain amount of time, any activities that would utilize the local workforce must take into consideration the time at which it would be ready. At the same time, these tasks cause many positive changes on territorial indicators such as economic development as a result of an increase in external revenue, the reduction of unemployment, and the betterment of the social situation. However, not all change would be positive; it's very possible that the increase in tourism would also bring the destruction of the local nature in order to build hotels, golf courses, marinas and other touristic structures, thus having a negative impact on the city's environmental indicators.

Another concept that must be considered is the meta-model, which, in this case would consist of the relationship between various models of territorial development programs at a macro level. For this concept, a strict regulation would be necessary for the coding and denomination during the modeling of resources, indicators, tasks, activities, etc.; this would allow them to interweave. This focus on seeing activities as asynchronous processes is reinforced when switching from independent models towards a unified meta-model.

Once at the meta-model level, or even at an independent model level, it can be very difficult to model directly using languages such as Promela or NuSMV; an alternative to this problem would be using a visual modeling tool. There are many tools that allow for the visual modeling of processes and systems; in some cases, this can be done utilizing activities diagrams of the standard UML, in other cases with a focus on business oriented processes of BPMN. However, these two ways lack the advantages of the Model Checking technique, therefore, in the great majority of cases, a combination of format transformations, as well as third party software would be needed in order to transform an activities diagram or any other kind of diagram into a comprehensible logical model to be verified through a model checker.

Nevertheless, there are other tools that maintain a focus on the potential of Model Checking from the beginning. An example that is not so well known to most specialists in this field, but that the author values greatly is JetBrains MPS (MetaProgramming System) with mbeddr, internally linked to NuSMV, joined as one computer system. Currently, this system is mainly implemented by German companies as well as companies from others European countries.

To conclude, it is the author's opinion that through the use of the Model Checking technique it is possible to improve the creation of territorial development programs, which would employ the combination of JetBrains MPS + mbedded [5] to define very complex finite-state models for the use of simulation and verifying both visually and through programming.

References

1. Karpov Y.G. Model Checking. Verifikaksiaparalelnijiraspredelionnijprogrammnijsistem // BJV-Peterburg. - 2010; ISBN: 978-5-9775-0404-1. - P. 13-39.

2. Clarke E. M., Emerson E. A., Sistla, A. P. Automatic verification of finite-state concurrent systems using temporal logic specifications // ACM Transactions on Programming Languages and Systems. - 1986. - № 8(2). - P. 244-263.

3. Cavada R., Cimatti A., Jochim C. A., Keighren G., Olivetti E., Pistore M., Roveri M., Tchaltsev A. NuSMV 2.6 User Manual //Available: http://nusmv.fbk.eu/NuSMV/userman/v26/nusmv.pdf

4. Baier C., Katoen J.-P. Principles of model checking // Cambridge, MA: The MIT Press. - 2008; ISBN 978-0-262-02649-9. - P. 313-447.

5. Rosenberger, Ch. Model Checking for State Machines with mbeddr and NuSMV // Available: http://mbeddr.com/files/modelcheckingforstate-machineswithmbeddrandnusmv.pdf

Размещено на Allbest.ru

...

Подобные документы

  • IS management standards development. The national peculiarities of the IS management standards. The most integrated existent IS management solution. General description of the ISS model. Application of semi-Markov processes in ISS state description.

    дипломная работа [2,2 M], добавлен 28.10.2011

  • Lists used by Algorithm No 2. Some examples of the performance of Algorithm No 2. Invention of the program of reading, development of efficient algorithm of the program. Application of the programs to any English texts. The actual users of the algorithm.

    курсовая работа [19,3 K], добавлен 13.01.2010

  • Архитектура операционной системы Android. Инструменты Android-разработчика. Установка Java Development Kit, Eclipse IDE, Android SDK. Настройка Android Development Tools. Разработка программы для работы с документами и для осуществления оперативной связи.

    курсовая работа [2,0 M], добавлен 19.10.2014

  • Основные алгоритмические структуры. Запись алгоритма в словесной форме, в виде блок-схемы. Система команд исполнителя. Язык высокого уровня. Создание программы и её отладка. Интегрированные среды разработки: Integrated Development Environment, IDE.

    лекция [61,7 K], добавлен 09.10.2013

  • Процессоры Duron на ядре Spitfire (Model 3), Morgan (Model 7), Applebred (Model 8), Mobile Duron Camaro. Схема материнской платы EP-8KHAL+. Микросхема "Северный мост". Звуковой чип ALC201A. Конфигурация системной памяти. Регулятор заглушки шины RT9173.

    курсовая работа [3,6 M], добавлен 26.03.2013

  • Модули, входящие в пакет программного обеспечения. Project Menagement, Methodology Management, Portfolio Analysis, Timesheets, myPrimavera, Software Development Kit, ProjectLink. Иерархическая структура Primavera и ее взаимосвязь с программой MS Project.

    контрольная работа [9,5 K], добавлен 18.11.2009

  • History of development. Building Automation System (BMS) and "smart house" systems. Multiroom: how it works and ways to establish. The price of smart house. Excursion to the most expensive smart house in the world. Smart House - friend of elders.

    контрольная работа [26,8 K], добавлен 18.10.2011

  • Концептуальна модель бази даних, визначення зв’язків між ними, атрибутів сутностей їх доменів. Створення ORM source model та Database model diagram для бази даних "Автотранспортне підприємство". Генерування ddl-скрипта для роботи в СУБД SQL-Server.

    курсовая работа [47,3 K], добавлен 17.10.2013

  • Technical methods of supporting. Analysis of airplane accidents. Growth in air traffic. Drop in aircraft accident rates. Causes of accidents. Dispatcher action scripts for emergency situations. Practical implementation of the interface training program.

    курсовая работа [334,7 K], добавлен 19.04.2016

  • Модель взаимодействия открытых систем Open Systems Interconnection Reference Model. Основные особенности модели ISO/OSI. Характеристики физических сигналов, метод кодирования, способ подключения. Канальный уровень модели ISO/OSI. Передача и прием кадров.

    презентация [52,7 K], добавлен 25.10.2013

  • Basic assumptions and some facts. Algorithm for automatic recognition of verbal and nominal word groups. Lists of markers used by Algorithm No 1. Text sample processed by the algorithm. Examples of hand checking of the performance of the algorithm.

    курсовая работа [22,8 K], добавлен 13.01.2010

  • Practical acquaintance with the capabilities and configuration of firewalls, their basic principles and types. Block specific IP-address. Files and Folders Integrity Protection firewalls. Development of information security of corporate policy system.

    лабораторная работа [3,2 M], добавлен 09.04.2016

  • Technical and economic characteristics of medical institutions. Development of an automation project. Justification of the methods of calculating cost-effectiveness. General information about health and organization safety. Providing electrical safety.

    дипломная работа [3,7 M], добавлен 14.05.2014

  • Технология конструирования программного обеспечения, надежно и эффективно работающего в реальных компьютерах. Модель быстрой разработки приложений (Rapid Application Development) как один из примеров применения инкрементной стратегии конструирования.

    реферат [666,5 K], добавлен 24.06.2009

  • Создание электрической схемы проектируемого устройства с помощью графического интерфейса. Улучшение кодовой базы с помощью рефакторинга. Разработка алгоритма работы программы. Использование методики Test driven development, написание тестового покрытия.

    курсовая работа [1,3 M], добавлен 15.02.2016

  • American multinational corporation that designs and markets consumer electronics, computer software, and personal computers. Business Strategy Apple Inc. Markets and Distribution. Research and Development. Emerging products – AppleTV, iPad, Ping.

    курсовая работа [679,3 K], добавлен 03.01.2012

  • Програмний засіб моніторингу реалізації проектів з побудовою графіків та завданням відхилень. Вибір моделі життєвого циклу розробки додатків Rapid Application Development об'єктно-орієнтованою мовою програмування C# на платформі Microsoft .NET Framework.

    дипломная работа [1,4 M], добавлен 11.09.2012

  • Этапы разработки автоматизированной системы приема и бронирования заказов столиков в заведениях. Анализ среды разработки Android Development Tools. Общая характеристика диаграммы компонентов IOS приложения. Рассмотрение системы контроля версий сервера.

    курсовая работа [8,7 M], добавлен 14.05.2014

  • Overview history of company and structure of organization. Characterization of complex tasks and necessity of automation. Database specifications and system security. The calculation of economic efficiency of the project. Safety measures during work.

    дипломная работа [1009,6 K], добавлен 09.03.2015

  • Использование CASE-средств для моделирования деловых процессов; совершенствование проектирования информационных систем с помощью программного пакета CA ERwin Modeling Suite: характеристики, возможности визуализации структуры данных и среды развертывания.

    реферат [970,5 K], добавлен 20.03.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.