Из Википедии, бесплатной энциклопедии
  (Перенаправлено с Lepus3 )
Перейти к навигации Перейти к поиску
Пример: кодовая диаграмма, моделирующая составной паттерн в LePUS3

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

Цель [ править ]

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

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

Контекст [ править ]

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

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

Словарь [ править ]

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

LePUS3 Словарь

Поддержка инструмента [ править ]

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

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

Паттерны дизайна [ править ]

LePUS3 был специально разработан для моделирования, среди прочего, шаблонов проектирования «Банды четырех» , включая абстрактную фабрику , фабричный метод , адаптер , декоратор , композит , прокси , итератор , состояние , стратегию , метод шаблона и посетителя . (См . "Товарищ по" Банде четырех ") [2]Аббревиатура LePUS от «Language for Pattern Uniform Specification» используется потому, что предшественник этого языка был в первую очередь связан с шаблонами проектирования. Реализация шаблонов проектирования, указанных в LePUS3, может быть автоматически проверена с помощью TTP Toolkit. [8]

Примеры [ править ]

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

  • Закрываемая иерархия (java.io)

  • Шаблон заводского метода

  • Enterprise JavaBeans

  • Java3D

  • JUnit

Ссылки [ править ]

  1. ^ Иден, Амнон; вклад Джонатана Николсона (2011). Кодовые диаграммы: дорожные карты и чертежи для объектно-ориентированных программ (PDF) . Хобокен, Нью-Джерси: Уайли / Блэквелл.
  2. ^ a b Амнон Х. Иден, при участии Джонатана Николсона. «Моделирование шаблонов проектирования, глава 11 в Codecharts: Roadmaps и Blueprints для объектно-ориентированных программ» (PDF) .
  3. Амнон Х. Иден; Эпамейнондас Гаспарис; Джонатан Николсон (2007). «Справочное руководство по LePUS3 и Class-Z» . Университет Эссекса.
  4. ^ Гаспарис, Эпамейнонд; Джонатан Николсон; Амнон Х. Иден (19 сентября 2008 г.). LePUS3: объектно-ориентированный язык описания дизайна (PDF) . ДИАГРАММЫ 2008 г., Херршинг, Германия. Архивировано из оригинального (PDF) 19 ноября 2008 года . Проверено 23 июня 2008 .
  5. ^ Кодовая диаграмма, формальное определение
  6. ^ Двухуровневый инструментарий программирования
  7. ^ Гаспарис, Эпамейнонд; Амнон Х. Иден; Джонатан Николсон; Рик Казман (10 мая 2008 г.). Навигатор дизайна: схемы Java-программ (PDF) . 30-я Международная конференция IEEE по программной инженерии - ICSE. Лейпциг, Германия. Архивировано из оригинального (PDF) 19 ноября 2008 года . Проверено 23 июня 2008 .
  8. ^ a b Николсон, Джонатан; Эпамейнондас Гаспарис; Амнон Х. Иден; Рик Казман (2009). Автоматическая проверка шаблонов дизайна с помощью LePUS3 (PDF) . 1-й симпозиум НАСА по формальным методам - ​​NFM 2009. Моффетт Филд, Калифорния.

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Обзор кодовых диаграмм
  • Примеры спецификаций в LePUS3
  • Легенда: пояснение к символам LePUS3 и класса Z
  • Справочное руководство LePUS3 и Class-Z
  • Учебное пособие: объектно-ориентированное моделирование с помощью LePUS3 и Class-Z