
ПКС / Лекции все
.pdfМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)
Кафедра информационных управляющих систем
Б1.В.24 «Программирование критических сервисов» для специальностей по направлению 09.03.02 «Информационные системы и технологии»
1.Cервисы программного обеспечения в международных стандартах.
2.Cервисы программного обеспечения в российских стандартах.
3.Критические объекты и процессы программных средств в международных стандартах.
4.Шаблоны проектирования критических сервисов.
5.Программные компоненты для создания критического сервиса на языке Python.
6.Программные решения на основе критических сервисов в задаче развертывания микросервисной архитектуры.
Преподаватель: Параничев Андрей Викторович
Санкт-Петербург 2023
1. Cервисы программного обеспечения в международных стандартах |
|
2 |
1.1) Определения сервиса (service) :
•«средства доставки пользовательского контента» («means of delivering value for the customer»: ISO/IEC/IEEE 24765:2017);
•«выполнение рабочих процессов» («performance of activities»: ISO/IEC/IEEE 15939:2017, ISO/IEC/IEEE 15288:2015);
•«интерактивно переключаемый режим управления информацией» («behavior, triggered by an interaction», ISO/IEC 10746-2:2009): service offer;
1.2) Специализация определений сервиса (ISO/IEC/IEEE 24765:2017):
•service component (ISO/IEC 19500-3:2012): availability, continual improvement, errata (ISO/IEC/IEEE 24765:2017), dependability (IEEE 982.1-2005);
•service primitives: association management facility, basic interworking facility, location facility (ISO/IEC 14752:2000); data processing center;
•functional service (ISO/IEC 29881:2010): functional service type / base functional component type (BFC type), layer, Functional size measurement (FSM) (ISO/IEC 19761:2011), deliverable product (ISO/IEC 25041:2012);
•continuity service: reliability, down time, up time, busy time, idle time, mean time to repair, set-up time, interrupt, event, service alternative, incident (ISO/IEC TS 24748-1:2016, ISO/IEC/IEEE 15288);
1.3) Концепции требований к сервису:
•Service Level Agreement (SLA): compliant (ISO/IEC/IEEE 24765:2017, ISO/IEC/IEEE 15289:2015), security attribute service (SAS) (ISO/IEC 19500-2:2012), Interrupt service routine (ISR) (ISO/IEC/IEEE 24765:2017);
•Application Service Object: service import, service export (ISO/IEC 10746-1:1998), object implementation (ISO/IEC 19500- 1:2012), agent (ISO/IEC 15414:2015);
•Common Management Information Service (CMIS): quality of service, environment contract (ISO/IEC 10746-1:1998).

