Umwelt

by Oleg Sovetnik

Умвельт — это концепция, которая помогает преодолеть семантический разрыв между программистами и аналитиками. Она позволяет создать целостную модель системы, объединяющую концепты и факты в рамках майндмапа. Этот подход даёт возможность видеть систему целиком, а не через её отдельные проекции, такие как код, тесты или документация.

С помощью умвельта можно строить структуру, которая отражает не только семантику — как элементы связаны друг с другом и что они представляют — но и синтаксис, задающий правила интерпретации этих концептов в коде. В этом заключается мощь умвельта: он позволяет автоматизировать процесс создания спецификаций и тестов на основе модели системы, создавая целостного “слона”, который мы можем изучать с разных сторон.

Мы рассмотрели понятие умвельта, его роль, как недостающего компонента для устранения семантического разрыва. Установили его связь с эпистемологией, как познавательного процесса и обогатили теориями и методами социологии.

Эффективная разработка требует понимания не только технологий, но и процессов формирования и передачи знания в команде. Для решения Вавилонской проблемы и создания артефакта доступного программистам и аналитикам, мы определили форму умвельта, как майндмап.

Перейдем к проблеме невидимого слона. В этой метафоре умвельт - слон, который описан кодом, тестами, документацией и историей задач, как проекциями. Тут наша задача состоит в том, чтобы обратить направление распространения информации: вместо того, чтобы создавать проекции и угадывать слона по ним, мы создадим его и получим все его проекции, осматривая его с разных точек зрения.

Выход из Платоновой пещеры

В темной пещере сидят прикованные люди, которые видят лишь тени предметов, отбрасываемые на стену огнем позади них. Для них тени - это и есть реальность. Если бы один из узников освободился и вышел наружу, не забыв взять очки, он бы увидел настоящие вещи, освещенные солнцем. Выход из пещеры и созерцание вещей под светом солнца - это восхождение души к миру идей, постижение истинной реальности с помощью разума и концептуальных очков.

Для того, чтобы мы могли установить связь с кодом, и генерировать тесты, определим, какие элементы чем должны стать в коде. Итак, у нас есть сематическая и синтаксическая (структурная) части. Семантическая часть, буквально - дерево концептов, так же как и дерево модулей может иметь вложенность и является стволом и ветками этого дерева, а структурная часть - листья. Структура листьев строго определена, и там уже не может быть вложенности подобных элементов, как это возможно у концептов.

Инструменты

Для реализации всего вышеописанного и создан этот сервис, вы можете создать умвельт вашего проекта, двигаясь от общего к частному, в формате mindmap. Под каждым элементом можно сразу увидеть, как он будет отражен в коде и спецификации. А когда умвельт будет готов, вы можете добавить зависимость {:umwelt, "~> 0.2"} в mix.exs и скачать структуру кода (без реализации функций) и тесты, которые вы сразу сможете запустить.

umwelt элемент структура


Dive deeper


  • Дерево и листья

    Майндмап отражает дерево концептов, но нам нужно соединить концепты и факты. Добавим в майндмап стероиды, чтобы он мог отразить умвельт вместе с фактами, которыми оперируют эти концепты.

    умвельт майндмап структура



  • Перевод в Эликсир

    Майндмап отражает дерево концептов, но нам нужно соединить концепты и факты. Добавим в майндмап стероиды, чтобы он мог отразить умвельт вместе с фактами, которыми оперируют эти концепты. Описание элементов концепции Umwelt для перевода на язык Elixir, включая концепты, атрибуты, структуры, функции и утверждения.

    умвельт элементы концепты факт программирование



  • Инструменты разработчика

    Анализ связей между концепцией Umwelt и программированием через категории и действия.

    умвельт программирование инструменты


Buzzwords
объектная коммуникация акторно-сетевая mindmap финансовый концептуализация домен лингвистика когнитивного-капитала очки проблема социальная-сеть стримы мультимедиа инструменты познание структура вавилон scrum социальное-действие discord позитивизм безопасность майндмап операционализация множественных-миров концепты язык теория umwelt теории деконструкция процедурная психологизм функциональная эпистемология философия тройки-хоара теория-институционализации teamwork разработка теория-потребления факт разрыв концепт медиации-рынка постструктурализм императивная аналитика объект коммуникации-знаний антропология исследование эмпиризм корпоративный семантика e-commerce мессенджеры сетевых-сообществ big-data сервис предмет верификация производство аспектная теория-поля элементы слон смысл геймдев сильных-слабых-связей программирование социального-капитала метафора динамики-социальных-групп проекты умвельт социального-обмена дистрибуция структурный-функционализм сетей-платформ информационный социология маркетплейс априоризм капиталистических-систем синтаксис идеи дисциплинарной-власти теория-структурирования парадигма знание теория-систем автоматизация теория-медиатизации элемент облачный рационализм символического-взаимодействия сложность информационного-общества