OberonCore
https://forum.oberoncore.ru/

День Оберона 2018
https://forum.oberoncore.ru/viewtopic.php?f=155&t=6278
Страница 5 из 5

Автор:  Илья Ермаков [ Суббота, 23 Февраль, 2019 20:40 ]
Заголовок сообщения:  Re: День Оберона 2018

Смотрите, здесь они синглтоны по той причине, что они вообще в такой же роли, как и объекты "метаинформации времени компиляции", условно говоря.
В том же статусе, как бы!
Только порождаются не компилятором, а динамически один раз при загрузке модуля.

Вот пример маленькой онтологии токенов для состояния двухпозиционного объекта в АСУТП (задвижки/клапана).
У каждого токена есть и TYPE, и VAR. Переменная-синглтон позволяет программно с ним работать как "с сущностью первого порядка" (в КП ведь типы не являются таковыми), а сам тип позволяет удобно статически указывать, что от чего расширено - и проверять по IS, ну и т.п.

В BEGIN модуля просто указывается KrlTokens.InitTokens(projId) - где projId - 32 бит, хэш от имени проекта (полный id токена порождается добавлением ещё 32 бит - хэша от имени переменной токена).
И все токены модуля создаются. У каждого токена можно узнать, кто он, метаинформацию о нём и т.п. Список его расширений в том числе. Или у токена, соответствующего SQL-таблице, можно узнать список токенов-полей.

Ещё на скрине видно "_0" у имени. Это чтобы указать значение по умолчанию для свойств данного типа TwinPosT.

Вложения:
Снимок экрана от 2019-02-23 20-35-52.png
Снимок экрана от 2019-02-23 20-35-52.png [ 21.56 КБ | Просмотров: 9792 ]

Автор:  Илья Ермаков [ Суббота, 23 Февраль, 2019 20:48 ]
Заголовок сообщения:  Re: День Оберона 2018

Для онтологий токенов поддерживается не только древовидное наследование, но и грани (facets) (типа как mixins).

Пример токенов для тегов АСУТП. Тип токенов для булевых тегов, дальше определяется булев тег с фиксацией времени изменения, булев тег с семантикой команды (нисходящий поток информации в АСУТП) и булев тег с семантикой сигнала (восходящий поток информации в АСУТП).

Вложение:
Снимок экрана от 2019-02-23 20-42-57.png
Снимок экрана от 2019-02-23 20-42-57.png [ 25.13 КБ | Просмотров: 9792 ]


А вот уже в библиотеке более конкретной расширением от типов тегов определены токены для разных сигналов ввода-вывода (контакторы, автоматы, разные режимы коммутации оборудования).

Вложение:
Снимок экрана от 2019-02-23 20-46-38.png
Снимок экрана от 2019-02-23 20-46-38.png [ 70.38 КБ | Просмотров: 9792 ]

Автор:  Илья Ермаков [ Суббота, 23 Февраль, 2019 20:53 ]
Заголовок сообщения:  Re: День Оберона 2018

В принципе, сейчас мы определяем токены прямо в коде, в виде, известном компилятору.

Ничто не мешает определять их каким-то другим образом (в базе конфигураций, например). И либо генерить модуль по такой базе автоматом, либо научить компилятор с ней взаимодействовать, как с внешней таблицей символов..

Автор:  Борис Рюмшин [ Воскресенье, 24 Февраль, 2019 00:39 ]
Заголовок сообщения:  Re: День Оберона 2018

Илья Евгеньевич, напишите уже полноценную статью про токены на сайт. Сколько можно по разным темам рассовывать пояснения?

Автор:  Дмитрий Дагаев [ Воскресенье, 24 Февраль, 2019 10:08 ]
Заголовок сообщения:  Re: День Оберона 2018

Борис Рюмшин писал(а):
Илья Евгеньевич, напишите уже полноценную статью про токены на сайт. Сколько можно по разным темам рассовывать пояснения?

Присоединяюсь, если решили излагать, то излагайте сначала, а то непонятно, где задвижка и почему токен.

Автор:  arlean1 [ Понедельник, 03 Февраль, 2020 18:07 ]
Заголовок сообщения:  Re: День Оберона 2018

Дмитрий Дагаев писал(а):
Присоединяюсь, если решили излагать, то излагайте сначала, а то непонятно, где задвижка и почему токен.

Ждал, ждал ... возможно, что пропустил. Статья где-то уже опубликована?
Борис Рюмшин писал(а):
Илья Евгеньевич, напишите уже полноценную статью про токены на сайт. Сколько можно по разным темам рассовывать пояснения?

Такое впечатление, что могло бы быть серьёзным прорывом в технологии ...
.

Автор:  Comdiv [ Понедельник, 03 Февраль, 2020 18:45 ]
Заголовок сообщения:  Re: День Оберона 2018

arlean1 писал(а):
Такое впечатление, что могло бы быть серьёзным прорывом в технологии ...
Почему? В принципе, это похоже на Java enum. Хотя для них, порой, и не хватает иерархичности, прорывом они и с нею не стали бы.

Автор:  Борис Рюмшин [ Пятница, 30 Октябрь, 2020 19:19 ]
Заголовок сообщения:  Re: День Оберона 2018

Info21 писал(а):
Прелюдия в УДП/ЦЭМИ РАН -- среда, 24.10, 17:30, все детали тут:

https://zen.yandex.ru/media/id/5b349c3b ... om=channel


Запись этого мероприятия наконец-то смонтирована и опубликована.
https://youtu.be/HgcIV4v_Plc

Автор:  Artyemov [ Вторник, 03 Ноябрь, 2020 23:21 ]
Заголовок сообщения:  Re: День Оберона 2018

Борис Рюмшин писал(а):
Info21 писал(а):
Прелюдия в УДП/ЦЭМИ РАН -- среда, 24.10, 17:30, все детали тут:

https://zen.yandex.ru/media/id/5b349c3b ... om=channel


Запись этого мероприятия наконец-то смонтирована и опубликована.
https://youtu.be/HgcIV4v_Plc

Со звуком хоть что-то было сделано? Лучше всего вышла перестановка мокрофона на трибунку в начале )-8Ж (чётко слышно: дубовая-деревянная).

Автор:  Борис Рюмшин [ Вторник, 03 Ноябрь, 2020 23:47 ]
Заголовок сообщения:  Re: День Оберона 2018

Artyemov писал(а):
Со звуком хоть что-то было сделано?

Звук был усилен. Если кто-то возьмётся обработать трек лучше -- я не возражаю.

Там при съёмке было две грубых ошибки. Но мы появились прямо перед началом. Да и после 380 км за рулём, я как-то не особо соображал сходу. Теперь уже как есть.

Автор:  Artyemov [ Суббота, 07 Ноябрь, 2020 20:50 ]
Заголовок сообщения:  Re: День Оберона 2018

Борис Рюмшин писал(а):
Если кто-то возьмётся обработать трек лучше -- я не возражаю.

На пробу: по 45 с "до" и "после обработки"
Вложение:
info21_Before&After.mp3 [626.34 КБ]
Скачиваний: 231

Страница 5 из 5 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/