2. Cервисы программного обеспечения в международных стандартах |
|
3 |
Установление предметной области «критический сервис» в действующих нормативно-правовых документах (2021 г.)
№ |
Термин |
|
Определение |
|
|
|
|
1 |
service |
1) |
«Средства предоставления пользовательского контента» |
|
|
("means of delivering value for the customer"). |
|
|
|
2) |
«Выполнение рабочих процессов» ("performance of |
|
|
activities"). |
|
|
|
3) |
«Интерактивно переключаемый режим управления |
|
|
информацией» ("behavior, triggered by an interaction"). |
|
2 |
critical information |
«Информация, описывающая безопасное использование |
|
|
|
программного обеспечения в контексте секретности |
|
|
|
создаваемого информационного контента, либо в контексте |
|
|
|
защиты персональной информации, создаваемой или |
|
|
|
хранимой в приложении» ("information describing the safe use |
|
|
|
of the software, the security of the protection of the sensitive |
|
|
|
personal information created by or stored with the software") |

1. Cервисы программного обеспечения в российских стандартах |
|
4 |
Установление предметной области «критический сервис» в действующих нормативно-правовых документах (2021 г.)
№ |
Термин |
Определение |
|
|
|
3 |
услуга (service) |
«Возможность определенного уровня и нижерасположенных |
|
|
уровней, предоставляемая объектам следующего верхнего |
|
|
уровня». |
4 |
критическая секция (critical |
«Часть асинхронной процедуры, которая не может выполняться |
|
section) |
параллельно с определенной частью той же или другой |
|
|
асинхронной процедуры». |
Понятие «критический сервис» (critical service) в контексте задач программирования: «обособленный набор программных модулей, содержащий информацию, доступ к которой должен быть строго ограничен».
Актуальные задачи в контексте программирования критических сервисов:
•разработка компонентов программного обеспечения, обеспечивающих безопасный доступ к данным пользователя в мессенджере;
•построение / сопровождение Full-stack веб-приложений, основанных на микросервисной архитектуре (Microservice Architecture, MSA) доступа к данным.

Список литературы |
|
5 |
1.ISO/IEC/IEEE 24765:2017. Systems and Software Engineering – Vocabulary [Text]. – Jeneva: ISO, 2017. – 522 p.
2.ISO/IEC/IEEE 15939:2017. Systems and Software Engineering – Measurement Process [Text]. – Jeneva: ISO, 2017. – 39p.
3.ISO/IEC 10746-1:1998. Information Technology – Open Distributed Processing – Reference Model: Overview [Text]. – Jeneva: ISO, 1998. – 76 p.
4.ISO/IEC 10746-2:2009. Information Technology – Open Distributed Processing – Reference Model: Foundations [Text]. – Jeneva: ISO, 2009. – 22 p.
5.Fowler, M. Microservices [Electronic Resource]. – 2014. – URL: https://martinfowler.com/articles/microservices.html
6.Northwood, C. The Full Stack Developer: Your Essential Guide to the Everyday Skills Expected of a Modern Full Stack Web Developer [Text] / C. Northwood. 1st ed. UK, Manchester: APress, 2018. – 365 p.
7.Pattern: Microservice Architecture [Electronic Resource]. – 2018. – URL: https://microservices.io/patterns/microservices.html
8.Eventuate example microservices applications : [Electronic Resource]. – 2021. – URL: https://eventuate.io/exampleapps.html
9.About the Unified Modeling Language Specification Version 2.5.1: [Electronic Resource]. – 2017. – 754 p. – URL: https://www.omg.org/spec/UML/2.5.1
10.Fowler, M. UML Distilled: A Brief Guide to the Standard Object Modeling Language: [Text] / M. Fowler. – 3rd Ed. Boston: Addison-Wesley, 2003. – 178 p.
11.Driver requirements: Documentation for Selenium [Electronic Resource]. – URL: https://www.selenium.dev/documentation/en/webdriver/driver_requirements/
12.Spyne: PRC that doesn't break your back [Electronic Resource]. – 2021. – URL: http://spyne.io/
13.SOAP и REST сервисы с помощью Python-библиотеки Spyne [Electronic Resource]. – 2017. – URL: https://habr.com/ru/post/334290/

Список литературы |
|
6 |
11.Walderhaug, S. Experiences from Model-Driven Development of Homecare Services: UML Profiles and Domain Models [Text] / S. Walderhaug, , E. Stav, M. Mikalsen // Chaudron M.R.V. (eds) Models in Software Engineering. MODELS 2008. Lecture Notes in Computer Science, vol. 5421. Berlin: Springer. – URL: https://www.researchgate.net/publication/221223886_Experiences_from_ModelDriven_Development_of_Homecare_Services_UML_Profiles_and_Domain_Models
12.Параничев, А. В. Программирование критических сервисов: практикум [Текст] / А. В. Параничев ; СПбГУТ. – СанктПетербург, 2021. – 44 с.
13.Barkmeyer, E. SIMA Reference Architecture Part I: Activity Models [Text] / E. Barkmeyer, N. Christopher, S. Feng [etc.] // NIST Interagency / Internal Report (NISTIR). – US, Gaithersburg: National Institute for Standards and Technology, 1996. – 76 p. – URL: https://doi.org/10.6028/NIST.IR.5939
14.Jung, K. Mapping Strategic Goals and Operational Performance Metrics for Smart Manufacturing Systems [Text] / K. Jung,
K. Lyons, S. Leong [etc.] // Procedia Computer Science. – 2015. – Vol. 44. – P. 184–193. URL: https://doi.org/10.1016/j.procs.2015.03.051
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)
Кафедра информационных управляющих систем
Б1.В.24 «Программирование критических сервисов» для специальностей по направлению 09.03.02 «Информационные системы и технологии»
1.Cервисы программного обеспечения в международных стандартах.
2.Cервисы программного обеспечения в российских стандартах.
3.Критические объекты и процессы программных средств в международных стандартах.
4.Шаблоны проектирования критических сервисов.
5.Программные компоненты для создания критического сервиса на языке Python.
6.Программные решения на основе критических сервисов в задаче развертывания микросервисной архитектуры.
Преподаватель: Параничев Андрей Викторович
Санкт-Петербург 2023
2. Cервисы программного обеспечения в российских стандартах |
|
8 |
2.1) Сервисные элементы:
•прикладного уровня (ГОСТ Р ИСО/МЭК 9804-96);
•управления ассоциацией (ГОСТ Р 34.981-91).
2.2) Архитектурные решения:
•концепция сервис-ориентированной архитектуры (ГОСТ Р ИСО/МЭК 18384-1-2017);
•системы доступа к сервисам на распределенных платформах (ГОСТ Р ИСО/МЭК 20933-2017);
•модель завершенности интеграции сервисов (ГОСТ Р ИСО/МЭК 16680-2015).
2.3) Сервисы интеллектуальных систем:
•структура соглашения об уровне сервиса для облачных вычислений (ПНСТ 367-2019);
•сервисные домены, сервисные группы и сервисы в области интеллектуальных транспортных систем
(ГОСТ Р ИСО 14813-1-2001).
Проектирование сервисных элементов (систем) соответствует методологии SADT (Structural Analysis and Design Technique), в основе которой – процессный подход, реализуемый в стандартах EPC (Event-Driven Process Chain: событийная цепочка процессов), BPMN (Business Process Model and Notation: модель и нотация бизнес-процессов) и IDEF (Integrated DEFinition:
IDEF0, IDEF1X,..).
SADT состоит в определении требований и функций для последующей разработки системы, а также для анализа функций, осуществляемых системой, и отображения механизмов, посредством которых эти функции выполняются.

