Spelling suggestions: "subject:"kodgenerering"" "subject:"sidgenerering""
1 |
Generering av skelettkod för prototyper av användarvänliga databasapplikationerRönn, Pernilla January 2000 (has links)
<p>Det blir allt vanligare att utvecklare av databasapplikationer använder någon form av kodgenererare för delar av eller fullständiga applikationer. De utvecklingsverktyg som används idag är antingen wizards eller kompletta applikationsgenererare. Problemet med detta är att wizards ger väldigt lite hjälp och kompletta applikationsgenererare skapar applikationer som inte går att förändra. Det finns alltså ett stort gap mellan dessa båda sorters utvecklingsverktyg. För att fylla ut detta gap kan användarvänlighet för en applikation läggas till en wizard, vilket får till följd att wizarden skall klara av att skapa en användarvänlig databasapplikation som har viss funktionalitet. I denna rapport föreslås en lösning för att skapa en prototyp till en wizard som kan automatgenerera skelettkod för användarvänliga databasapplikationer, givet metadata och indata. Den automatgenererade databasapplikationen skall användas mot relationsdatabaser.</p>
|
2 |
Modellering av kontrollenhet för JAS39 Gripens hjälpkraftsystemAndersson, Karl January 2007 (has links)
<p>Simulation is an important tool for verification and validation. Time and money can be saved using simulation instead of flight tests. Achieving satisfying results demands precise models. A new model for JAS39 Gripen’s auxiliary power and engine starting system, APESS, is presented. The objective of this thesis is to develop a more accurate model of APESS and its control unit, APECU. The model was created in MATRIXX. Models are created in MATRIXX using a graphical interface. In MATRIXX, it is possible to generate C-code which is a useful feature.</p><p>Models for the APECU, APU, valves and sensors has been created. The models are then tested and verified using data from test flights.</p><p>The result is a more accurate model for SYSIM. The created control unit model can be used in Easy5. Simulation in MATRIXX has become a useful educational tool.</p><p>One model for three purposes will decrease the amount of nesesary work each system or model update brings. Keeping the model description up to date is also easier.</p> / <p>Simulering är ett viktigt verktyg för verifiering och validering. Tid och pengar kan sparas om simulering kan användas istället för flygprov. För att simuleringen ska ge korrekta resultat krävs korrekta modeller. I denna rapport presenteras en ny modell för JAS39 Gripens hjälpkraft- och motorstartssystem, APESS. Målet med arbetet var att skapa en mer avancerad modell av APESS och dess kontrollenhet APECU. Modellen har skapats i det grafiska verktyget MATRIXX som lämpar sig bra för C-kodgenerering. I arbetet har modeller för kontrollenheten, APU, ventiler och sensorer, tagits fram. Modellerna har testats och verifierats mot data hämtade från flygprov.</p><p>Resultatet blev en mer exakt modell för SYSIM. Kontrollenheten som skapades för modellen kan användas i modelleringsverktyger Easy5. Simulering direkt i MATRIXX är också möjligt vilket har blivit ett pedagogiskt verktyg som ingenjörerna på avdelningen för hjälpkraft, kan använda sig av.</p><p>Att en modell kan användas för tre olika ändamål minskar arbetet, då uppdateringar av modellen eller systemet genomförs. Att hålla modelldokumentationen ajour underlättas även av detta.</p>
|
3 |
Modellering av kontrollenhet för JAS39 Gripens hjälpkraftsystemAndersson, Karl January 2007 (has links)
Simulation is an important tool for verification and validation. Time and money can be saved using simulation instead of flight tests. Achieving satisfying results demands precise models. A new model for JAS39 Gripen’s auxiliary power and engine starting system, APESS, is presented. The objective of this thesis is to develop a more accurate model of APESS and its control unit, APECU. The model was created in MATRIXX. Models are created in MATRIXX using a graphical interface. In MATRIXX, it is possible to generate C-code which is a useful feature. Models for the APECU, APU, valves and sensors has been created. The models are then tested and verified using data from test flights. The result is a more accurate model for SYSIM. The created control unit model can be used in Easy5. Simulation in MATRIXX has become a useful educational tool. One model for three purposes will decrease the amount of nesesary work each system or model update brings. Keeping the model description up to date is also easier. / Simulering är ett viktigt verktyg för verifiering och validering. Tid och pengar kan sparas om simulering kan användas istället för flygprov. För att simuleringen ska ge korrekta resultat krävs korrekta modeller. I denna rapport presenteras en ny modell för JAS39 Gripens hjälpkraft- och motorstartssystem, APESS. Målet med arbetet var att skapa en mer avancerad modell av APESS och dess kontrollenhet APECU. Modellen har skapats i det grafiska verktyget MATRIXX som lämpar sig bra för C-kodgenerering. I arbetet har modeller för kontrollenheten, APU, ventiler och sensorer, tagits fram. Modellerna har testats och verifierats mot data hämtade från flygprov. Resultatet blev en mer exakt modell för SYSIM. Kontrollenheten som skapades för modellen kan användas i modelleringsverktyger Easy5. Simulering direkt i MATRIXX är också möjligt vilket har blivit ett pedagogiskt verktyg som ingenjörerna på avdelningen för hjälpkraft, kan använda sig av. Att en modell kan användas för tre olika ändamål minskar arbetet, då uppdateringar av modellen eller systemet genomförs. Att hålla modelldokumentationen ajour underlättas även av detta.
|
4 |
Generering av skelettkod för prototyper av användarvänliga databasapplikationerRönn, Pernilla January 2000 (has links)
Det blir allt vanligare att utvecklare av databasapplikationer använder någon form av kodgenererare för delar av eller fullständiga applikationer. De utvecklingsverktyg som används idag är antingen wizards eller kompletta applikationsgenererare. Problemet med detta är att wizards ger väldigt lite hjälp och kompletta applikationsgenererare skapar applikationer som inte går att förändra. Det finns alltså ett stort gap mellan dessa båda sorters utvecklingsverktyg. För att fylla ut detta gap kan användarvänlighet för en applikation läggas till en wizard, vilket får till följd att wizarden skall klara av att skapa en användarvänlig databasapplikation som har viss funktionalitet. I denna rapport föreslås en lösning för att skapa en prototyp till en wizard som kan automatgenerera skelettkod för användarvänliga databasapplikationer, givet metadata och indata. Den automatgenererade databasapplikationen skall användas mot relationsdatabaser.
|
5 |
Kodgenereringsmöjligheter i VISIO 2000 EnterpriseSeifzadeh, Shahin January 2000 (has links)
<p>Alltid har mjukvaruföretagen varit intresserade av att bedriva applikationsutvecklingen så effektiv och lönsam som möjligt. För detta avseende använder många utav dem olika CASE-verktyg. Ett sådant CASE-verktyg är VISIO 2000 Enterprise. CASE-verktyg kan t ex användas för att genomföra transformeringar mellan modeller och koder. Denna möjlighet underlättar applikationsutvecklingen, men tyvär kan sådana transformeringar medföra eventuella förluster av data och leda till att eventuella semantiska förluster uppstår. Dessa förluster kan innebära att den representerade informationen i modeller och koder inte är det samma efter en transformation. Därför är det intressant att undersöka hur bra ett CASE-verktyg klarar av detta innan det kan avändas som stöd vid applikationsutveckling. I denna rapport undersöks genereringsmöjligheterna i CASE-verktyget VISIO 2000 Enterprise samt de eventuella semantiska förluster som kan uppstå vid transformationer mellan modeller och koder via CASE-verktyget. Olika tester innehållande transformationer mellan modeller och koder som representerar grundläggande relationer mellan olika klasser har genomförts för att undersöka förluster av relationer mellan klasser samt förluster av relationsnamn, medlemsfunktioner och medlemsvariabler i klasserna och koden. Utifrån testresultaten kan slutsats dras att VISIO kan vara bra använda vid applikationsutveckling när det gäller transformationer av modell till kod men inte tvärtom.</p>
|
6 |
Kodgenerering i CASE-verktyg : En undersökning hur CASE-verktyg uppfyller experters kodgenereringskravAndersson, Martin January 2001 (has links)
<p>Denna rapport undersöker krav, tagna från ett ramverk för evaluering av CASE-verktyg i ett kontextuellt sammanhang, i två representativa CASE-verktyg. Ramverket utnyttjar en modell som föreslagits av Lundell och Lings för att extrahera både krav och förväntningar som en organisation (www.it.volvo.com) hade på vad ett CASE-verktyg är och kan utföra.</p><p>Ramverket extraherar krav i ett organisationell kontext, dvs. utvärderingen utfördes innan verktyget som evaluerades användes i organisationen. Detta indikerar på att kraven inte är knutna till ett specifikt verktyg, samt att CASE-verktyg inte säkert stödjer dessa krav.</p><p>Resultatet för denna rapport är att viss semantisk förlust uppstod vid transformering av kod och modeller.</p>
|
7 |
Kodgenerering i CASE-verktyg : En undersökning hur CASE-verktyg uppfyller experters kodgenereringskravAndersson, Martin January 2001 (has links)
Denna rapport undersöker krav, tagna från ett ramverk för evaluering av CASE-verktyg i ett kontextuellt sammanhang, i två representativa CASE-verktyg. Ramverket utnyttjar en modell som föreslagits av Lundell och Lings för att extrahera både krav och förväntningar som en organisation (www.it.volvo.com) hade på vad ett CASE-verktyg är och kan utföra. Ramverket extraherar krav i ett organisationell kontext, dvs. utvärderingen utfördes innan verktyget som evaluerades användes i organisationen. Detta indikerar på att kraven inte är knutna till ett specifikt verktyg, samt att CASE-verktyg inte säkert stödjer dessa krav. Resultatet för denna rapport är att viss semantisk förlust uppstod vid transformering av kod och modeller.
|
8 |
Kodgenereringsmöjligheter i VISIO 2000 EnterpriseSeifzadeh, Shahin January 2000 (has links)
Alltid har mjukvaruföretagen varit intresserade av att bedriva applikationsutvecklingen så effektiv och lönsam som möjligt. För detta avseende använder många utav dem olika CASE-verktyg. Ett sådant CASE-verktyg är VISIO 2000 Enterprise. CASE-verktyg kan t ex användas för att genomföra transformeringar mellan modeller och koder. Denna möjlighet underlättar applikationsutvecklingen, men tyvär kan sådana transformeringar medföra eventuella förluster av data och leda till att eventuella semantiska förluster uppstår. Dessa förluster kan innebära att den representerade informationen i modeller och koder inte är det samma efter en transformation. Därför är det intressant att undersöka hur bra ett CASE-verktyg klarar av detta innan det kan avändas som stöd vid applikationsutveckling. I denna rapport undersöks genereringsmöjligheterna i CASE-verktyget VISIO 2000 Enterprise samt de eventuella semantiska förluster som kan uppstå vid transformationer mellan modeller och koder via CASE-verktyget. Olika tester innehållande transformationer mellan modeller och koder som representerar grundläggande relationer mellan olika klasser har genomförts för att undersöka förluster av relationer mellan klasser samt förluster av relationsnamn, medlemsfunktioner och medlemsvariabler i klasserna och koden. Utifrån testresultaten kan slutsats dras att VISIO kan vara bra använda vid applikationsutveckling när det gäller transformationer av modell till kod men inte tvärtom.
|
9 |
Cumulus - translating CUDA to sequential C++ : Simplifying the process of debugging CUDA programs / Cumulus - översätter CUDA till sekventiell C++ : En studie i hur felsökande av CUDA-program kan förenklasBlomkvist Karlsson, Vera January 2021 (has links)
Due to their highly parallel architecture, Graphics Processing Units (GPUs) offer increased performance for programs benefiting from parallel execution. A range of technologies exist which allow GPUs to be used for general-purpose programming, NVIDIA’s CUDA platform is one example. CUDA makes it possible to combine source code written for GPUs and Central Processing Units (CPUs) in the same program. Those sections that benefit from parallel execution can be written as CUDA kernels and will be executed on the GPU. With CUDA it is common to have tens, or even hundreds, of thousands of threads running in parallel. While the high level of parallelism can offer significant performance increases for executed programs, it can also make CUDA programs hard to debug. Although debuggers for CUDA exist, they can not be used in the same way as standard debuggers, and they do not reduce the difficulties of reasoning about parallel execution. As a result, developers may feel compelled to fall back to inefficient debugging methods, such as relying on print statements. This project examines two possible approaches for creating a tool which simplifies the process of debugging CUDA programs, by transforming a parallel CUDA program to a sequential program in another high level language: one method centered around the Clang Abstract Syntax Tree (AST), and the other method centered around LLVM Intermediate Representation (IR) code. The method using Clang was found to be the most suitable for the purpose of translating CUDA, as it enables modifying only select parts, such as kernels, of the input program. Thus, the tool Cumulus was developed as a Clang plugin. Cumulus translates parallel CUDA code into sequential C++ code, allowing developers to use any method available for C++ debugging to debug their CUDA program. Cumulus is indicated to be a potential aid in debugging CUDA programs, by providing developers with increased flexibility. / Tack vare sin högst parallella arkitektur kan grafikprocessorer erbjuda ökad prestanda för program som gagnas av parallel exekvering. En mängd teknologier finns, vilka möjliggör att grafikprocessorer kan användas inte bara till grafikberäkningar, utan även till allmäna beräkningar. NVIDIA’s plattform CUDA är en sådan teknik. CUDA gör det möjligt att i samma program kombinera källkod skriven för att exekveras på en centralprocessor, med källkod skriven för att exekveras på en grafikprocessor. Kodsektioner i ett program som gagnas av att köras parallellt kan skrivas som en CUDA kernel, vilket är en funktion som exekveras på grafikprocessorn. Med CUDA är det är inte ovanligt att ha tiotusentals, eller till och med hundratusentals, trådar som körs parallellt. Den mycket höga nivån av parallellism kan erbjuda markant ökad prestanda för exekverade program, men kan samtidigt göra det svårt att felsöka CUDA-program. Särskilda avlusare för CUDA existerar, men de kan inte användas på samma sätt som standardavlusare, och de minskar inte svårigheterna med att resonera kring parallella beräkningar. På grund av detta kan utvecklare känna sig nödgade att använda ineffektiva felsökningsmetoder, såsom att förlita sig på printsatser. Det här projektet undersöker två möjliga metoder för att skapa ett verktyg som förenklar felsökandet i CUDAprogram, genom att översätta ett parallellt CUDA-program till ett sekventiellt program i ett klassiskt högnivå-programmeringsspråk. Den ena möjliga metoden är centrerad kring Clangs AST, den andra möjliga metoden är centrerad kring LLVM IR-kod. Metoden som använder Clang fanns vara den mest lämpliga metoden för syftet att översätta CUDA-kod, eftersom den möjliggör översättning av endast utvalda delar av originalprogrammet, exempelvis kernels. Således utvecklades verktyget Cumulus som en Clangplugin. Cumulus översätter parallell CUDA-kod till serialiserad C++-kod, vilket låter utvecklare använda alla de metoder som finns tillgängliga för att felsöka C++-program, för att felsöka sina CUDA-program. Evalueringen av Cumulus indikerar att verktyget kan fungera som en möjlig hjälp vid felsökande av CUDA-program, genom att erbjuda utvecklare ökad flexibilitet.
|
10 |
Problem Solving Using Automatically Generated Code / Problemlösning med automatiskt genererad kodCatir, Emir, Claesson, Robin January 2023 (has links)
Usage of natural language processing tools to generate code is increasing together with the advances in artificial intelligence. These tools could improve the efficiency of software development, if the generated code can be shown to be trustworthy enough to solve a given problem. This thesis examines what problems can be solved using automatically generated code such that the results can be trusted. A set of six problems were chosen to be used for testing two automatic code generators and the accuracy of their generated code. The problems were chosen to span a range from introductory programming assignments to complex problems with no known efficient algorithm. The problems also varied in how direct their descriptions were, with some describing exactly what should be done, while others described a real-world scenario with a desired result. The problems were used as prompts to the automatic code generators to generate code in three different programming languages. A testing framework was built that could execute the generated code, feed problem instances to the processes, and then verify the solutions that were outputted from them. The data from these tests were then used to calculate the accuracy of the generated code, based on how many of the problem instances were correctly solved. The experimental results show that most solutions to the problems either got all outputs correct, or had few or no correct outputs. Problems with direct explanations, or simple and well known algorithms, such as sorting, resulted in code with high accuracy. For problems that were wrapped in a scenario, the accuracy was the lowest. Hence, we believe that identifying the underlying problem before resorting to code generators should possibly increase the accuracy of the code. / Användningen av verktyg som bygger på språkteknologi för att generera kod har ökat i takt med framstegen inom artificiell intelligens. Dessa verktyg kan användas för att öka effektiviten inom mjukvaruutveckling, om den genererade koden kan visas tillförlitlig nog för att lösa ett givet problem. Denna avhandling utforskar vilka problem som kan lösas med automatiskt genererad kod på en nivå sådan att resultaten kan dömas tillförlitliga. En mängd på sex olika problem valdes för att testa två olika kodgenererande verktygs noggrannhet. De utvalda problemen valdes för att täcka ett stort span av programmeringsproblem. Från grundläggande programmeringsproblem till komplexa problem utan kända effektiva algoritmer. Problemen hade även olika nivåer av tydlighet i deras beskrivning. Vissa problem var tydligt formulerade med ett efterfrågat tillvägagångssätt, andra var mindre tydliga med sitt respektive förväntade resultat inbakat i problembeskrivningen. De utvalda kodgenererade verktygen uppmanades lösa problem enligt sex problembeskrivningar på tre olika programmeringsspråk. Ett ramverk byggdes som skapade probleminstanser, exekverade den genererade koden och verifierade den utmatade lösningen. Resultaten användes för att beräkna den genererade kodens noggrannhet, baserat på hur många av de givna instanserna som lösts korrekt. Resultaten från testerna visar att de flesta av de genererade lösningarna fick antingen alla eller inga instanser korrekt lösta. Problem med tydliga beskrivningar och enkla välkända algoritmer så som sortering, resulterade i kod med hög noggrannhet. För de mindre tydliga problemen, som resulterade i lägst noggrannhet, bör identifiering av det underliggande problemet öka kodens noggrannhet.
|
Page generated in 0.0642 seconds