Статья: Методы самоадаптации программных систем, основанные на машинном обучении и интеллектуальном анализе данных

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Чтобы применить данный метод при создании программного обеспечения, которое может самостоятельно приспосабливаться, требуется расширить определение классического варианта марковского процесса, когда принимаются решения. Нужно предусмотреть возможность определять ситуацию [7].

Пусть I = {/1; /2,..., 1п} - все имеющиеся ситуации. Ситуация е I является показателем среды на данный момент или отражает событие внутри программного обеспечения, при котором начинается адаптация агента.

При этом А | si, говорит о том, что действия агента могут быть разными в si состоянии и ситуации. Предположим, что S * - это комбинация всех состояний S и ситуаций I. Таким образом, марковский процесс принимает вид {Ј*, А,Я,Т}.

Здесь А - конечное количество действий,

Я - функция вознаграждения, получаемого при переходе из одного состояния в другое,

Т - функция, которая возвращает вероятность, что система может измениться, если совершить определенное действие.

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

Что касается самого метода самостоятельной адаптации, то он заключается в том, что создается модель операционной среды. Данный процесс состоит из последовательных шагов:

1) определяется реальное состояние рассматриваемой системы, действий, а также ситуации;

2) контекст детально анализируется, после чего формируется модель неопределенностей;

3) все неопределенности отражаются в действиях;

4) реализуются переходы между состояниями системы.

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

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

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

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

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

1) использовать текстовый режим, что позволит тратить меньше времени на вычисления;

2) добавить ресурсы для повышения производительности.

При ситуации, когда трафик уменьшился в размерах, возможны сценарии:

1) изменить режим на графический, чтобы пользователь смог получить больше информации;

2) сократить неиспользуемые на данный момент ресурсы.

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

1) Режим = {Графический, Текстовый};

2) Время Отклика = {Нормальное, Низкое};

3) Ресурсы = {Мало, Средне, Много}.

Изменение состояния возможно такими способами:

1) добавление ресурса или освобождение;

2) переход в один из режимов: графический или текстовый.

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

Далее создается модель неопределенности. Ориентиром является предмет. Для этого сначала проводится экспертный анализ. Чтобы максимально упростить процесс в данной ситуации, используется одна модель неопределенности, суть которой в том, что облачный ресурс является доступным. Количество ресурсов ограничено, поэтому можно предположить, что провайдер не сможет постоянно поставлять их в достаточном объеме. Здесь вероятность будет 2%. Возможны такие последствия: состояние системы изменяется с задержкой, происходят незапланированные изменения. Авторы сопоставили эту неопределенность и действия системы. Результаты показали, что имеется связь данной неопределенности и действий, когда ресурсы добавляются. Отсюда следует связь вероятностного распределения и переходов из одного состояния в другое, когда реализуется данное действие. Внутренняя неопределенность во внимание не принимается, а вероятность возможных изменений состояний принята за 1%, чтобы было проще.

Использование предложенного метода дает возможность системе осуществлять выбор нужного поведения в зависимости от времени отклика в разных условиях.

Заключение

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

В решении данной проблемы помогут специализированные методы, которые обеспечивают самостоятельную адаптацию программного обеспечения. Сегодня к его разработке применяются разные подходы, но ни один из них не учитывает в процессе самоадаптации всю внешнюю и внутреннюю информацию, которую использует в своей работе система. Чтобы решить данную задачу, авторы предлагают две концепции самостоятельной адаптации программных систем: рефлексивную и на основе машинного обучения.

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

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

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

1. Бождай А.С., Евсеева Ю.И. Метод рефлексивной самоадаптации программных систем // Известия высших учебных заведений. Поволжский регион. Технические науки. 2018. №2. С. 74-86.

2. Бершадский А.М., Бождай А.С., Гудков А.А., Евсеева Ю.И. Математическая модель рефлексии самоадаптивных программных систем // Известия Волгоградского государственного технического университета. 2018. №3. С. 7-14.

3. Бождай А.С., Артамонов Д.В., Евсеева Ю.И. Использование машинного обучения с подкреплением в создании самоадаптивного программного обеспечения // Известия высших учебных заведений. Поволжский регион. Технические науки. 2019. №3. С. 58-68.

4. Ghezzi C., Salvaneschi G., Pradella M. ContextErlang: A language for distributed context-aware self-adaptive applications // Science of Computer Programming. Amsterdam: Elsevier, 2015. P. 20-43.

5. Lei Y., Ben K., He Z. A model driven agent-oriented self-adaptive software development method // 12th International Conference on Fuzzy Systems and Knowledge Discovery (FSKD). New Jersey: IEEE, 2015. P. 255-265.

6. Li Y., Li L., Wang W., Wu T. ADAPT: An agent-based development toolkit and operation platform for self-adaptive systems. // IEEE Conference on Open Systems (ICOS). New Jersey: IEEE, 2017. Р. 145-167.

7. Bencomo N., Belaggoun A. Supporting decision-making for self-adaptive systems: From goal models to dynamic decision network // International Working Conference on Requirements Engineering: Foundation for Software Quality. San Francisco: IEEE, 2013. P. 221-237.

References

1. Bozhday A.S., Evseeva Yu.I. Method of reflexive self-adaptation of software systems. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Tekhnicheskie nauki = Proceedings of universities. Volga region. Technical science. 2018;(2):74-86. (In Russ.)

2. Bershadskiy A.M., Bozhday A.S., Gudkov A.A., Evseeva Yu.I. Mathematical model of reflection of self-adaptive software systems. Izvestiya Volgogradskogo gosudarstvennogo tekhnicheskogo universiteta = Bulletin of the Volgograd State Technical University. 2018;(3):7-14. (In Russ.)

3. Bozhday A.S., Artamonov D.V., Evseeva Yu.I. Use of machine learning with reinforcement in the creation of self-adaptive software. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Tekhnicheskie nauki = Proceedings of universities. Volga region. Technical science. 2019;(3):58-68. (In Russ.)

4. Ghezzi C., Salvaneschi G., Pradella M. ContextErlang: A language for distributed context-aware self-adaptive applications. Science of Computer Programming. Amsterdam: Elsevier, 2015:20-43.

5. Lei Y., Ben K., He Z. A model driven agent-oriented self-adaptive software development method. 12th International Conference on Fuzzy Systems and Knowledge Discovery (FSKD). New Jersey: IEEE, 2015:255-265.

6. Li Y., Li L., Wang W., Wu T. ADAPT: An agent-based development toolkit and operation platform for self-adaptive systems. IEEE Conference on Open Systems (ICOS). New Jersey: IEEE, 2017:145-167.

7. Bencomo N., Belaggoun A. Supporting decision-making for self-adaptive systems: From goal models to dynamic decision network. International Working Conference on Requirements Engineering: Foundation for Software Quality. San Francisco: IEEE, 2013:221-237.

Источник: https://otherreferats.allbest.ru/download/1335647/