На дисертационния труд



Дата29.04.2017
Размер116.58 Kb.
Р Е Ц Е Н 3 И Я
върху дисертационен труд за придобиване на образователната и научна степен „доктор“ в област на висше образование 4. Природни науки, математика и информатика, професионално направление 4.6 Информатика и компютърни науки
Автор на дисертационния труд: Калин Георгиев Николов

Тема на дисертационния труд: „Анализ и извличане на компютърни програми (модели и методи за верификация на свойства на нерелационни бази от данни)“

Рецензент: проф., д-р Владимир Тодоров Димитров, ФМИ, СУ „Св. Климент Охридски“


  1. Актуалност и значимост на разработвания в дисертационния труд проблем

Общата тема на дисертацията „Анализ и извличане на компютърни програми“ е от традиционен интерес в информатиката. Тясната тема на дисертацията е верификация на свойствата на нерелационните бази от данни. Актуалността на разглежданата проблематика се определя от мястото на нерелационните бази от данни. Този термин „нерелационни бази от данни“ влезе в употреба в края на миналия век (1998 г.) за обозначаване на бази от данни, които не се нуждаят от SQL интерфейс. Нерелационните бази от данни получиха разпространение във връзка с Интернет технологиите. Моделът на данни е подходящ за големи обеми от данни, за които не се налага използването на релационния модел на данни. Данните могат да са структурирани или не, но от значение е съхранението и извличането на големи обеми от данни, а не отношенията между елементите. Това е най-често ситуацията при големите Интернет сайтове (портали, електронни пазари, електронни борси и т.н.).

Характерна черта на приложението на нерелационните бази от данни е разпределеността и слабата свързаност между елементите от данни. Поради това те са част от предложенията на повечето платформи за Облачни изчисления. Последните са особено подходящи за средния и малък бизнес, от който тип са предприятията в нашата страна. Трябва да отбележим, че около 75-80% от критично важната информация за една фирма е в неструктуриран (документен) вид. Нерелационните бази от данни са подходящ модел за съхранение и извличане на критична информация.

Настоящата дисертация е разработка в направление формализация на модела на нерелационните бази от данни и генерация на програми за изследване на свойствата им.


  1. Обща характеристика и структура на дисертационния труд

Обект на изследване на представеният дисертационен труд са нерелационните бази от данни и верификацията на свойства им.

Предмет на изследването са методите за извличане на програми за анализ на свойствата на нерелационни бази от данни.

Целта на изследването е да се разработи метод за извличане на програми за анализ на свойствата на нерелационни бази от данни в средата MapReduce. Съгласно дисертационния труд:

„Целта на дисертационния труд е запознаване с методи и средства за извличане и анализ на програми, мотивация на верификация на свойства на нерелационни бази от данни, дефиниране, математическа обосновка и експериментална реализация на метод за анализ на свойства на документно ориентирани нерелационни бази от данни. Методът да се основава на техники за извличане и анализ на програми, които се предлагат от изчислителната среда за паралелни изчисления MapReduce.“

За постигането на така формулираната цел, авторът на изследването, съгласно дисертацията, решава следните задачи:


  • „Да се проучат основни методи и техники, свързани с извличането и анализа на програми; да се направи анализ на възможностите и приложимостта им в практиката; да се намери възможност за приложението им в платформите за паралелни изчисления MapReduce в контекста на СУНРБД.

  • Да се построи формален модел за описание и изследване на свойства на връзките между документи в нерелационни бази от данни.

  • Да се дефинира клас от свойства на връзките между документи, които ще бъдат анализирани автоматично.

  • Да се дефинира метод за автоматично генериране на програми, проверяващи описаните типове свойства на базиса на техните спецификации.

  • Да се изследва коректността на дефинирания метод (и програмите, които се генерират чрез него).

  • Да се направи експериментална реализация на метода.“

Работната хипотеза на изследването е, че може да бъде намерено решение за основните класове от свойства, което да се основава на функционалното и обектно-ориентираното програмиране.

