Рус Eng Cn Перевести страницу на:  
Please select your language to translate the article


You can just close the window to don't translate
Библиотека
ваш профиль

Вернуться к содержанию

Кибернетика и программирование
Правильная ссылка на статью:

Контролируемое формирование понятий с нечётким значением в архитектурном моделировании систем с программным обеспечением

Соснин Пётр Иванович

доктор технических наук

профессор, кафедра «Вычислительная техника», Ульяновский государственный технический университет

432027, Россия, Ульяновская Область область, г. Ульяновск, ул. Северный Венец, 32

Sosnin Petr

Doctor of Technical Science

Professor, Department of Computer Engineering, Ulyanovsk State Technical University

432027, Russia, Ul'yanovskaya Oblast' oblast', g. Ul'yanovsk, ul. Severnyi Venets, 32

sosnin@ulstu.ru
Куликова Анна Александровна

аспирант, кафедра «Вычислительная техника», Ульяновский государственный технический университет

432027, Россия, Ульяновская область, г. Ульяновск, ул. Северный Венец, 32

Kulikova Anna

Postgraduate Student, Department of Computer Engineering, Ulyanovsk State Technical University

432027, Russia, Ul'yanovskaya oblast', g. Ul'yanovsk, ul. Severnyi Venets, 32

a.push1206@gmail.com
Наместников Алексей Михайлович

доктор технических наук

доцент, кафедра «Информационные системы», Ульяновский государственный технический университет

432027, Россия, Ульяновская область, г. Ульяновск, ул. Северный Венец, 32

Namestnikov Aleksey

Doctor of Technical Science

Associate Professor, Department of Information Systems, Ulyanovsk State Technical University

432027, Russia, Ul'yanovskaya oblast', g. Ul'yanovsk, ul. Severnyi Venets, 32

nam@ulstu.ru

DOI:

10.25136/2644-5522.2019.3.28245

Дата направления статьи в редакцию:

03-12-2018


Дата публикации:

19-11-2019


Аннотация: Предметом исследования является онтологическое моделирования концептов (понятий), имеющих нечёткое значение, неконтролируемое использование которых обычно приводит к проблемам с успешностью разработок систем, интенсивно использующих программное обеспечение (Software Intensive Systems, SIS). Объектом исследования является овеществление характеристик качества SIS, которые относятся к типичным концептам такого типа. Особое внимание уделяется требованиям тех лиц проектного окружения (стейкхолдеров), разнородные интересы которых обычно вносят неопределённость в требования к разрабатываемой SIS, но должны быть учтены в проекте в обязательном порядке. В работе предлагается согласованное применение методов архитектурного моделирования и нечёткой логики для оценок характеристик качества, которые должны быть вычислимы и контролироваться по ходу проектирования. Новизну исследования определяет включение в структуру и содержание концептов с нечётким значением новых составляющих, регистрирующих динамику их становления по ходу проектирования определённой SIS так, что для каждого из таких концептов текущее значение его содержания позволяет контролировать достигнутое значение степени (уровня) профессиональной зрелости овеществления концепта. Новыми составляющими являются расширение атрибутики концепта и оперативная вычислительная связь атрибутики с нормативными потоками работ, группы которых согласованы с уровнями профессиональной зрелости овеществления концептов в проекте.


Ключевые слова:

автоматизированное проектирование, онтология проектирования, нечёткая логика, автоматизированные системы, анализ требований, концептуальное пространство, функция принадлежности, прикладные онтологии, модель зрелости, оценочное значение

Исследование выполнено в рамках грантов Российского фонда фундаментальных исследований (РФФИ) №18-07-00989а, №18-47-730016 р_а, №18-47-732012 р_мк, а также государственного задания №2.1534.2017/4.6.

