Abstract:
Развитието на софтуерните системи и технологии, постепенно наложи езика
Java като един изключително мощен инструмент, с чиято помощ може да бъде
реализирано всяко едно архитектурно решение - било то софтуер за мобилното
устройство, което притежава всеки от нас или софтуер за продуктивни системи,
обработващи паралелно милиони клиенти, който могат да си позволят да
притежават само най-печелившите компании в световен мащаб. Усложняването на
Java технологиите и разработването на все по-нови стандарти във всяка една
софтуерна ниша, както и повишаването на нивото на абстракция, са едни
естествени следствия от еволюцията на езика Java и платформата за разработка на
Java приложения.
В най-новите Java стандарти за езика и платформата - Java Development Kit
(JDK) 1.5, Java Enterprise Edition (Java EE) 5, е предоставена възможност да се
въвежда мета-информация в кода на приложенията (т.нар. анотации). Това са
метаданни, които дават възможност на програмиста да свърже допълнителна
информация с клас, поле, метод, параметри на метод и въобще с почти всеки
компонент на кода. В по-старите версии на платформата, тази информация най-
често се съхранява в допълнителни Extensible Markup Language (XML) файлове.
Заданието на дипломната работа произтича от факта, че не винаги е възможно
да се използват вградените в Java методи за достъп до метаданните (Reflection API).
За да бъде възможно това е задължително да бъдат заредени всички класове (Class
Loading) във виртуалната машина - Java Virtual Machine (JVM), които директно или
индиректно са използвани в класа, съдържащ желаната мета-информация. Това
ограничение е неприемливо в много от сценариите за използване на мета-
информацията. Например, клас от едно приложение няма да може да бъде
заредено, ако зависи от друг клас в друго приложение, което не е и не може да бъде
заредено поради някаква причина.
Това мотивира нуждата от система, която да извлича метаданните от Java
байт кода и да ги структурира в удобен за използване формат, независимо от
зареждането им във виртуалната машина. В същото време системата трябва да
предлага алтернативен начин за работа, освен чрез програмният й интерфейс, за да
не задължава потребителите да пишат програмен код, необходим за използването
й. А именно, реализацията на графичен интерфейс, с чиято помощ потребителите
ще могат да работят интерактивно със системата. Чрез този графичен интерфейс
ще бъде възможно да се избират входни файлове за обработка, да се правят
настройки на системата за филтриране на изходният резултат, да се търсят
анотации в цялото множество от класове чрез специални филтри, както и да се
записват извлечените метаданни в независим формат - XML
Description:
Тема на дипломната работа:
Графична среда за обработка и извличане на мета-информация от Java байт код
Дипломант: Росица Панайотова Панайотова, специалност „Информатика”,
специализация „Информационни Системи”, факултетен № М-21332
Научен ръководител: доц. д-р Боян Бончев, “Информационни технологии” ФМИ-
СУ
Дата на защита: 18.07.2007