Инструментарий поддержки процессов некоторых технологических подходов 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Инструментарий поддержки процессов некоторых технологических подходов



5.4.1. Системы формального преобразования и верификации программ

Поддержка технологий формального преобразования и верификации программ осуществляется специальными системами. Большинство из них являются научно-исследовательскими и не имеют коммерческого применения. Одной из наиболее интересных современных работ в области формальных подходов верификации программ является В-технология. На ее основе была осуществлена разработка системы управления парижским метрополитеном "METEOR".

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

  • Система TXL [Kozaczynsky, Hing, Engberts 1992] конвертирует код, написанный на диалекте, в код на базовом языке. Это выполняется через преобразование синтаксического дерева грамматики диалекта в синтаксическое дерево базового языка, а затем получение новой программы из последнего. Для преобразования деревьев использовался рекурсивный алгоритм обхода дерева.
  • Средство IntelliJ Renamer - это мощное средство для преобразования программ и поиска в программном коде, разработанное для языка Java. Оно позволяет производить переименование методов, пакетов, полей, переменных и параметров методов с автоматическим исправлением вхождений. IntelliJ CodeSearch позволяет делать поиск в исходном коде на языке Java, к примеру, вызовов определенных методов или определения классов, реализующих некоторый интерфейс. Это средство корректно работает с перегруженными методами различных классов с одинаковыми именами. В этих средствах используется идея работы по синтаксическому дереву.
  • Система RescueWare является системой производства программ с новой бизнес-логикой, преобразуя и используя части существующих программных ресурсов. Для осуществления этих операций система предлагает разделение задачи на несколько подзадач. Сначала проходит стадия понимания программ [Бульонков, Бабурин 2000]. На этом этапе выделяются такие сущности, как программный уровень, потоки данных, карта вызовов. Далее проходит стадия изоляции определенной бизнес-логики. На этом этапе выделяются компоненты, пригодные для переиспользования. Впоследствии созданные компоненты используются для генерации новой программной системы с учетом особенностей новых платформ. В таких подходах ключевым моментом, зачастую, является преобразование программы на процедурном языке в программу на объектно-ориентированном языке. Для осуществления такого преобразования объекты должны быть идентифицированы из процедурных частей. Объектно-ориентированные программы (в сравнении с процедурно-базируемыми) считаются более простыми в сопровождении.

Существуют также системы, которые предназначены для анализа исходных кодов с целью получения высокоуровневых абстракций. Так, например, существуют средства [Niere, Wadsack, Zundorf 2000], которые анализируют код на языке Java с целью генерации диаграмм UML. Данный подход базируется на использовании сетей рассуждений, построенных на нечеткой логике [Jahnke, Heitbreder 1998]. Также существуют средства, которые предоставляют среду разработки для объектно-ориентированных языков, используя диаграммы UML. Они позволяют не только генерировать код по диаграммам, но и анализировать его с целью построения такой диаграммы. Это позволяет более наглядно представлять архитектуру разрабатываемой системы и улучшать ее понимание.



Поделиться:


Последнее изменение этой страницы: 2021-01-08; просмотров: 113; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.189.180.76 (0.003 с.)