Abstract: The subject of the research is ontological modeling of concepts (concepts) that are of fuzzy significance, the uncontrolled use of which usually leads to problems with the success of the development of systems that use software intensively (Software Intensive Systems, SIS). The object of the study is the reification of SIS quality characteristics that relate to typical concepts of this type. Particular attention is paid to the requirements of those persons of the project environment (stakeholders), whose diverse interests usually add uncertainty to the requirements for the developed SIS, but must be taken into account in the project without fail. The paper proposes a coordinated application of architectural modeling methods and fuzzy logic for evaluating quality characteristics, which should be computable and controlled during the design process. The novelty of the study is determined by the inclusion in the structure and content of concepts with a fuzzy value of new components that register the dynamics of their formation during the design of a certain SIS so that for each of these concepts the current value of its content allows you to control the achieved value of the degree (level) of professional maturity of the concept. New components are the expansion of the attributes of the concept and the operational computational connection of attributes with the normative work flows, the groups of which are consistent with the levels of professional maturity of the conceptualization of the concepts in the project.


Keywords:

computer-aided design, project ontology, fuzzy logic, software intensive systems, requirements analysis, conceptual space, membership function, applied ontologies, maturity model, estimated value

Введение

В последние годы были предпринят ряд попыток переосмыслить базовые концепции программной инженерии, включая вопросы разработки систем, интенсивно использующих программное обеспечение (SIS), важнейшим подклассом которых являются автоматизированные системы (АС). Основной причиной инновационного переосмысления была и является проблема чрезвычайно низкой степени успешности [1] в создании современных SIS, в решении которой конструктивный учёт человеческого фактора занимает принципиальное место. Среди перспективных попыток переосмысливания концепций следует особо отметить инициативу SEMAT (Software Methods and Theory) [2] и внедрение в практику проектирования SIS методологии проектного мышления (Design Thinking, DT) [3]. Обе эти попытки затрагивают особенности концептуальной активности проектировщиков в реальном процессе проектирования. Для подхода SEMAT это активное использование гибкого мышления, в то время как DT-подход фокусирует внимание проектировщиков на осознании задачных ситуаций, формулировке постановок задач, идей их решения и концептуальном прототипировании. Но практически все попытки исходят из того, что негативные проявления человеческого фактора обусловлены проблемами с пониманием задач, ситуаций и событий в процессах индивидуальной или совместной работы над проектом в условиях непривычной и высокой сложности взаимодействия разработчиков SIS с их проектами.

Одним из принципиальных направлений овладения сложностью и снижения негативных проявлений человеческого фактора, обусловленных проблемами с пониманием, считается архитектурное моделирование SIS [4], в осуществлении которого центральное место занимает снижение сложности взаимодействия с SIS в точках её жизненного цикла за счёт использования совокупности согласованных «точек зрения» (viewpoints) на проект и соответствующих им видов (views), в каждом их которых конструктивно регистрируется необходимое понимание.

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

Проектирование любой SIS является источником разнообразных ситуаций, в каждой из которых необходимо конструктивно обеспечить достижение достаточного понимания. Понимание должно быть реализовано в рамках языка проекта LP(t), создаваемого в процессе проектирования. Более того, акты понимания осуществляются проектировщиками в текущем состоянии LP(t), тем самым подтверждая, что это состояние является адекватным для разрабатываемого проекта. Результаты понимания лучше регистрировать в формах, которые могут быть использованы повторно, поскольку они позволяют согласовать понимание всех заинтересованных сторон, участвующих в проекте.

Среди важнейших форм регистрации согласованного понимания необходимо отметить архитектурное описание проектируемой системы. Такое описание состоит из комплекса архитектурных видов, каждый из которых связывает определенную блок-схему с ее описанием на языке проекта LP(t). Качество интегрированных архитектурных решений существенным образом зависит от ядра LP(t), которое целесообразно строить в форме онтологии проекта OP(t), включающей в себя понятия (концепты), без которых обеспечение понимания и повторное использование его зарегистрированных следов невозможно.

Принципиальной особенностью любой онтологии OP(t) является то, что её компоненты должны найти свою объективацию в соответствующем проекте. Это требование распространяется на концепты (понятия), прямо или косвенно связанные с оценкой «успешности» проекта. Среди подобных концептов важное место занимают те из них, которые применяется в описании архитектурных видов, – прежде всего, подмножество концептов, выражающих интересы (concerns), вовлеченных в проект стейкхолдеров. Зачастую нарушения требований, выражающих интересы стейкхолдеров, приводят к неудачам проектирования. С этой точки зрения, часть требований, учитываемых в архитектурных моделях имеет как семантическое выражение, так и оценочное значение: например, требования, предъявляемые к характеристикам качества, – «расширяемость», «масштабируемость», «понятность» и т.д.

