Specifikace pro inteligentní syntézu softwaru
Specifications for Intelligent Software Synthesis
Typ dokumentu
disertační prácedoctoral thesis
Autor
Josef Kufner
Vedoucí práce
Mařík Radek
Oponent práce
Nečaský Martin
Studijní obor
Umělá inteligence a biokybernetikaStudijní program
Elektrotechnika a informatikaInstituce přidělující hodnost
katedra počítačůPráva
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
Implementace jednoduchých, avšak příliš různorodých, entit ve webových aplikacích je únavná úloha, jejíž řešení se pokusíme automatizovat. Tato práce směřuje k vytvoření asistivní technologie, kdy počítače programátorům s implementací pomáhají, ale nesnaží se je plně nahradit. První otázkou je, jak počítači sdělit, co po něm chceme tak, aby taková specifikace byla jednodušší, než kdybychom to sami naprogramovali. Druhá otázka cílí na možnosti uvažování o programech – jak analyzovat to, co máme a jak odvozovat, co nám chybí. V rámci navrhovaného řešení představíme Smalldb, které formálně popisuje chování entit webové aplikace pomocí konečných automatů, avšak nesnaží se zachytit každý aspekt takové aplikace. Pro věci, které je nepraktické formálně modelovat, se ponechají dobře definované mezery a ty se následně zaplní pomocí vhodnějšího nástroje. Formální model se tak začlení jak do architektury aplikace, tak do jejího běhového prostředí, kde tvoří API mezi business logikou a prezentační vrstvou aplikace. Takto integrovaný model navíc hlídá, zda implementované chování odpovídá tomu modelovanému. Abychom zodpověděli onu první otázku, je potřeba se podívat na samotný začátek procesu vývoje aplikace a identifikovat, jaké specifikace programátoři obvykle používají při návrhu a zda jsou tyto specifikace vhodné ke strojovému zpracování. Jednou z takových specifikací jsou procesní diagramy kreslené pomocí BPMN notace. Ty použijeme jako vstup nově vytvořeného STS algoritmu, kterému architekt nakreslí, jak budou uživatelé používat danou aplikaci, a STS algoritmus odvodí implementaci v podobě Smalldb automatu. Na závěr si představíme kaskádu, která je nástrojem pro automatizované sestavování programů využívající formální modely. To relieve programmers of repetitive and tiring work on simple, yet too diverse, entities in web applications, this thesis searches for an assistive framework, where machines aid the programmers with implementing such entities. The first question to answer is how to tell the computer what we want without specifying all the details; otherwise, we could just implement the application instead. The second question is how to effectively reason about the software so that we can analyze what we have and infer what we miss. The proposed solution introduces Smalldb state machines as a formal model that describes the behavior of the entities in a web application. Such a model is not designed to cover every aspect of the application; instead, it leaves well-defined gaps for the details that are impractical to specify formally. The formal model then becomes part of the application architecture and run-time, where it provides a secure API between business logic and presentation layer; moreover, it verifies that the implementation corresponds to the model. To answer the first question, we return to the very beginning of the software development process, where we identify software specifications that programmers already use and discuss whether such specifications are sufficiently machine-friendly for automated processing. The identified BPMN business process diagrams become an input for a novel STS algorithm — a software architect draws how users will use a web application, and the STS algorithm infers the implementation in the form of a Smalldb state machine. The thesis concludes with presenting a Cascade, a machine-friendly approach to software composition based on the utilization of the formal models.
Zobrazit/ otevřít
Kolekce
- Disertační práce - 13000 [697]
Související záznamy
Zobrazují se záznamy příbuzné na základě názvu, autora a předmětu.
-
Návrh letového softwaru pro projekt Demise Observation Capsule
Autor: Zamouřil Jakub; Vedoucí práce: Sojka Michal; Oponent práce: Česák Petr
(České vysoké učení technické v Praze. Vypočetní a informační centrum.Czech Technical University in Prague. Computing and Information Centre., 2017-05-26)Tato práce popisuje proces návrhu letového softwaru pro zařízení kvalifikované pro provoz ve vesmíru, ukazuje jeho vývoj a testování, a poskytuje popis hotového produktu. Letový software popisovaný v této práci byl vyvinut ... -
Tvorba fotoplánu rozvinutím - možnosti zpracování
Autor: Půbal Miloslav; Vedoucí práce: Hodač Jindřich; Oponent práce: Dvořáček Petr
(České vysoké učení technické v Praze. Vypočetní a informační centrum.Czech Technical University in Prague. Computing and Information Centre., 2016-05-17)Mezi cíle této diplomové práce patří průzkum současné situace na trhu zabývající se technologií tvorby fotoplánu rozvinutím a získání vhodných nástrojů (softwarů) do následného testování. V rámci seznámení se s danými ... -
Případová studie zavedení účetního software pro firmu
Autor: Martin Kutiš; Vedoucí práce: Šedek Pavel; Oponent práce: Buchtela David
(České vysoké učení technické v Praze. Vypočetní a informační centrum.Czech Technical University in Prague. Computing and Information Centre., 2019-06-13)V práci je řešena problematika využití účetního software v dnešní době. Hlavním cílem je vypracování případové studie zavedení účetního software ve firmě. Pro jeho naplnění je provedena analýza požadavků a potřeb firmy, ...