Вы когда-нибудь смотрели на свой код и понимали, что на самом деле это конечный автомат, который вы пытаетесь реализовать? Обычно вы начинаете использовать операторы переключения или переходите к подходу с использованием шаблона состояния. Для более крупных конечных автоматов этот подход быстро становится трудным для чтения и обслуживания.
YAKINDU Statechart Tools поставляется с графическим редактором для моделирования вашей диаграммы состояния и автоматически генерирует соответствующий Java-код для вас. Еще лучше то, что вы можете использовать Java-код непосредственно в графической модели. В этой статье я продемонстрирую, как это выглядит и что возможно.
Глубокая интеграция Java в YAKINDU Statechart Tools позволяет вам напрямую обращаться к API-интерфейсам Java в вашей диаграмме состояния и, следовательно, облегчает включение моделирования конечных автоматов в ваш процесс разработки Java! Глубокая интеграция Java содержит следующие функции:
Вы можете импортировать классы Java, интерфейсы и перечисления в диаграмму состояния и использовать их для переменных диаграммы состояния.
Вы можете получить доступ ко всем общедоступным и статическим элементам , таким как переменные и методы, непосредственно из диаграммы состояний. Это позволяет избежать большого количества шаблонного кода.
Методы Java, которые используются в вашей диаграмме состояний, будут вызваны во время моделирования . Это позволяет избежать громоздкого издевательства над возвращаемыми значениями в процессе моделирования.
Поскольку видео содержит более тысячи слов, мы записали короткий скринкаст, чтобы дать вам представление о функциях, описанных в этой статье. Наслаждайтесь просмотром и продолжайте читать ниже, если мы вызвали у вас любопытство.
В ЯКИНДУ у statechart есть домен. Для того чтобы использовать функции, упомянутые в этой статье, вы должны использовать домен Java. Вы можете выбрать домен Java в свойствах диаграмм состояния или при создании новой диаграммы состояния.
Диаграмма состояния домена Java использует систему типов, ориентированную на Java. Вы можете использовать собственные типы Java (например, int) или их типы оболочек (например, java.lang. Целое число) в объявлениях переменных.
Кроме того, вы можете использовать инструкцию import для импорта классов Java, интерфейсов или перечислений. Помощь в содержании [Ctrl]+[Пробел] список всех классов, которые находятся в пути к классам вашего проекта. Вы можете импортировать классы как из своей JRE, так и из своих собственных.
Использование типов Java в диаграмме состояний также означает, что вы можете использовать обобщенные типы точно так же, как вы использовали бы их в своем Java-коде.
Java-ориентированная система типов способна выводить общую информацию о типе и выдает ошибки в случае, если типы не совпадают. Таким образом, вы можете избежать ошибок компиляции еще до того, как сгенерируете какой-либо код.
Создание экземпляра работает немного иначе, чем в Java. Вместо введения ключевого слова new в наш язык диаграмм состояний конструкторы преобразуются в статические фабричные методы с именем new() .
Если у вас есть переменная типа Java, вы можете получить доступ ко всем ее открытым элементам, таким как методы или переменные. Здесь опять же, помощь по содержимому дает вам обзор всех доступных элементов, который содержит все общедоступные экземпляры и статические члены класса.
YAKINDU Statechart Tools предлагает встроенное моделирование для проверки поведения вашей системы еще до генерации какого-либо кода. Вы можете запустить симуляцию в контекстном меню через Выполнить -> Выполнить как -> Моделирование диаграмм состояния .
Для диаграмм состояния домена Java моделирование напрямую вызывает указанные методы Java. Вы можете увидеть эффекты в режиме моделирования, где вы также можете вручную изменять значения доступных переменных или вызывать события, чтобы увидеть, как реагирует ваша система. Вы также можете устанавливать точки останова для состояний и переходов, как если бы вы отлаживали свой Java-код.
Мы адаптировали генератор кода Java, который поставляется со стандартной версией инструментов YAKINDU Statechart, чтобы также генерировать правильный Java-код для диаграмм состояния домена Java. Чтобы использовать сгенерированный конечный машинный код в вашем приложении Java, вам в основном необходимо выполнить следующие действия:
Готовы ли вы использовать конечные автоматы в своем проекте Java? Вот инструкция о том, как начать:
Скачать YAKINDU Statechart Tools Профессиональное издание.
Распакуйте загруженный архив и откройте приложение.
Первое, что вы увидите, – это страница приветствия. Нажмите на Примеры и выберите Музыкальный проигрыватель (Java).
Если кнопка Установить зависимости.. появится в правом верхнем углу, нажмите на него и следуйте инструкциям. Возможно, вам потребуется перезапустить приложение один раз.
Нажмите “Готово” в “Войне”, пример музыкального проигрывателя находится в вашем рабочем пространстве, и вы можете начать с ним играть.
Последнее замечание о лицензировании. После загрузки YAKINDU Statechart Tools вы можете использовать приложение в течение одного месяца без каких-либо функциональных ограничений. Через месяц вам необходимо приобрести лицензию. Однако вы можете подать заявку на академическую или некоммерческую лицензию бесплатно, если вы не используете ее в коммерческих целях.
Наслаждайтесь и составляйте графики счастливых состояний!
Оригинал: “https://dev.to/tkutz/graphical-state-machines-for-java-development-with-yakindu-statechart-tools-24d8”