Тема этой статьи может не соответствовать общему руководству Википедии о известности . ( июль 2020 г. ) (Узнайте, как и когда удалить этот шаблон сообщения ) |
LePUS3 [1] - это язык для моделирования и визуализации объектно-ориентированных ( Java , C ++ , C # ) программ и шаблонов проектирования . [2] Он определен как формальный язык спецификации [3] [4], сформулированный как аксиоматизированное подмножество логики предикатов первого порядка . Диаграмма в LePUS3 также называется кодовой диаграммой . [5] LePUS, название первой версии языка, является аббревиатурой от Language for Pattern Uniform Specification .
Цель [ править ]
LePUS3 предназначен для следующих целей:
- Масштабируемость : моделирование крупномасштабных программ с использованием небольших кодовых диаграмм с небольшим количеством символов.
- Автоматическая проверяемость : чтобы позволить программистам полностью автоматически проверять соответствие дизайну, чтобы сохранить синхронизацию дизайна с реализацией.
- Визуализация программы : позволяет инструментам реконструировать разборчивые кодовые диаграммы из простого исходного кода, моделируя их дизайн.
- Реализация шаблона : позволяет инструментам автоматически определять, реализует ли ваша программа шаблон проектирования.
- Абстракция дизайна : чтобы указать нереализованные программы без преждевременного принятия решения о мелочах реализации.
- Общность : моделирование шаблона проектирования не как конкретная реализация, а как мотив дизайна.
- Строгость : позволить разработчикам программного обеспечения быть уверенными в том, что представляют собой кодовые диаграммы, и строго их рассуждать.
Контекст [ править ]
LePUS3 принадлежит к следующим семействам языков:
- Объектно-ориентированные программные языки моделирования (например, UML ): LePUS3 визуальное обозначение, которое используется для представления строительных блоков в разработке программ объектно-ориентированного программирования языков
- Формальные языки спецификации : как и другие логические визуальные языки, кодовые диаграммы формулируют предложения математической логики. LePUS3 аксиоматизирован и определен как рекурсивное (разрешимое по Тьюрингу) подмножество исчисления предикатов первого порядка. Его семантика определяется с помощью конечной структуры (математической логики) .
- Языки описания архитектуры : LePUS3 - это нефункциональныйязык спецификации, используемый для представления проектных решений по программам на объектно-ориентированных языках программирования на основе классов (таких как Java и C ++ ).
- Языки спецификаций, поддерживаемые инструментальными средствами : Проверка кодовых диаграмм (проверка их согласованности с программой Java 1.4) может быть установлена («проверена») одним нажатием кнопки, как показано в двухуровневом наборе инструментов программирования .
- Обозначения визуализации программного обеспечения - это обозначения, которые предлагают графическое представление программы, обычно генерируемое путем обратного проектирования исходного кода программы.
Словарь [ править ]
LePUS3 был разработан для экономии средств выражения. Его словарный запас состоит всего из 15 визуальных знаков.
Поддержка инструмента [ править ]
Двухуровневый инструментарий программирования [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
Ссылки [ править ]
- ^ Иден, Амнон; вклад Джонатана Николсона (2011). Кодовые диаграммы: дорожные карты и чертежи для объектно-ориентированных программ (PDF) . Хобокен, Нью-Джерси: Wiley / Blackwell.
- ^ a b Амнон Х. Иден, при участии Джонатана Николсона. «Моделирование шаблонов проектирования, глава 11 в Codecharts: Roadmaps и Blueprints для объектно-ориентированных программ» (PDF) .
- ↑ Амнон Х. Иден; Эпамейнондас Гаспарис; Джонатан Николсон (2007). «Справочное руководство по LePUS3 и Class-Z» . Университет Эссекса.
- ^ Гаспарис, Эпамейнонд; Джонатан Николсон; Амнон Х. Иден (19 сентября 2008 г.). LePUS3: объектно-ориентированный язык описания дизайна (PDF) . ДИАГРАММЫ 2008 г., Херршинг, Германия. Архивировано из оригинального (PDF) 19 ноября 2008 года . Проверено 23 июня 2008 .
- ^ Кодовая диаграмма, формальное определение
- ^ Двухуровневый инструментарий программирования
- ^ Гаспарис, Эпамейнонд; Амнон Х. Иден; Джонатан Николсон; Рик Казман (10 мая 2008 г.). Навигатор дизайна: схемы Java-программ (PDF) . 30-я Международная конференция IEEE по программной инженерии - ICSE. Лейпциг, Германия. Архивировано из оригинального (PDF) 19 ноября 2008 года . Проверено 23 июня 2008 .
- ^ a b Николсон, Джонатан; Эпамейнондас Гаспарис; Амнон Х. Иден; Рик Казман (2009). Автоматическая проверка шаблонов дизайна с помощью LePUS3 (PDF) . 1-й Симпозиум НАСА по формальным методам - NFM 2009. Моффетт Филд, Калифорния.
Внешние ссылки [ править ]
Викискладе есть медиафайлы по теме LePUS3 . |
- Официальный веб-сайт
- Обзор кодовых диаграмм
- Примеры спецификаций в LePUS3
- Легенда: пояснение к символам LePUS3 и класса Z
- Справочное руководство LePUS3 и Class-Z
- Учебное пособие: объектно-ориентированное моделирование с помощью LePUS3 и Class-Z