Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
systems_engineering_thinking_2015.pdf
Скачиваний:
328
Добавлен:
28.03.2016
Размер:
8.09 Mб
Скачать

Системноинженерное мышление

TechInvestLab, 2 апреля 2015

54

некая сущность, находящаяся в определённой роли или сделанная для определённой роли;

сама роль сущности (обычно это роль физической вещи), участвующей в активности (поведении) [Играемая роль и сущность, играющая роль — это разное! Роль - Гамлет, сущность - Высоцкий];

указание на корреляцию, обычно как на физическую связь между какими-то аспектами: “если высота растёт, то давление падает”;

математическое отношение между числовыми объектами, определяющее их отображение друг на друга/mapping.

Ещё один пример — что может подразумеваться под часто встречающимся в информационном моделировании отношением “мета”? При обсуждении одного из языков моделирования данных (MOF, meta-object facility) было обнаружено, что слово “мета” (meta) используется в шести разных значениях, выражая шесть разных типов отношений (слайд 8 в подробной презентации http://jtc1sc32.org/doc/N1751- 1800/32N1764-WG2-Tutorial-OnMOF-forSC32.ppt ):

экземпляризация (отношение типа и экземпляра);

группирование (отношение типа и подтипа), оно же категоризация (философская, а не из теории категорий, термин “категория” любим самыми разными речевыми сообществами, и обозначает в них разное!);

описание (отношение описания и описываемого объекта);

применение/стереотип (отношение шаблона и его воплощения);

варьирование (отношение основной модели и кастомизированной);

реализация (отношение абстрактного синтаксиса и соответствующего ему выражения).

Вобщем, никогда не зацикливайтесь на выбранных другими конкретных словах, слова никогда не выражают всю истину. Каждый раз пытайтесь понять, о чем в действительности идёт речь, какое значение слова имелось в виду в каждом конкретном случае. Использование терминов из стандартов не гарантирует

однозначного понимания собеседником, но и использование многозначных слов не обязательно ведёт к сложностям. "Косил косой косой косой" — ведь всё понятно, не правда ли?

В этой книге не будет попыток дать точные определения и выбрать правильные термины. Мы постараемся передать понимание наиболее важных понятий и предложить разные слова, которыми их можно обозначать. На вопрос “сколько будет дважды два” будут приниматься ответы и IV, и 4, и “четыре”, и four. Но не нужно обольщаться: ответы “горшок”, 5, “per aspera ad astra” – приниматься не будут.

Что такое онтология

Онтология — это и наука, отвечающая на вопрос “что есть в мире” (по-русски иногда говорят “учение о бытии”, “учение о сущем”), и конкретный вариант ответа на этот вопрос. В этом она похожа на науку логику, по законам которой строятся и булева логика, и темпоральная логика, или на науку геометрию, в рамках которой развиваются теории Евклидовой или Римановой геометрий на основе разных наборов аксиом. Понимая законы онтологии, мы можем понять и 4D

Системноинженерное мышление

TechInvestLab, 2 апреля 2015

55

экстенсиональную онтологию, и онтологию виртуальности С.Дацюка, и христианскую онтологию, хотя они предполагают мир устроенным и описываемым принципиально по-разному.

Любая онтология, определяющая, что есть в мире, должна быть как-то записана, выражена в какой-то терминологии, то есть, представлена как “онтологическое описание”. В обычной речи часто путают “онтологическое описание” мира и саму онтологию. Про описание (схему нарезки мира на объекты) говорят как про онтологию (объекты, выделяемые в мире), опуская слово “описание”. Разницу обычно можно понять из контекста. Мы ещё не раз вернёмся в нашей книжке к вопросам различения объекта, его определения и описания.

Философы много веков составляли очень неформальные описания мира, их книги были метафоричны, многозначны и мутны. Упоминавшийся выше Andries van Renssen заметил, что “философы прошлого недорабатывали по части строгости изложения своих философских трудов, задача получения строгого философского знания выпала на нашу долю”. В 20 веке к онтологии проявили интерес разработчики программ искусственного интеллекта: их интересовало, как описывать мир настолько однозначно, чтобы даже компьютер мог интерпретировать эти описания. Они и сформулировали новое определение онтологии (вернее, онтологического описания): “онтология — это разделяемое формальное описание/представление набора понятий (”An ontology is a formal specification of a shared conceptualization”, Tom Gruber — http://tomgruber.org/writing/ontology-definition-2007.htm).

Конкретная онтология (а не наука в целом!) — это один из вариантов ответа на вопрос “что есть в мире?”. В общем-то, философы и логики придумали множество таких вариантов. Есть ли они вообще в мире объекты, процессы, отношения, вещи, поля? Если есть – то каковы они? Есть ли экскаваторы, торсионные поля, Гарри Поттер, философский камень, вещи, Сатана и боги греческого пантеона, биржевая котировка, благовоспитанность, справедливость, и даже философия и сама онтология? Существуют ли X=4, E=mc2, гамильтониан и лагранжиан, метод конечных элементов, бит и байт, модуль упругости и его разные типы? Разные онтологии дают разные ответы на эти вопросы — а онтология как общая дисциплина изучает способы, которыми даются эти ответы.

Чем отличается семантика от онтологии?

Семантика — это про то, как мы связываем знаки/символы с означаемым, с понятиями. Символ “$” связан с денежной валютой “американский доллар”. "Что означает в тексте символ $?" — это вопрос про семантику.

Онтологическая проблема — это ответ на вопрос: "что такое американские доллары?". Есть ли они в мире как отдельная сущность, явление, находится ли это явление только в наших головах – всё это онтологические вопросы.

Разумеется, в жизни очень часто путают вопросы “что означает знак X” и “что такое X”. ”Что такое насос?” — это спрашивают, что означает слово “насос”, или спрашивают, что такое “быть насосом" в реальном мире? Пока нам достаточно научиться различать эти вопросы.

Упражнение: попробуйте дать ответ на онтологический вопрос — “что такое американский доллар?” [Это “риторическое упражнение”: вряд ли вы дадите осмысленные ответы без знаний по теории денег и опыта онтологической работы] Можете поглядеть на список вариантов: физический предмет, абстракция, процесс,

Системноинженерное мышление

TechInvestLab, 2 апреля 2015

56

вид товара “деньги”, валюта, фиатные деньги, единица измерения, запись на счетах. Ответьте на тот же вопрос про биткойн. Чем они отличаются онтологически?

Испытываемые вами трудности ровно того же порядка, что и у инженеров, когда им нужно определить для информационной системы в компьютере “что такое номинальный диаметр трубопровода” и как он связан с реальным диаметром, или “что такое техническое присоединение к теплосети”. А когда инженеры и менеджеры доходят до объяснения компьютеру технико-экономической модели, тогда и вопросы про американский доллар и биткойн оказываются вполне относящимся к делу.

Более подробно про онтологию и семантику при создании инженерных информационных систем можно прочесть тут: http://techinvestlab.ru/ISO15926OntologAndSemantic.

Мы пока не будем останавливаться на разнице между онтиками (наборами фактов о каком-то предмете/предметной области) и онтологиями (наборами фактов о мире в целом). Много людей называют онтики онтологиями, и пока вокруг нет маститых философов, это вполне приемлемо.

Индивиды, классы и классификаторы

Как же людям удаётся договориться о том, как устроен мир, да ещё и формально, то есть с возможностью использовать эти договорённости для записи информации о мире и создания моделей мира в памяти компьютеров?

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

В рамках этого подхода необходимо научиться видеть сущности, категории, отношения между ними. Все сущности/объекты в первую очередь делятся на конкретные (индивиды) и абстрактные (классы и отношения).

Индивид — это индивидуальный, уникальный объект, существующий в физическом мире. Но что такое “существование в физическом мире”? Для этого есть множество философских критериев, и мы выберем самый "научный" из них. Мы будем считать, что существуют те объекты, у которых есть место в пространстве-времени (4Dподход, четырёхмерное пространство “по Эйнштейну”). Такой объект имеет некую протяжённость в пространстве (то есть размер, длину, ширину, высоту, радиус) и во времени (то есть имеет момент когда он начал существование, и момент, в который он закончил существовать). Место индивида в 4D называется "экстент" (extent), и соответствующий взгляд на мир получил название "экстенсионализм" (extensionalism). Поля и энергии мы тоже будем считать 4D объектами, физические тонкости такого подхода для нас пока не важны.

Теперь вспомните основные определения и утверждения теории множеств. Множество состоит из элементов. Например, мы можем рассмотреть множество всех индивидов x, таких, что x является автомобилем. В математической нотации теории множеств (мы сейчас начнём ей пользоваться, а потом поговорим о языках и нотациях подробнее) это можно записать так:

{x | Car(x)}

Системноинженерное мышление

TechInvestLab, 2 апреля 2015

57

где Car(x) – логический предикат (функция. ставящая в соответствие любому объекту x значения Истина или Ложь, и истинная в том и только том случае, когда x – автомобиль). Логика и теория множеств тесно связаны, в литературе по моделированию данных, онтологии или логическим вычислениям вы встретите одни и те же математические конструкции из дискретной математики.

Имеет ли множество экстент? Мы будем считать, что не имеет, и это будет для нас определяющим признаком абстрактного объекта, не являющегося индивидом. Пусть x – индивид, но вспомните, что множество из одного индивида – это не то же самое, что этот индивид:

x {x}

Поэтому x имеет протяжённость в пространстве-времени, но само множество – это нечто иное, это как раз абстрактный объект. Множества - это способ думать о какихто сущностях, математические абстракции.

Вы можете встретить и иной подход, когда множество считается объединением всех своих членов, состоит из членов как из частей, и поэтому вроде бы имеет материальную протяжённость. Этот подход – иной онтологический выбор, иной взгляд на мир, и нельзя сказать, что он более или менее правильный, чем наш. Однако при рассуждениях о мире с инженерной точки зрения удобно считать, что разбиение индивидов на категории, множества – это совсем не то же самое, что разбиение индивидов на части. Разбиение на категории, выделение множеств – называется классификацией, а разбиение на части – просто инженерным разбиением (breakdown), о них вы прочтёте далее.

Итак, в рамках нашего дальнейшего рассмотрения мы будем считать, что абстрактные объекты, те, которые не являются индивидами – не имеют протяжённости в 4D, не имеют экстента.

Мы будем далее говорить не о "множествах", а о "классах", полагая пока, что это одно и то же. И это вовсе не классы из объектно-ориентированного программирования!

Отношением классификации будем называть членство объекта в классе, принадлежность элемента множеству. Стандартное обозначение того, что x – элемент множества/класса X:

x ϵ X

На некоторых типах диаграмм (например, язык EXPRESS-G) вы можете встретить стрелочку (направленную от класса к члену класса):

X → x

Отношением специализации двух классов — это отношение множества и подмножества (это отношение между двумя множествами, разумеется). Стандартное обозначение того, что множество/класс B – подмножество/подкласс множества/класса A:

B A

На диаграммах EXPRESS-G это отображается стрелочкой с круглым концом, направленной от класса к подлассу:

А B

А вот в диаграммах UML то же самое отношение специализации отображается стрелочкой с треугольным концом, направленной совсем в другую сторону:

Системноинженерное мышление

TechInvestLab, 2 апреля 2015

58

Может ли быть множество членом другого множества? Да, конечно — тогда мы будем иметь дело с множеством множеств или классом классов.

Эйфелева башня (индивид) является элементом класса БАШНЯ — это отношение классификации, членства.

Эйфелева башня ϵ БАШНЯ

Класс БАШНЯ это подкласс класса СООРУЖЕНИЕ — это отношение специализации, подмножество.

БАШНЯ СООРУЖЕНИЕ

Но мы можем определить и более хитрый класс – класс ТИП СООРУЖЕНИЯ. Это как раз класс классов, классификатор. Классы БАШНЯ и МОСТ будут элементами класса ТИП СООРУЖЕНИЯ.

ТИП СООРУЖЕНИЯ = { БАШНЯ, МОСТ, ДОМ, … }

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

Обратите особое внимание на классификаторы: классы классов. Если бы не эта конструкция, нам было бы трудно уйти от представления о том, что в мире есть главный (а то и вообще единственный!) классификатор — одна иерархия “род-вид”, что-то типа таксономического дерева Линнея в биологии. Там все живые существа классифицируются каким-то одним видом, вид принадлежит к одному классу и так далее. Такой подход, может быть, и справедлив в чистой биологии (хотя современная генетика уже ставит его под сомнение), но уж в инженерии он точно неприменим.

И в инженерии, и в иных отраслях знания разным людям нравятся разные классификаторы, разные типы родо-видовых отношений, удобные для их деятельности. Как же жить в таком мире, где нет “первичной и одной на всех иерархии классов”, как моделировать взгляды разных людей так, чтобы даже компьютеру было понятно? Очень просто: надо использовать разные классификаторы, они же классы классов. Разные взгляды на мир моделируются, прежде всего, вариантами классификаторов. А разнообразие мира внутри одного взгляда уже моделируется таксономией – деревом специализаций, отношений подмножества.

Например, классификатор продовольственных товаров не считает банан ягодой, как биологи https://ru.wikipedia.org/wiki/Банан. Классификатор Линнея — это класс классов живых существ, множество классов, выстроенных в дерево. Классификатор санитарно-эпидемиологического надзора – другой классификатор, позволяющий тоже классифицировать живые существа, но по иным признакам и в иные группы.

Ещё одним абстрактным объектом являются отношения – это пары объектов, или даже группы/кортежи из нескольких объектов. Одно отношение это отношение между индивидами, например (в виде логического предиката):

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]