В рамках данного исследования рассматриваются онтологические спецификации нечетких концептов, включая их оценочное значение. Предлагаемые решения ориентированы на их материализацию в инструментальной среде моделирования OwnWIQA [5]. Этот инструментарий поддерживает деятельность проектировщика на концептуальном этапе и включает в себя средства онтологического сопровождения разработки архитектурных решений.

1. Предпосылки

1.1. Проблемы, связанные с архитектурными описаниями и их характеристиками

Как было отмечено выше, по ходу разработки определенной SIS проектировщики формируют язык проекта, ядро которого содержит значимые концепты – некоторые из них относятся к требованиям (характеристикам), которые должны найти свои спецификации в процессе архитектурного моделирования разрабатываемой SIS. Согласно стандарту ISO/IEC/IEEE 42010:2011, такие характеристики имеют следующее определение: «интересы к разрабатываемой системе, проявляемые одной или рядом заинтересованных сторон».

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

Рис.1. Виды характеристик, выражающих интересы

Понимание заинтересованных сторон и их интересов является основой для создания успешной архитектуры, поскольку разнообразие заинтересованных сторон и их интересов создают плодотворную среду и, соответственно, приводят к сложностям, с которыми сталкиваются архитекторы, а они, в свою очередь, должны учитывать эти сложности при разработке архитектурных решений. Чтобы подчеркнуть значимость данных условий, представим ряд интересов из их списка, приведённого в публикации [6]: приемлемость, доступность, точность, адаптивность, управляемость, ценовая доступность, гибкость, гарантированность, проверяемость, автономность, возможность резервного копирования, соответствие бизнес-целям, сертифицированность, совместимость с другими подсистемами, полнота, сложность, соответствие нормативным требованиям, концептуальная целостность, согласованность, конфиденциальность, конфигурируемость, правильность, настраиваемость, доступность данных, конфиденциальность данных, надежность, удобство развертывания, возможность аварийного восстановления, документируемость, долговечность, легкость обучения, простота использования, экономичность, эффективность, производительность, расширяемость, отказоустойчивость, гибкость, внедряемость, взаимозаменяемость, интуитивность, правомерность, локализуемость, ремонтопригодность, управляемость, мобильность, изменяемость, модульность, открытость, оперативность, переносимость, качество обслуживания, возможность восстановления, соответствие нормативным требованиям, воспроизводимость, время отклика, возможность повторного использования, безопасность, масштабируемость, удобство обслуживания, простота, стабильность, тестируемость, своевременность, отслеживаемость, понятность, удобство использования, универсальность и др. Этот список открыт для включения в него других характеристик, но его можно взять за основу для заимствований в любом проекте (это основная причина включения данного списка в нашу статью).

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

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

Существуют следующие подходы к нечеткой спецификации характеристик, которые имеют оценочное значение:

· Большая часть характеристик, соответствующих требованиям качества, содержит формулы для вычисления их метрик в стандарте ISO/IEC/IEEE 52010:2011 (бывший стандарт ISO 9126), и эти метрики могут использоваться для определения характеристик качества как соответствующих нечетких переменных.

· Для оценок некоторых характеристик можно использовать стандарты, которые предписывают им нормативы профессиональной зрелости – например, CMMI-1.3 Development, PMBOK 5 или P1M3.

· Существуют нечеткие характеристики, которые уже имеют нормативные шкалы для выражения их оценочного значения – например, «информационная безопасность» имеет шкалу с семью уровнями оценки (по стандарту ISO/IEC 15408).

· Необходимо проанализировать текстовое описание выбранной характеристики и придумать ее спецификацию в форме соответствующей нечеткой переменной.

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

1.2. Профессиональная зрелость архитектурного моделирования

В предметной области архитектурного моделирования сложился богатейший опыт, практики которого принято квалифицировать и оценивать с позиций профессиональной зрелости, ориентируясь на модели профессиональной зрелости (Maturity Models) [7].

С позиций профессионально зрелого архитектурного моделирования и оценок его реализации следует различать:

1. Профессиональную зрелость построения архитектурного описания разрабатываемой системы.

2. Профессиональную зрелость овеществления архитектурного описания в реализации системы.

