Данная статья нацелена на обсуждение применения измерения абстрактности.
В книге — Архитектура и стратегия. Инь и Янь информационных технологий предприятия — красной нитью проходит использование уровней абстрактности для создания моделей предприятия и информационных технологий. Аналогичная мысль содержится в классификации уровней информационных систем для предприятий связи — Бизнес-процессы в компаниях связи
На аналогичную идею применения абстрактности я вышел в 2003 году при чтении учебников философии (Философия для аспирантов). Через год (в результате обсуждения идеи на форуме) появилась идея измерения абстрактности в процентах.
Чтобы оставить в покое философию и перейти к IT, отмечу, что на мой взгляд, абстрактности 100% соответствует понятие идеи Платона и Гегеля, для осознания которой достаточно только самого понятия идеи. Узнаете рекурсию?
Абстрактность 0% (опять же, на мой взгляд) имеет абсолютный вакуум. Для него достаточно идеи «Ничего нет!».
Итак, вернемся к информационным технологиям, точнее — к модели взаимодействия открытых систем. Оказывается, уровни ВОС тоже расположены в порядке возрастания абстрактности! После попыток вместить мировоззрение программиста в стандартную семиуровневую модель, ее (модель) пришлось расширить до 9 уровней.
Отвлекусь на определение понятия "система". После чтения вариантов определений выяснилось, что не существует систем, не стремящихся к самосохранению. Отсюда — появилось определение системы:
Система — структура, способная поддерживать состояние гомеостаза (обсуждение — http://www.philosophystorm.org/palex/2973).
В связи с распространенностью программных систем и модулей System в средствах разработки был выделен Системный уровень (System layer).
Еще один уровень, Преобразующий (Transformation layer) был выделен на 50% абстрактности, что соответствует медиане реальности.
Итак, для практического использования предлагается следующая последовательность уровней:
- Прикладной
- Представительский
- Сеансовый
- Транспортный
- Преобразующий
- Сетевой
- Системный
- Канальный
- Физический
Обсуждается связь уровней с разделами человеческого знания. Для использования примитивов для уровней предлагается следующие графические и символьные обозначения:
Источник — http://integral-community.ru/magazine/Integral-philosophy-mag2.pdf, стр.86
Кроме применения подхода для моделирования, расширенная модель ВОС может найти применение для проектирования универсальных языков программирования. В качестве первого приближения можно предложить следующее соответствие уровней и элементов языка программирования:
прикладной уровень ( Application layer )
functional — Функциональное — для разделов, использующих функциональное программирование.
представительский уровень ( Presentation layer )
aspect — Аспектное — для интерфесов и аспектов. Для методов могут указываться необходимые свойства и дополнения, используемые перед методом (before), после метода (after) и при выполнении каждого оператора (invariant)
сеансовый уровень ( Session layer )
predicate — Логическое — соответствует Булевым переменным, доказательству теорем, Аристотелевкой логике, работе с запросами SQL, LINQ или простейшим операциям Prolog.
транспортный уровень ( Transport layer )
controller — Управляющее — соответствует контроллеру (Controller) модели MVC
преобразующий уровень ( Transformation layer )
publish — Изменяемое — соответствует представлению (View) для модели MVC
межсетевой уровень ( Network layer )
public — Соединяющее — соответствует модели базы данных (Model) модели MVC
системный уровень ( System layer )
protected — Защищенное — внутренние элементы класса
канальный уровень ( Link layer )
private — Внутреннее — скрытые элементы класса
физический уровень (Physical layer)
local — Блоковые — переменные методов и блоков
Для анализа предлагается следующая последовательность проникновения в смысл происходящего:
Спасибо за внимание критикующих.
Литература и ссылки:
- Данилин А., Слюсаренко А. Архитектура и стратегия. Инь и Янь информационных технологий предприятия, М., Интернет-Ун-т Информ. Технологий, 2005
- Чаадаев В.К. Бизнес-процессы в компаниях связи. Эко-Трендз. 2004
- Сальников В.П. Сандулов Ю.А., Гуцериев Ч.С., Кальной И.И. Философия для аспирантов — СПб.: Издательство “Лань”, 2001
- Предложения по применению модели взаимодействия открытых систем для разработки универсального языка программирования http://pl2-rainbow.livejournal.com/1710.html
Тема предназначена для ознакомления с идеей шкалы абстрактности и обсуждения ее соответствия с моделью взаимодействия открытых систем.
Может появиться вопроc: «А что дальше?».
Тем, у кого такой вопрос появился, предлагаю ознакомиться со статьей по Туннельному моделированию Единого знания
http://integral-community.ru/magazine/Integral-philosophy-mag2.pdf, стр.81-96.
Однако для ответов на вопросы по этой теме будет создана отдельная статья.
ссылка на оригинал статьи http://habrahabr.ru/post/176249/
Добавить комментарий