УДК 004.43
C# в киберфизических системах
Бакиров Руслан Айбулатович – студент Санкт-Петербургского государственного университета телекоммуникаций имени профессора М.А. Бонч-Бруевича.
Аннотация: C# – Это объектно-ориентированный язык программирования общего пользования, разработанный компанией Microsoft в 1998 – 2001 годах параллельно с разработкой фреймворка .NET и программы Visual Studio. Цель работы заключается в исследовании влияния и применения данного языка в области проектирования киберфизических систем (далее – КФС). Вся информация была взята с открытых источников. Выявлена спецификация языка, его особенности, его предшественники. Выявлено использование языка в КФС, его эффективность в них. Были получены выводы, что C# крайне полезен и удобен для киберфизических систем, так как с его помощью и с помощью фреймворка .NET можно программировать микросервисы, специальные программы, легко масштабируемые и распределяемые между устройствами в КФС. Выявлено, что микросервисы являются ключевым преимуществом языка C# и фреймворка .NET для КФС, так как не требуют больших мощностей для своего выполнения и имеют компонентную структуру, которую можно распределять между несколькими устройствами, что является преимуществом для таких КФС как интернет вещей (IoT), умный дом, умный офис и прочее.
Ключевые слова: C#, «си шарп», киберфизические системы, КФС, .NET, микросервисы, язык программирования, программирование, интернет вещей, умный дом, умный офис.
История языка
История языка начинается еще с 1972 года, когда был впервые представлен язык C. Затем, в 1984 году появился язык C++, который был логическим наследником C, и его название Си с двумя плюсами, которые обозначали увеличение на единицу, демонстрировало совершенство языка над предком. Проект C# был начат в декабре 1998 и получил кодовое название COOL (C-style Object Oriented Language). Разрабатывался группой инженеров компании Microsoft под руководством Андерса Хейлсберга и Скотта Вильтаумота как язык разработки приложений для платформы Microsoft .NET Framework и .NET Core. Версия 1.0 была анонсирована вместе с платформой .NET в июне 2000 года, тогда же появилась и первая общедоступная бета-версия; C# 1.0 окончательно вышел вместе с Microsoft Visual Studio .NET в феврале 2002 года. Название «Си шарп» (от англ. sharp — диез) несет «сакральный» смысл. Знак «#» (в музыкальной нотации читается как «диез») означает повышение высоты звука на полтона. С другой стороны, название «C#» получается путем следующей «эволюционной цепочки»: C → C++ → C++++(C#), так как символ «#» можно составить из 4-х знаков «+».
Спецификация языка
Так как C# был разработан компанией Microsoft, то он имеет сайт с официальной документацией, на котором также указана полная и подробная спецификация языка. Далее идет текст целей и спецификации языка C#, переведенный с сайта Microsoft.
- Язык предназначен для использования в разработке ПО и его компонентов, подходящих для развертывания и выпуска кода в распределенных средах.
- Портативность исходного кода крайне важна, так же как и портативность программистов, особенно тех, кто уже знаком с C и C++.
- Поддержка интернационализации крайне важна.
- C# предназначен, чтобы быть подходящим языком для написания приложений для любых систем, начиная от крупных приложений, которые используют крайне сложные операционные системы, и заканчивая крайне малыми отдельными функциями.
Использование языка
Самым используемым фреймворком для разработки приложений на C# является .NET. Фреймворк .NET — это модульная платформа для разработки программного обеспечения с открытым исходным кодом. Совместима с такими операционными системами как Windows, Linux и macOS. Была выпущена компанией Microsoft вместе с выпуском первой версии языка C#.
.NET используется для создания CRUD микросервисов, использующихся постоянно в различных киберфизических системах. CRUD - это аббревиатура, отвечающая за четыре основных операции над данными - Create (создание), Read (чтение), Update (обновление), Delete (удаление).
Микросервисы - это отдельные программы, составляющие части одной большой системы, позволяющие разделить приложение на компоненты, которые можно при необходимости заменять на другие. Фреймворк .NET крайне удобен для создания таких программ.
В чем важность микросервисов для КФС:
- За счет контейнеризации их можно развернуть на любом вычислительном устройстве, даже на самом малопроизводительном.
- Эффективны по ресурсам и производительны, что помогает экономить вычислительные мощности на относительно небольших устройствах КФС.
- Устойчивые и легко обновляемые, что помогает быстро поддерживать большие системы, за счет обновления и починки лишь нужных компонентов.
Микросервисная архитектура представляет из себя разделение одной системы на множество компонентов, каждый из которых отвечает за свой функционал. Её отличие от монолитной в том, что все компоненты независимы и при неисправности одного ломается лишь тот функционал, за который отвечал этот компонент, а не вся система в целом.
Заключение
В заключение, необходимо сказать, что язык C# крайне эффективен и полезен для создания приложений и программ для киберфизических систем. Его мультизадачность, кроссплатформенность и производительность помогают реализовывать проекты для машин любых вычислительных мощностей и размеров, а фреймворк .NET, используемый в разработке микросервисов помогает разделять большие системы из нескольких устройств на компоненты, каждый из которых отвечает за свою функцию. Такой микросервисный подход крайне полезен и удобен для предметов КФС, так как помогает разделять нагрузку на систему на несколько устройств, а также изолирует их друг от друга, гарантируя надежность, простую обновляемость и прочность системы, что является ключевым фактором в постройке таких систем, как, например, умный дом или умный офис.
Список литературы
- Программа для классификации файлов основных типов на базе технологии машинного обучения Израилов К.Е., Буйневич М.В., Красов А.В., Хорошенко С.В. Свидетельство о регистрации программы для ЭВМ RU 2020614603, 16.04.2020. Заявка № 2020613525 от 25.03.2020.
- Обеспечение информационной безопасности киберфизических систем на основе принципа гомеостаза Павленко Е.Ю. диссертация на соискание ученой степени кандидата технических наук / федеральное государственное автономное образовательное учреждение высшего образования «санкт-петербургский политехнический университет петра великого». 2018
- Исследование концепции ядра в различных операционных системах Бударный Г.С., Казанцев А.А., Руденко С.А., Смирнов Д.Н. В сборнике: Актуальные проблемы инфотелекоммуникаций в науке и образовании (АПИНО 2022). Сборник научных статей XI Международной научно-технической и научно-методической конференции. В 4-х томах. Под редакцией А.В. Шестакова, сост. В.С. Елагин, Е.А. Аникевич. Санкт-Петербург, 2022. С. 411-417.
- Разработка методики построения доверенной среды на основе скрытого программного агента. Часть 1. Исследование Штеренберг С.И., Красов А.В. Вестник Санкт-Петербургского государственного университета технологии и дизайна. Серия 1: Естественные и технические науки. 2021. № 2. С. 14-20.
- Проблемы обеспечения безопасности персональных данных Волостных В.А., Штеренберг С.И., Гвоздев Ю.В. Информационные технологии и телекоммуникации. 2019. № 4. С. 136.