Именно по этой причине архитектурное описание (Architeture Description, AD) в его текущем состоянии (изменяясь при необходимости) востребовано на всех этапах жизненного цикла разработки и эксплуатации соответствующей SIS.

Представим детальнее вопросы профессиональной зрелости в построении AD. В наиболее общем плане артефакт такого типа создают для полезного сопровождения (maintenance) практически всех активностей, осуществляемых в жизненном цикле АС (если учесть возвраты назад, обусловленные управлением изменениями).

Если интерпретировать создание AD в разработке определённой АС как проект по созданию системы (подсистемы AD), то, в связи с вышесказанным, для неё особо значимым атрибутом качества является «сопровождаемость» (maintainability). Учитывая, что подавляющее число атрибутов качества являются нечёткими понятиями, в первом приближении к «архитектурной сопровождаемости» с этим понятием целесообразно связать значение «сопровождаемости» в его понимании, представленном в стандарте ISO/IEC 9126.

Согласно данному стандарту, «сопровождаемость» интегрирует проявления свойств, описанных чуть ниже, за каждым их которых также стоит интеграция совокупности родственных качественных разновидностей, причем также нечётких по своей природе. На первом уровне детализации сопровождаемость включает в себя:

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

2. Удобство внесения изменений (Changeability) – показатель, обратный трудозатратам на выполнение необходимых изменений.

3. Стабильность (Stability) – показатель, обратный риску возникновения неожиданных эффектов при внесении необходимых изменений.

4. Удобство проверки (Testability) –­ показатель, обратный трудозатратам на проведение тестирования и других видов проверки того, что внесенные изменения привели к нужным результатам.

5. Соответствие стандартам удобства сопровождения (Maintainability compliance).

Учитывая специфику конструкта AD, интерпретируемого как подсистема, применяемая в проектировании АС, используемую в стандарте 9126 спецификацию «сопровождаемости» целесообразно расширить, включив в него характеристику «понятность» (Understandability).

Такой приём осуществлён в [8], где авторы этой публикации приводит версию модели зрелости для разработки AD, представляя «сопровождаемость» композицией следующих атрибутов (и их составляющих): Stability (структурируемость, секционность, сложность), Analyzability (понятность, трассируемость), Changeability (модифицируемость, расширяемость), Testability (в смысле предсказуемость). Для выбранных атрибутов в [8] предложена модель зрелости, в которой специфика уровней зрелости отражена в их названиях:

1. Уровень 1. Диаграммный.

2. Уровень 2. Моделируемый.

3. Уровень 3. Документируемый.

4. Уровень 4. Трассированный.

5. Уровень 5. Обоснованный.

Таким образом, включение в процессы архитектурного моделирования интерпретации его процессов и результата с позиций профессиональной зрелости приводит, во-первых, к конструктивному представлению (на каждом уровне) «точек зрения» заинтересованных сторон, а во-вторых, к возможности оценивания каждого требования, учитываемого в AD, как лингвистической переменной с нечёткими значениями, привязанными к шкале уровней зрелости.

1.3. Характеристики проектных онтологий в среде WIQA

Как было отмечено выше, для работы с нечеткими характеристиками авторами принято решение использовать инструментарий OwnWIQA, который включает подсистему для создания проектных онтологий и их объединения в комплексы – например, для семейства связанных проектов (для семейства SIS). Концептуальная модель таких онтологических структур представлена на рис. 2.

Онтология проекта создается в форме рабочего словаря (соответствующего определенному проекту), который делится на группы и подгруппы. Концепт онтологии (понятие) – это элемент словаря, который может быть представлен его спецификацией, загруженной в соответствующую ячейку семантической памяти вопросно-ответного типа [8].

Рис. 2. Структура создаваемой онтологии проекта

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

Рисунок4

Рис. 3. Типичная структура концепта

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

2. Родственные исследования

Первая группа родственных работ содержит публикации, посвященные месту и роли характеристик, выражающих интересы различных стейкхолдеров, в архитектурном описании систем с программным обеспечением. Глубокий анализ разнообразных характеристик, а также характеристики из стандарта ISO/IEC/IEEE 42010:2011 приводится в публикации [6]. Ряд представлений среды архитектурного моделирования приведён в статье [9], где описываются точки зрения, которые определяют главные принципы для создания и построения архитектурных представлений. В исследовании [10] рассматриваются особенности таких характеристик и точек зрения в сервис-ориентированных приложениях. Реальная практика архитектурных решений обсуждается в публикации [11], учитывающей промышленную разработку SIS. Ретроспективный обзор теории и практики построения архитектурных описаний представлен в работе [12].

