Научни трудове на Съюза на учените в България-Пловдив, серия Б. Естествени и хуманитарни науки, т. XVIII, ISSN 1311-9192 (Print), ISSN 2534-9376 (On-line), 2018. Scientific researches of the Union of Scientists in Bulgaria-Plovdiv, series B. Natural Sciences and the Humanities, Vol. XVIII, ISSN 1311-9192 (Print), ISSN 2534-9376 (On-line), 2018.
СОФТУЕРНА РАМКА ЗА МОДЕЛИРАНЕ И УПРАВЛЕНИЕ НА НЕЛИНЕЙНИ СТРУКТУРИ И ПРОЦЕСИ Емил Хаджиколев,Станка Хаджиколева, Неделчо Андонов Пловдивски университет „П.Хилендарски"
SOFTWARE FRAMEWORK FOR MODELING AND MANAGEMENT OF NON-LINEAR STRUCTURES AND PROCESSES Emil Hadzhikolev, Stanka Hadzhikoleva, Nedelcho Andonov Plovdiv Univers ity „Paisii Hilendarski"
Abstract: The paper presents a conceptual model of a software framework for modeling and management of non-linear structures and processes. It provides a high level of abstraction by maintaining a meta level for modeling objects, structures and processes from different subject areas. This allows its use in different contexts, provides flexibility and easy integration of new functionalities.
Keywir„s: software framework, modeling of non-linear structures, modeling of hierarchical objects
УВОД
ИКТ все по-трудно удовлетворяват бързо променящите се изисквания на потребителите. За да бъде успешен един бизнес, той трябва внимателно да следи и анализира нуждите на потребителите, да проектира и имплементира нови бизнес процеси, да разработва иновативни продукти и услуги, и всичко това да бъде управлявано ефективно чрез софтуерни инструменти. Това поставя високи изисквания за софтуерна осигуреност и наличие на висококвалифицирани компютърни специалисти за поддръжка на бизнеса.
През последните години сме разработили множество софтуерни приложения, използвани в различни предметни области. Част от тях моделират и управляват обекти и процеси с йерархична (нелинейна) структура по сходен начин. Типичен пример за това е КОМПАС - софтуерно приложение за управление на процедури за (само)оценяване и акредитация във висшето образование (Hadzhikoleva, Hadzhikolev, 2016). Оценяването на образователни обекти и субекти се извършва чрез добре дефинирани методики. Те се моделират в КОМПАС чрез йерархични структури (дървета), които се състоят от няколко вида оценъчни елементи - области за оценяване, критерии, характеристики на критериите и индикатори. Всеки вид оценъчен елемент има конкретни характеристики и функционалности, които са достъпни в различен изглед, в зависимост от активния потребител, статуса на процедурата (в подготовка, в процес на изпълнение, или архивирана), етап на изпълнение на процедурата (конфигуриране, самооценяване, или оценяване) и др. Самите процеси се управляват чрез промяната на характеристиките на възлите, която може да се извършва ръчно - от потребител, или автоматично - от софтуерна функция на приложението. Друго приложение, използващо подобна технология, е Виртуален център за управление на проекта (Hadzhikolev, Totkov, Hadzhikolevа, 2013). То създава йерархичен модел на проект, като всеки възел на дървото представлява
конкретна група от дейности или отделна дейност. Конфигурирането на проект изисква дефиниране на времеви етапи, потребители, работещи през отделните етапи и ръководители на дейностите. Основните функционалности са въвеждане на информация и доказателства за приключили дейности, проследяване на работата по изпълнение на проекта, генериране на различни видове справки и оценяване на дейности. Йерархични модели са използвани и в приложение за колективно създаване и актуализиране на документа (Hadzhikolev, 2013). То е експериментирано в Пловдивския университет за изменения и допълнения на университетски правилници. Приложението изисква да се създаде дървовиден модел на документ, при което различните типове възли на дървото описват структурните части на документа (напр. глава, раздел, член, алинея и др.). За всеки структурен елемент на документа, потребителите могат да въвеждат нови текстове и предложения за изменения и да ги аргументират (напр. чрез посочване на нормативен акт, добри практики и др.).
Йерархични структури и процеси могат да бъдат използвани в различен контекст - за моделиране на организационни структури, териториални и административни деления, образователни ресурси и дейности, онтологии, таксономии, категоризации и класификации, биологични системи, файлови системи и мн. др. (Wikipedia, 2017)
В настоящото изследване е представена софтуерна рамка за моделиране и управление на разнородни йерархични структури и процеси. Към разработваната технологията са поставени следните изисквания:
• широка приложимост, гарантирана чрез използване на мета-модели и модели за поддържане на високо ниво на абстракция;
• разширяемост, осигурена чрез използване на добре дефинирани интерфейси за лесно добавяне на нови функционалности;
• лесна за използване - рамката трябва да може да бъде използвана в различни предметни области, основно с конфигуриране и настройки на модели.
СОФТУЕРНИ РАМКИ. МОДЕЛИРАНЕ И МЕТА-МОДЕЛИРАНЕ.
Бизнесът използва голямо разнообразие от ИКТ - от системи за управление на съдържанието до софтуер, платформи и инфраструктура като услуга (Hogan, Sokol, 2013). Безспорно, една от областите с голямо приложение са софтуерните рамки. Софтуерна рамка (framework) е универсална, многократно употребяема софтуерна платформа, използвана за разработване на приложения, продукти и софтуерни решения. Софтуерната рамка е частично реализирана софтуерна система, която е предназначена да бъде инстанциирана (конфигурирана и стартирана). Тя определя архитектурата на съвкупност от (под)системи и предоставя основните градивни елементи за създаването им, като определя и местата, които трябва да бъдат адаптирани (имплементирани) със специфична функционалност (Fayad, Schmidt & Johnson, 1999), (Rogers, 1997). Софтуерните рамки обикновено са предназначени за употреба в конкретни проблемни области - за корпоративни архитектури, финансови предприятия, експертни системи (напр. Enterprise Architecture framework, Financial modeling applications, Decision support systems, Application framework, Ajax/JavaScript framework) и др.
Мета-моделирането е процес, при който се описват формално обекти, процеси, данни или др., с цел създаване на обща концептуална рамка за решение на проблеми в предварително специфицирана предметна област.
Един мета-модел на процес дава общо описание на множество модели на процеси. Конкретните процеси са инстанции на модели на процеси, а моделите на процесите от своя страна са инстанции на мета-модела. Аналогично, мета-моделът на структура се явява като шаблон, по който могат да се описват множество различни модели на структури. Конкретните структури са инстанции на моделите и спазват зададените от тях изисквания.
Мета-моделиране в областта на софтуерното инженерство и системното инженерство е анализът, изграждането и развитието на рамки, правила, ограничения,
модели и теории, които са приложими и полезни за моделиране на предварително определен клас проблеми (Wikipedia, 2017). Това включва изграждане на колекция от „понятия" (неща, термини, примитиви) в рамките на определен домейн. Един модел е абстракция на явленията в реалния свят; един мета-модел е още една абстракция, подчертаваща свойства на самия модел. Един модел се отнася към неговия мета-модел по начина, по който една компютърна програма се отнася към граматиката на езика за програмиране, на който е написана.
МОДЕЛ НА СОФТУЕРНА РАМКА ЗА МОДЕЛИРАНЕ И УПРАВЛЕНИЕ НА НЕЛИНЕЙНИ СТРУКТУРИ И ПРОЦЕСИ
Настоящата софтуерна рамка има за цел поддържане на високо ниво на абстракция, което да позволи лесната й разширяемост и употреба в различен контекст. Основните компонента са: Meta Modeller, Meta Models Repository, Modeller, Models Repository, Configurator и Engine (фиг. 1).
Meta Modeller e софтуерен компонент, чрез който се създават мета-модели (модели на модели) за различни предметни области. Чрез графични инструменти на средата, за всяка предметна област се моделират елементите и връзките между тях. Връзките определят възможните конфигурации на елементите в конкретни модели на по-ниско равнище. Мета-моделите се съхраняват в Meta Models Repository. Всеки мета-модел си има физически характеристики и поведение (behaviour). Физическите характеристики включват име на възел, тип възел, икона на възела и други конкретни характеристики. Поведението на мета-модел се описва с готови функционални компоненти, които също се съхраняват в хранилището.
В модулът Modeller се изграждат модели, базирани на конкретни мета-модели, избрани от Meta Models Repository. Възможно е конфигурирането на множество различни модели върху един мета-модел. Създадените модели се съхраняват в Models Repository.
Configurator се използва от потребителите за създаване на конкретна инстанция на йерархична структура или процес. При конфигурирането се задават стойности на основни за модела параметри, както и потребители, които могат да работят с инстанцията. Инстанциите се съхраняват в съответно хранилище (Instance Repository) и се изпълняват от Engine. Много различни конкретни инстанции може да бъдат създадени от един и същи модел и стартирани едновременно. Компонентът Engine управлява изпълнението на дейностите, характерни за възлите на инстанциите.
АРХИТЕКТУРНИ КОНФИГУРАЦИИ И ПРАВА
Отделните компоненти на технологията - Meta Modeller, Modeller, Configurator и Engine - се изграждат като самостоятелни многопотребителски приложения. Това позволява създаването на различни архитектурни конфигурации (Tanenbaum, Steen, 2016) за нуждите на различни организации, напр.:
• Централизирано управление на мета-модели - съществува само едно централизирано хранилище за мета-модели и множество самостоятелни локални други системи - за управление на модели и инстанции.
• Локално управление на мета-модели - хранилището за мета-модели се управлява от една организация, а множество различни свързани организации създават собствени модели и инстанции.
Фиг. 1 Обш модел на технологията
• Локално управление на мета-модели и модели - една организация предоставя модели. Свързаните организации могат да създават инстанции само върху фиксираните модели.
• Децентрализирана архитектура - множество различни организации споделят мета-модели и модели, и др.
Достъпът до отделни мета-модели и модели може да бъде ограничен от създателите им, чрез задаването на права:
• public - общодостъпни;
• private - достъпни само за собственика и посочени от него (групи) потребители;
• protected - видими от всички, но достъпни само за собственика и посочени от него (групи) потребители.
Видимостта зависи също така и от избраната архитектура. Локалните архитектури ограничават достъпа само до свързаните с тях организации, докато при централизираната и децентрализираната - потребителите имат достъп до мета-моделите и моделите в различни споделени хранилища.
Ограничителните режими (private и protected) на моделите и мета-моделите не влияят върху видимостта на инстанциите. За достъп на потребители до инстанциите и свързаните с тях дейности се използват два подхода: (1) всички потребители имат достъп до всички дейности, или (2) избрани (групи) потребители имат достъп до определени (групи) дейности.
ЗАКЛЮЧЕНИЕ
Използването на софтуерни рамки ускорява процеса на имплементиране на софтуерни приложения. В статията е представен концептуален модел на софтуерна рамка за моделиране и управление на нелинейни структури и процеси. Тя предоставя високо ниво на абстракция, като поддържа мета ниво за моделиране на обекти, структури и процеси от различни предметни области. Това позволява употребата й в различен контекст, осигурява гъвкавост и лесно интегриране на нови функционалности.
Благодарности: Работата е частично финансирана от проект СП17-ФМИ-005 и МУ17-ФМИ-007 към Фонд „Научни изследвания" при Пловдивския университет „П. Хилендарски".
ЛИТЕРАТУРА
Fayad, M., D. Schmidt, R. Johnson. (1999). Building Application Frameworks: Object-Oriented Foundations of Framework Design, Wiley Publ., ISBN: 978-0471248750.
Hadzhikolev, Е. (2013). Towards automation of the processes of quality management in science with the COMPASS platform, Science & Research Journal, vol. 3, 2013, ISSN: 1314-4111.
Hadzhikolev, Е., G. Totkov, S. Hadzhikoleva. (2013). Conceptual model of a virtual project management center, Scientific works of the Union of Scientists in Bulgaria - Plovdiv, vol. XVI. (2013), pp 140-143, ISSN: 1311-9192.
Hadzhikoleva, S., E. Hadzhikolev. (2016). The COMPASS-OK Model for Quality Assurance in Higher Education, International Journal of Applied Engineering Research, Volume 11, Number 11 (2016) pp 7326-7332, ISSN 0973-4562.
Hogan, M., A. Sokol. (2013). NIST Cloud Computing Standards Roadmap, NIST SP 500-291, National Institute of Standards and Technology, 2013.
Rogers, D. (1997). Framework-Based Software Development in C++, Prentice-Hall Publ., ISBN: 0135333652.
Tanenbaum, A., M. Steen. (2016). Distributed Systems: Principles and Paradigms. Publ. CreateSpace Independent Publishing Platform, 2016, ISBN 978-1530281756.
Wikipedia. (2017). Hierarchy, <https://en.wikipedia.org/wiki/Hierarchy> (accessed 28.10.2017).
Wikipedia. (2017). Metamodeling, <https://en.wikipedia.org/wiki/Metamodeling> (accessed 28.10.2017).