Постигнат резултат от изследването е разработеният и доказан подход за верификация на връзки „един към много“, „много към много“ и на агрегатни свойства в нерелационни бази от данни.


  1. Степен на проникване в проблема и оценка за състоянието на решаването му към настоящия момент

Авторът изследва проблема за извличане на програми в различните му варианти. Представени са накратко повечето известни методи и подходи към извличането на програми. Класифицирани са начините за анализ на програми, което в частния случай е анализ на данни и по-тясно на устойчивите данни, съхранявани в базите от данни.

Проблемът на нерелационните бази от данни е липсата на единен модел на данни. Този вид бази от данни възниква, сравнително късно, като техническо решение, което еволюира с времето. Авторът е направил класификация на нерелационните бази от данни, което е изходна точка за по-нататъшните му изследвания. Преди да пристъпи към тази класификация, докторантът се е запознал с голям обем литература по тематиката - най-вече от последните години. Фокусът е върху работната хипотеза в направените изследвания.

Смятам, че докторантът е успял да навлезе в дълбочина на актуалното състояние по поставената тема.


  1. Относно избраната методика на изследванията

Избраната методика на изследване от автора се основава на формалната спецификация със средствата на математическата логика, което позволява прецизно представяне на модела на данни и средата за изследване на свойствата, а от друга страна дава възможност за доказване на коректността на разработения подход. Това е традиционен подход в информатиката, с негова помощ, авторът реализира поставената цел и задачи в дисертационния труд. Приложената методика на изследване изисква значителни усилия, но докторантът е успял да намери баланс между формалното изложение и същността на тематиката без да се губи смисъла в конструкциите на формалния апарат.


  1. Кратка аналитична характеристика на естеството и на достоверността на материала, върху който се градят приносите на дисертационния труд

Дисертацията е от 114 страници. Състои се от 7 глави, библиография и декларация за оригиналност. Използваната литература включва 80 заглавия, от които 2 на български език, а останалите са на английски език. Списъкът с публикации по дисертацията съдържа 3 заглавия, от които една на български език, а останалите на английски език.

Глава 1. Увод представя предметната област на изследването, а именно извличането на програми от спецификации. Изброени са редица подходи, основаващи се на вида на спецификацията. След това е приведена класификация на методите за анализ на програми: статична, динамична и формална верификация. По-натам, фокусът е поставен върху референтната цялостност при нерелационните бази от данни, която е очертана като основен проблем. Работната хипотеза на дисертацията е, че коректността на данните може да се формализира така, че автоматично да се синтезират програми, проверяващи свойствата. Синтезираните програми ще извършват динамичен анализ на поведението на системите изменящи базата от данни. Казано по друг начин, генерацията на програми е генерация на програми за проверка на референтната цялостност на данните в документната база от данни. Анализът на програмите се свежда до динамичен анализ на системите обновяващи базата от данни. Този анализ се извършва от синтезираната програма. Фактически, анализът е фокусиран върху коректността на данните по отношение на референтната цялостност по ключовете.

В тази глава са зададени целта и задачите на дисертационния труд, изложени по-горе. Накрая завършва с кратко описание на съдържанието.



Глава 2. Обзор разглежда последователно извличането на програми, анализа на програми, нерелационните бази от данни и JavaScript.

Разнообразни средства за извличане на програми са представени накратко.

Анализът на програми също е обхванал накратко ред подходи.

В раздела за нерелационните бази от данни е направен сравнителен анализ с релационните бази от данни. Дадени са определения на основните понятия и термини от разглеждания вид бази от данни. Направена е класификация на нерелационните бази от данни на графови, документални и ключ-стойност. Интерфейсът и към трите вида е JSON вариант.

JavaScript е представен като обектно-ориентиран език, позволяващ функционално програмиране.

В този раздел е очертана средата на изследване, а именно: нерелационни бази от данни с JSON интерфейс и език за програмиране JavaScript.

В Глава 3. Формален модел на проблема (за цялостност на връзки между документи в нерелационни бази от данни) със средствата на математическата логика е дефиниран формален модел на нерелационните бази от данни от документен тип. В изложението, доколкото е възможно, е воден паралел с релационния модел на данни. Формалната спецификация е изградена с дефинирането на понятията: примитивни типове, стойности, типове на стойности, отношения (релации) между типове, съвместимост на документи с типове, колекции и бази от данни. След дефинирането на структурите от данни е въведено понятието „ключ“, класифицирани са връзките, дефинирано е понятието „агрегатно свойство“.

В раздела 3.3. Формулировка на проблема е дефинирано множеството на елементите нарушители на връзката „един към много“ и чрез това множество е доказано твърдение за обвързване на ключа с връзка „един към много“. След това е дефинирано множеството на документите нарушаващи свойството „много към много“ и е доказано твърдение обвързващо това множество с връзката „много към много“. Накрая в тази поредица от определения и твърдения е дефиниран критерий за коректност на колекция относно агрегатни свойства и с твърдение е обвързан този критерии с агрегатното свойство.

С помощта на представения формален модел са дефинирани проблемите на верификацията, а именно чрез:


  1. Построяването на множеството на нарушителите на връзката „един към много“.

  2. Построяването на множеството на нарушителите на връзката „много към много“.

  3. Построяването на множеството на нарушителите на агрегатното свойство.

По този начин верификацията, съгласно доказаните твърдения, се свежда към търсене на нарушителите.

В Глава 4. Формален модел на решението (на проблема за цялостност на връзки между документи в нерелационни бази от данни) е формализиран програмният модел на MapReduce. След това е представено конструирането на функциите map и reduce, чрез които могат да бъдат изчислени подмножествата от елементи на дадена колекция, които нарушават свойствата на връзката „един към много“, на връзката „много към много“ и на агрегатните свойства, т.е. показан е подходът за изчисляване на множествата нарушители. С това се решават проблемите на верификацията поставени в предната глава.

В Глава 5. Пълнота и коректност на метода с поредица от твърдения е доказана пълнотата и коректността на подхода за връзки „един към много“, за връзки „много към много“ и за агрегатните свойства.

В Глава 6. Елементи от практическата реализация, разработеният формален подход е приложен в средата на MongoDB. Това е документно СУБД, което поддържа документите си във BSON формат, който е двоичен формат на JSON. Самото СУБД има вграден интерпретатор CommonJS, който интерпретира JavaScript. В системата е вградена поддръжка на MapReduce. Представени са ключови елементи от реализацията на представения подход.

В Глава 7. Заключение е представен списък с приносите на дисертационния труд. Освен това са дискутирани и възможностите за бъдещо развитие по тематиката, а именно приложението на разработения подход за произволни предикатни формули за свойствата на документи.


  1. Основни научни и научно-приложните приноси в дисертационния труд

Научни и научно-приложни приноси, определени в дисертацията, са както следва:

  • Направен е обзор на областите синтез и анализ на компютърни програми.

  • Дефиниран е формален модел на нерелационните бази от данни, позволяващ формално представяне на свойствата им.

  • Формално е изложен подход за синтезиране на програми, извършващи анализ на коректността на поведението на системи, обновяващи нерелационни бази от данни.

  • Направено е доказателство на пълнотата и коректността на подхода за синтезиране на програми.

  • Направена е експериментална реализация на създадения подход за конкретен тип нерелационни бази от данни.

Най-важните резултати са, че формално е дефиниран модел на нерелационни бази от данни; представен е подход за генерация на програми, които изследват три класа свойства (връзки „един към много“, „много към много“ и агрегатни свойства) на нерелационните бази от данни; подходът е обоснован теоретично и с програмна реализация.


  1. Оценка на авторското участие в получаване на приносите

По представените публикации (няма съвместни публикации) и текста на дисертационния труд може да се заключи, че представените по-горе приноси са дело на автора. Не съм срещал в литературата тематика подобна на тази представена в дисертацията и публикациите.

Дисертационният труд е докладван повече от два пъти (два доклада са приведени в дисертацията). Първият доклад е в съавторство по по-общата тематика на проблемите на средствата за обучение по теоретична информатика. В този доклад авторът е първи. Вторият доклад е самостоятелен по тематиката на дисертацията.




  1. Преценка на публикациите по дисертационния труд

Списъкът от публикации на автора съдържа 3 заглавия. Публикациите са самостоятелни. Резултатите представени в дисертационния труд са публикувани. Една публикация е в списание, една в годишник и една на международна конференция както следва:

  1. Georgiev, K., “Referential integrity and dependencies between documents in a document oriented database”, GSTF Journal of Computing, Volume 2, Number 4, January 2013, pages 24-28

  2. Георгиев К., „Анализ и извличане на компютърни програми“, Годишник на секция Информатика, Съюз на учените в България, Том 5, 2012, 1-31

  3. Georgiev, K., “Verification of Java programs and applications of the Java Modelling Language in computer science education”, Information Systems & Grid Technologies, Seventh International Conference, ISGT’13

Няма забелязани цитирания на направените публикации. Публикациите са от миналата година и от тази година. Третата публикация мога да заверя, че е приета за печат. В нея е допусната грешка – публикацията е в съавторство с Трифон Трифонов, както се вижда и от по-късно представената от докторанта справка.

Две от публикациите са на английски език и една на български език.

Всички резултати от дисертационния труд са публикувани.


  1. Използване на получените в дисертационния труд резултати и препоръки за бъдещето им внедряване

Получените резултати са в две направления: теоретично и практично. За теорията има значение формалното определение на модел на нерелационните бази от данни, които да е основа на по-нататъшни изследвания върху свойствата.

От практическа гледна точка, генерацията на програми изследващи свойствата на нерелационните бази от данни има важно значение за автоматизацията труда на програмиста.

В заключение, развитието и прилагането на представения подход за произволни свойства на нерелационните бази от данни ще е важен принос в изследователската област.


  1. Относно автореферата към дисертационния труд

Авторефератът към дисертационния труд е на 32 страници и отразява напълно съдържанието и приносите на дисертационния труд. В него са съкратени до минимум обзорите и практическата реализация, поставено е ударение върху резултатите.


  1. Критични бележки

В дисертацията на места, някои от термините на базите от данни не са точно посочени. Например, използван е термин „референтна цялост“ вместо „референтна цялостност“.

Други термини от базите от данни не са използвани много прецизно, например „връзки“ са използвани в смисъл на „отношения“, но връзката е екземпляр на отношението.

Независимо от това, термините са дефинирани формално, така че не остава съмнение за какво става дума.


  1. Други въпроси

Калин Георгиев Николов завършва бакалавър по Информатика през 2004 г. ФМИ при СУ „Св. Климент Охридски“, а през 2006 г. и магистър по Информатика към магистърска програма Логика и алгоритми.

От 2002 г. до 2006 г. е работил като информатик в ЦЛБИ към БАН, а от 2005 г. до сега е асистент (главен асистент) във ФМИ при СУ „Св. Климент Охридски“ към катедра Компютърна информатика. От 2006 г. до сега е оперативен и продуктов мениджър в Astea Solutions AD.

Има 23 публикации, от които 3 самостоятелни, 5 с един съавтор, 8 с двама съавтори, 5 с трима съавтори и 2 с четирима съавтори. От общите публикации в 6 е първи автор, в 7 е втори автор, в 4 е трети автор и в 3 е четвърти автор. 11 от публикациите са в списания, 9 в материали на конференции, има 2 учебника и един доклад.

Познавам Калин Георгиев Николов от времето когато постъпи на работа във ФМИ. Винаги е правил впечатление с ангажираността си към учебния процес.




  1. Заключение

Представения от автора дисертационен труд, удовлетворява изискванията на ЗРАСРБ и ПЗРАСРБ. Препоръчвам на уважаемото жури да присъди на Калин Георгиев Николов образователната и научна степен „доктор“ в областта на висше образования „4.5 Природни науки, математика и информатика“, професионално направление „4.6 Информатика и компютърни науки“.

Дата: 01 май 2013 г. Рецензент: .................................

гр. София (проф. д-р Владимир Димитров)







База данных защищена авторским правом ©obuch.info 2016
отнасят до администрацията

    Начална страница