2. Cервисы программного обеспечения в российских стандартах. |
9 |
Описание сервиса как процесса в нотации IDEF0 |
@startuml |
|
|
skinparam node { |
|
node nOutputs as " "{ |
BackgroundColor none |
|
node nOutput1 as "Выходные данные 1\n(Output 1)\n\nВыходные данные 2\n(Output 2)" |
BorderColor none |
|
} |
Shadowing false |
|
nInput1 -right--> bProcess |
} |
|
nInput1 -right--> bProcess |
node nMech1 as "Ресурс /\n механизм 1\n(Mechanism 1)" |
bProcess -right--> nOutput1 |
|
node nMech2 as "Ресурс /\n механизм 2\n(Mechanism 2)" |
bProcess -right--> nOutput1 |
|
node nCall as "Вызов\nпроцедуры\n(Call)" |
nMech1 -up-> bProcess |
|
node nControl1 as "Элемент управления 1\n(Control 1)" |
nMech2 -up-> bProcess |
|
node nControl2 as "Элемент управления 2\n(Control 2)" |
nCall <.up. bProcess |
|
node nProcesses as " |
"{ |
nControl1 -down-> bProcess |
rectangle bProcess as "\n\n Имя процесса \n (Function name) \n\n"
}
node nInputs as " "{
node nInput1 as "Входные данные 1\n(Input 1)\n\nВходные данные 2\n(Input 2)"
}

2. Cервисы программного обеспечения в российских стандартах. |
10 |
Описание сервиса как процесса в нотации IDEF0 |
Основные элементы: входные данные (inputs), выходные данные (outputs), элементы управления (controls), механизмы (mechanisms)