Среди работ, посвященных использованию онтологий в проектировании SIS, начнём с публикации [13], в которой отмечено, что в теории и практики применения онтологий в проектировании ещё не накоплено достаточно опыта. Специфика проектных онтологий раскрыта в отчёте [14], в котором основное внимание уделяется «людям, процессу и продукту» и совместному пониманию взаимодействий. Проблемы онтологического сопровождения процессов разработки программных систем раскрыты в работе [15]. Особо отметим публикацию [16], в которой онтология проекта применяется для анализа и формулировки архитектурных требований.

Еще одна группа родственных работ посвящена использованию онтологий и нечетких концептов в практике архитектурного моделирования. В этой группе, прежде всего, необходимо отметить публикацию [17], в которой приведена конструктивная версия онтологического сопровождения процесса формирования требований к разрабатываемой SIS, и статью [18], в которой представлен нечеткий подход к количественной оценке характеристик AD, основанный на архитектурных знаниях. Оригинальная версия онтологического подхода к принятию решений, учитывающая нечёткость используемых понятий, представлена в публикации [19].

3. Онтологическая спецификация архитектурных характеристик

3.1. Масштаб оценочных значений

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

1. Характеристика, как одно из архитектурных требований, адекватно определена, а ее спецификации согласованы с планируемым оценочным значением.

2. Текущее состояние характеристики согласуется с другими характеристиками с целью образования соответствующей системы характеристик.

3. Для характеристики создано и зарегистрировано соответствующее графическое представление. Такое представление отражает условия, материализация которых приведет к объективизации характеристики.

4. Материализованы условия, соответствующие представлению характеристики, которые корректируются при достижении запланированного значения.

5. Интегрированная модель состояний характеристики подготовлена и зарегистрирована для повторного использования.

Указанные состояния являются контролируемыми результатами процесса, направленного на достижение запланированного оценочного значения характеристики, интерпретируемой как соответствующее требование. Более того, это достижение подтверждается материализацией данного требования. Что подсказывает решение связать с характеристикой нечеткий атрибут «достигнутое состояние планируемого значения характеристики», который позволил бы в режиме реального времени отслеживать состояния материализации характеристики в ходе проектирования.

Такая интерпретация оценки объективации рассматриваемой характеристики коррелируется с возможностями применения моделей зрелости процессов в разработке программного обеспечения. Как правило, подобные модели ориентированы на шкалу с пятью уровнями зрелости. В специализированных прикладных моделях эти уровни имеют различные интерпретации. Среди специализированных моделей, ориентированных на архитектурное описание, следует отметить модель, описанную в [6]. Эта модель имеет пять уровней оценки зрелости. Принимая во внимание данный способ оценки зрелости, а также с целью повышения качества, мы также предлагаем использование пяти уровней оценки, но с интерпретацией, описанной выше в этом подразделе. Способ оценки, основанный на уровнях, позволяет упростить определение функций принадлежности для характеристик качества. Он также может применяться для характеристик других видов, но с соответствующим количеством уровней. Некоторые виды шаблонов для характеристик (не только качественного вида) представлены на рисунке 4.

Рис. 4. Шаблоны функции принадлежности

Шаблоны «a)» и «b)» типичны для архитектурных требований. Они построены и скорректированы для шкалы с пятью уровнями для того, чтобы они соответствовали требованиям качества (шаблон «c)»). Четвертый шаблон «d)» перекликается с семью уровнями оценки по стандарту ISO/IEC 15408.

3.2. Детали реализации

Чтобы использовать и оценивать характеристики, упомянутые в предыдущем разделе, при разработке определенного проекта, мы создали в онтологии специальный подраздел «Характеристики», который может использоваться в качестве основы для различных проектов. Каждый элемент этого подраздела имеет имя, текстовое определение и несколько атрибутов, таких как:

· исполнитель (проектировщик);

· дата;

· представление;

· ссылки на точку зрения стейкхолдеров;