LePUS3 - LePUS3

Пример: кодовая диаграмма, моделирующая составной паттерн в LePUS3

LePUS3 - это язык для моделирования и визуализации объектно-ориентированных ( Java , C ++ , C # ) программ и шаблонов проектирования . Он определяется как формальный язык спецификации , сформулированный как аксиоматизированное подмножество логики предикатов первого порядка . Диаграмма в LePUS3 также называется кодовой диаграммой . LePUS, название первой версии языка, является аббревиатурой от Language for Pattern Uniform Specification .

Цель

LePUS3 предназначен для следующих целей:

  • Масштабируемость : моделирование крупномасштабных программ с использованием небольших кодовых диаграмм с небольшим количеством символов.
  • Автоматическая проверяемость : чтобы позволить программистам полностью автоматически проверять соответствие дизайну, чтобы сохранить синхронизацию дизайна с реализацией.
  • Визуализация программы : позволяет инструментам реконструировать разборчивые кодовые диаграммы из простого исходного кода, моделируя их дизайн.
  • Реализация шаблона : чтобы инструменты могли автоматически определять, реализует ли ваша программа шаблон проектирования.
  • Абстракция дизайна : чтобы указать нереализованные программы без преждевременного принятия решения о мелочах реализации.
  • Общность : моделирование шаблона проектирования не как конкретная реализация, а как мотив дизайна.
  • Строгость : позволить разработчикам программного обеспечения быть уверенными в том, что представляют собой Codecharts, и строго их рассуждать.

Контекст

LePUS3 принадлежит к следующим семействам языков:

  • Объектно-ориентированные программные языки моделирования (например, UML ): LePUS3 визуальное обозначение, которое используется для представления строительных блоков в разработке программ объектно-ориентированного программирования языков
  • Формальные языки спецификации : как и другие логические визуальные языки, кодовые диаграммы формулируют предложения математической логики. LePUS3 аксиоматизирован и определен как рекурсивное (разрешимое по Тьюрингу) подмножество исчисления предикатов первого порядка. Его семантика определяется с помощью конечной структуры (математической логики) .
  • Языки описания архитектуры : LePUS3 - это нефункциональныйязык спецификации, используемый для представления проектных решений по программам на объектно-ориентированных языках программирования на основе классов (таких как Java и C ++ ).
  • Языки спецификаций, поддерживаемые инструментами : Проверка кодовых диаграмм (проверка их согласованности с программой Java 1.4) может быть установлена ​​(«верифицирована») одним нажатием кнопки, как показано с помощью двухуровневого набора инструментов программирования .
  • Обозначения визуализации программного обеспечения - это обозначения, которые предлагают графическое представление программы, обычно генерируемое путем обратного проектирования исходного кода программы.

Словарь

LePUS3 был разработан для экономии средств выражения. Его словарный запас состоит всего из 15 визуальных знаков.

LePUS3 Словарь

Поддержка инструмента

Двухуровневый инструментарий программирования можно использовать для

  • создавать спецификации LePUS3 (кодовые диаграммы)
  • автоматически проверять согласованность кодовых диаграмм LePUS3 с программами Java 1.4; и
  • реконструировать кодовые диаграммы из исходного кода Java.

Шаблоны проектирования

LePUS3 был специально разработан для моделирования, среди прочего, шаблонов проектирования «Банды четырех» , включая абстрактную фабрику , фабричный метод , адаптер , декоратор , композит , прокси , итератор , состояние , стратегию , метод шаблона и посетителя . (См. «Компаньон« Банда четырех ») . Аббревиатура LePUS для« Язык унифицированной спецификации шаблонов »используется потому, что предшественник этого языка в первую очередь был связан с шаблонами проектирования. Реализация шаблонов проектирования, указанных в LePUS3, может быть автоматически проверена с помощью TTP Toolkit.

Примеры

LePUS3 особенно подходит для моделирования больших программ, шаблонов проектирования и сред объектно-ориентированных приложений . Он не подходит для моделирования не объектно-ориентированных программ, архитектурных стилей и неразрешимых и полуразрешимых свойств.

Ссылки

внешние ссылки