Цели
Да се реализират домейн специфични методи за оптимизация на plugin базирани системи, като се използва съществуващата инфраструктура на SolidOpt framework.
Описание
Plugin модулите са мощен инструмент за създаване на лесно разширяеми системи, но това обикновено влошава работата/бързодействието на цялата система. Един добър компромис може да се постигне, когато системата не може да се разширява по всяко време на работата си, а само като тя се стартира. Това отваря възможности за прилагане на оптимизации на цялата система и plugin-ите и за намаляване на влиянието на слабата свързаност на нейните модули върху бързодействието. Оптимизации като сливане на plugin модули с базовата програма, автоматично маркиране на класовете като sealed, девиртуализация на методи, премахване на някои от шаблоните за дизайн и т.н. са само примери за това как можете да постигнат по-добри резултати, без да губи гъвкавостта и добрия дизайн на системата. Резултатите от оптимизации могат да бъдат кеширани за да се избегне провеждането на тези тежки анализи и трансформации при всяко стартиране на програмата. Този подход позволява оптимизациите да се извършват само когато се добавят или се премахват модули.
Реализираното приложение трябва да бъде в състояние да се трансформира и да кешира резултата, след което трансформираната система трябва да се стартира. Трансформации трябва да се правят само ако кеша е невалиден (например набора от плъгини се е променил, конфигурацията се е променила и т.н.). Трябва да се помисли за рисковете за сигурността и дали преобразуването не може да бъде направено чрез системна услуга или демон.
Дипломантите ще придобият по-широки познания по програмиране на ниско ниво и създаване и автоматизирана трансформация на високомодулни софтуерни системи.
Сложност
Средна/Висока.
Необходимо време
6-12 месеца.