УДК 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, используемый в разработке микросервисов помогает разделять большие системы из нескольких устройств на компоненты, каждый из которых отвечает за свою функцию. Такой микросервисный подход крайне полезен и удобен для предметов КФС, так как помогает разделять нагрузку на систему на несколько устройств, а также изолирует их друг от друга, гарантируя надежность, простую обновляемость и прочность системы, что является ключевым фактором в постройке таких систем, как, например, умный дом или умный офис.

Список литературы

  1. Программа для классификации файлов основных типов на базе технологии машинного обучения Израилов К.Е., Буйневич М.В., Красов А.В., Хорошенко С.В. Свидетельство о регистрации программы для ЭВМ RU 2020614603, 16.04.2020. Заявка № 2020613525 от 25.03.2020.
  2. Обеспечение информационной безопасности киберфизических систем на основе принципа гомеостаза Павленко Е.Ю. диссертация на соискание ученой степени кандидата технических наук / федеральное государственное автономное образовательное учреждение высшего образования «санкт-петербургский политехнический университет петра великого». 2018
  3. Исследование концепции ядра в различных операционных системах Бударный Г.С., Казанцев А.А., Руденко С.А., Смирнов Д.Н. В сборнике: Актуальные проблемы инфотелекоммуникаций в науке и образовании (АПИНО 2022). Сборник научных статей XI Международной научно-технической и научно-методической конференции. В 4-х томах. Под редакцией А.В. Шестакова, сост. В.С. Елагин, Е.А. Аникевич. Санкт-Петербург, 2022. С. 411-417.
  4. Разработка методики построения доверенной среды на основе скрытого программного агента. Часть 1. Исследование Штеренберг С.И., Красов А.В.  Вестник Санкт-Петербургского государственного университета технологии и дизайна. Серия 1: Естественные и технические науки. 2021. № 2. С. 14-20.
  5. Проблемы обеспечения безопасности персональных данных Волостных В.А., Штеренберг С.И., Гвоздев Ю.В. Информационные технологии и телекоммуникации. 2019. № 4. С. 136.

Интересная статья? Поделись ей с другими: