РАЧУНАРСТВО ИЗМЕЂУ ПРАКСЕ И ИСТРАЖИВАЊА

Slides:



Advertisements
Similar presentations
АНТИБИОТСКА ТЕРАПИЈА НОЗОКОМИЈАЛНИХ ПНЕУМОНИЈА Асс др Дејана Ружић Зечевић Клинички фармаколог.
Advertisements

Индиректна питања користимо када некога љубазно питатмо за информацију, почевши са изразима као нпр.:
1 БЕЗБЕДНОСТ НА РАДУ ПРИ РАДУ СА МОСТОВСКИМ И ДРУГИМ ВРСТАМА ДИЗАЛИЦА.
1 Научни радови - рецензирање - Горан Ненадић School of Computer Science, University of Manchester Математички институт, Београд.
ДАВАЧИ ПОМЕРАЈА 2. Садржај  Синхроуређаји  Разлагачи  Индуктосини  Енкодери  Дифракционе решетке  Двобрзински мерни системи  Двоположајни давачи.
ДАВАЧИ ПРИТИСКА, ПРОТОКА, НИВОА, ГУСТИНЕ, pH ВРЕДНОСТИ, ВЛАЖНОСТИ И ДИМЕНЗИЈА (слике: Д. Станковић “Мерење неелектричних величина електричним путем” и.
1 СТАНДАРДИ ЗА БЕЗБЕДНУ ХРАНУ Global GAP И ИНТЕГРИСАНИ СИСТЕМИ ИСО 9001 и HACCP ( ИСО 22000) Др Нада Косановић Институт за примену науке у пољопривреди.
ko-je-prvi-dokazao-da-je-voda-h2o/
УСПОСТАВЉАЊЕ МОНИТОРИНГ СИСТЕМА ОТПАДА У РЕПУБЛИЦИ СРБИЈИ Славица Лекић Љиљана Станојевић Светлана Парежанин САСТАНАК РАДНЕ ГРУПЕ ЗА ОТПАД Агенција за.
КОНКУРС МИНИСТАРСТВА ЗА ТЕЛЕКОМУНИКАЦИЈЕ И ИНФОРМАЦИОНО ДРУШТВО „Дигитални час“ Основна школа “Јован Поповић “ Сусек одељење у Баноштору Аутор: Ђурђица.
Кеш меморијa Приципи рада кеш меморија Величина кеша
Јава - RMI Дизајн симулатора дискретних догађаја опште намене обухвата пројектовање више различитих структурних нивоа. Унутар сваког од структурних нивоа.
Увод у WEB програмирање
ОДРЖАВАЊЕ И ЗАШТИТА СИСТЕМА
Промена Устава РС Београд, 21. јул 2017.
учитељица Лала, ОШ "АнтаБогићевић", Лозница
Информатика као професија Горан Ненадић
Увод у информатику и рачунарство
Живот који помера границе Еко-Мускетари ОШ „Дринка Павловић“
Матична Плоча Миле Станковић
Методика наставе рачунарства
Инструменти који могу олакшати примену Уредбе о биоцидним производима
Проналажење мултимедијалних информација
Архитектура рачунарских система
Рачунарске мреже Александар Картељ
Објектно орјентисано програмирање
38. Серво мотори. Захтеви и примена. ДС серво мотори. АС серво мотори
ХЕЛИКОБАКТЕР ПИЛОРИ-ЕРАДИКАЦИОНА ТЕРАПИЈА
Референтни модели Поређење референтних модела OSI и TCP/IP
Међународни стандард за систем менаџмента квалитетом ISO 9001:2015
Аутори: Славко Марковић Игор Јанковић
Дигитални репозиторијуми докторских дисертација
Рачунарске мреже Александар Картељ
ОСНОВНИ ЕЛЕМЕНТИ ГРАФИЧКОГ ИНТЕРФЕЈСА
РАЧУНАРСКЕ КОМУНИКАЦИЈЕ
АРБИТРАЖНИ СПОРАЗУМ.
Рачунарски ВЛСИ системи
Рачунарске мреже Александар Картељ
Методика наставе рачунарства
Фон-Нојманов модел рачунарског система
Стандарди за заштиту животне средине
ДОБРОДОШЛИ У ОШ “БРАНКО РАДИЧЕВИЋ”
Рачунарске мреже Александар Картељ
Програмски језик C Структура програма, типови података,
Информатиче технологије -Коришћење интернета-
УПОТРЕБА КОМАНДЕ EXTRUDE У ПРОГРАМУ PRODESKTOP
Методика наставе рачунарства
Računarska grafika.
Републички педагошки завод Савјетовање наставника енглеског језика
Оперативни системи и рачунарске мреже
Сабирање и одузимање троцифреног и двоцифреног броја
КОМПОЗИТИ НА БАЗИ ДРВЕТА
Оптички систем преноса
Подешавање радног окружења програма Microsoft Word
INTERNET MARKETING.
Атомска и нуклеарна физика
Рачунарске мреже Александар Картељ
Дистрибуиране базе података
Стандарди за заштиту животне средине
СОФТВЕР.
Суштина и концепције курикулума
Увод доц. др Гордана Пејовић, дипл. фарм. спец.
ОСНОВИ ИНФОРМАЦИОНИХ ТЕХНОЛОГИЈА
Аритметичке и логичке операције
Микроталасна електроника
Оператор надовезивања
Oрганизација и архитектура рачунара
Глобални барометар корупције 2009
Критеријумски тест за српски језик
Примена на спроводници и изолатори
Presentation transcript:

РАЧУНАРСТВО ИЗМЕЂУ ПРАКСЕ И ИСТРАЖИВАЊА Давор Шутић

Зашто? Шта? Како?

Schneider Electric DMS NS Главна делатност: развој софтвера за управљање електро-енергетским системима Акценат на „паметној мрежи“ (тзв. Smart grid) Производ: АДМС Тим од око 800 инжењера различитих специјализација Интензивна сарадња са Универзитетом у Новом Саду

Schneider Electric DMS NS

Schneider Electric DMS NS

SCADA - појам Supervisory Control And Data Acquisition Систем за даљинско управљање и надзор Критичан систем за рад у реалном времену Инфраструктура на којој се заснивају функције АДМС

SCADA - изазови Комуникација с тереном (телеметрија) База података Стабилна мрежна инфраструктура Индустријски протоколи (DNP3, Modbus, IEC104) База података Брз приступ без изгладњивања за мноштво процеса Капацитет (неколико милиона тачака) Опоравак од квара Прелазак на помоћни систем Одржавање конзистентности Презентовање кориснику Мноштво догађаја, који траже акцију

SCADA – преглед функционалности

SCADA – значај критичности Испади и кашњења могу довести до великих материјалних трошкова и угрозити животе Велики број тачака (државе/градови до гранулације појединачног дома) Систем ради без престанка (24 часа/365 дана) Прелазак на резервни систем Константна репликација података Кратак временски период (неколико секунди) Људски фактор Аларми и догађаји изискују реакцију Поузданост команди

Развојни процеси – Модел водопада Секвенцијални процес Преузет из „физичких“ индустрија и примењен на развој софтвера Претпоставка: накнадне измене су изузетно скупе Користи се још од 1950-их

Развојни процеси – Модел водопада Фазе развоја: Захтеви продукта (документи) Анализа (модели, шеме, ...) Дизајн (архитектура решења) Писање кода (развој, системска интеграција, ...) Тестирање (проналажење и уклањање дефеката) Подршка (инсталација, одржавање, ...)

Развојни процеси – Агилни приступ Итеративни процес Одговор на „традиционални“ инжењеринг Примена на комплексне и динамичне пројекте Тешко се долази до тачних процена и стабилних планова Детаљан дизајн на почетку доводи до губитака Циљеви: Прилагодљивост пре предвидивости Итерације пре секвенцијалног развоја Код пре документације Мулти-функционалан тим

Развојни процеси – Агилни приступ Принципи: Задовољни клијенти и континуална испорука Прихватити промене захтева Функционалан продукт се често испоручује Блиска сарадња менаџмента и развојних тимова Поверење у индивидуалне и мотивисане особе Ко-локација људи Функционалан продукт је мера успеха Одржив развој – константна брзина Добар дизајн и техничка вештина Једноставност – максимум не-одрађеног посла Само-организација тимова Ретроспектива и само-унапређивање тимова

Развојни процеси – Агилни приступ

Тестирање У традиционалном моделу водопада, тестирање је остављано за крај пројекта Углавном засебна група људи Реалност: то време се користи за компензацију кашњења у „главном“ пројекту Већ је касно за откривене недостатке Исправљање одузима време од тестирања Када ће се тестирати исправљени код? А исправљени исправљени код?

Тестирање Агилно тестирање није посебна фаза, већ саставни део развоја Агилно тестирање није посебна фаза, већ саставни део развоја Активност целог тима, не само посвећених тестера Временом пружа чврсту базу за стабилност производа Инкременти не смеју да нарушавају постојеће тестове Служе као доказ функционалности Штеде време, јер се могу аутоматизовати (нпр. извршавање пре сваке промоције кода, ноћу, итд.)

Тестирање Модуларно тестирање – Unit testing Фокус на једном модулу – обично функција Циљ је да се тествима прођу све путање извршавања Покривеност кода Тежи се да се занемари утицај других компоненти (тзв mocking, faking, итд.) Одатле долази и огромни значај интерфејса у развоју

Тестирање

Тестирање

Развој вођен тестирањем TDD – Test Driven Development „Ово не може да се тестира“ Приступ да се прво пише тест, па код Циклус: „црвено“ – тест који тестира жељену функционалност, али тренутно не пролази „зелено“ – изменити код да сви тестови пролазе „рефактор“ – чишћење кода (промена хијерархије, реорганизација јединица кода, додатна функционалност, итд.) Мали број измена између тестова (<10) Нови код треба брзо и минимално да задовољи тестове

Развој вођен тестирањем Структура теста: Припрема окружење Извршење функционалност која се тестира (позив методе) Валидација резултата Тестови треба да буду кратки и брзи Идеално се извршавају при сваком компајлирању пројекта Идеално се валидира само један резултат (више резултата → више тестова) Идеално се тестовима посвећује исто толико пажње колико и продукционом коду

Развој вођен тестирањем Предности: Брз одзив Стабилни инкременти – „гаранција“ исправности Велика покривеност кода тестовима (до 100%) Фокусира програмера на дизајн и на то како ће клијенти да користе његов код Мане: Не дозвољава импровизацију Не замењује друге врсте тестова (функционалне) Троши додатно време за имплементацију и одржавање Проблем лоших тестова – лажна сигурност Више уметност него наука

Значај истраживања Рачунарство је наука која се брзо мења Праћење трендова: Академско (нпр. нови алгоритам) Технолошко (нпр. нови развојни пакет) Научни метод даје резултате истраживања Резултати се објављују у научним часописима и конференцијама Поступак рецензије потврђује резултате Проблем: Практична примена резултата касни и представља изазов за себе

Шта је докторат?

Захтеви за SCADA-у на облаку Изоловане три целине: Принцип претплате и објављивања Безбедност у облаку Репликација у облаку Закључци: Потребан је развој међуслоја, који би чувао систем и апстраховао облак Постоји безбедносни ризик – критичан систем у туђој надлежности Настанак додатних трошкова одржавања

Захтеви за SCADA-у на облаку

Управљање нитима на вишем нивоу SCADA систем има велики број процеса (>100) Критичан ресурс: база података Оперативни систем наивно додељује ресурсе и преузима ток извршавања нити Може да дође до чекања или изгладњивања критичних секција при приступу бази Карактеристично је да се процеси углавном врло дуго извршавају

Управљање нитима на вишем нивоу Идеја: Алгоритам који би пратио нити специфичне за SCADA систем на вишем нивоу Прикупља податке о томе колико се која нит такмичи с другим које се у исто време извршавају Доноси одлуку на крају критичне секције једне нити о томе која ће следећа нит да се извршава: Следећа нит мора имати минимум дељених критичних ресурса с нитима које се тренутно извршавају Не сме доћи до изгладњивања спорих или захтевних нити Главни изазов: алгоритам мора бити ефикасан, а довољно брз

Закључак

Хвала на пажњи