• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 4506
  • 975
  • 69
  • 49
  • 39
  • 11
  • 2
  • 1
  • 1
  • 1
  • Tagged with
  • 5890
  • 5890
  • 5606
  • 5343
  • 5321
  • 773
  • 451
  • 372
  • 320
  • 314
  • 304
  • 286
  • 265
  • 257
  • 254
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
421

Precision time protocol grandmaster clock : Systemization and development of the protocol handler and functional blocks on FPGA

Hemani, Sadiq January 2015 (has links)
Med tanke på den ökade efterfrågan på exempelvis realtidsvideotjänster, är det uppenbart att högre krav ställs på timing och synkronisering och är därför kritiska för de infrastrukturer i nästa generationens nätverk. En av metoderna som telekomföretag har att hanterat detta är genom att använda en paketbaserat tidsfördelning som IEEE 1588 Precision Time Protocol (PTP). Med den andra versionen av protokollet även använts i Large Hadron Collider (LHR) vid CERN, bland flera andra tillämpningsområden (t.ex. telekombranschen), är det ett bevis på att PTP är en framtidssäker tid och frekvenssynkronisering lösning med tillräckligt intresse från en många olika intressegrupper. Synkroniseringsprotokoll kräver en mycket noggrann och stabil tidskälla, som fungerar som synkroniserings topologins främsta referens (som kallas för Grandmaster Klocka inom PTP). Förutom att fungera som en navigeringshjälp, ger GPS också en sådan exakt tidsreferens spridning med bekostnaden av en GPS-mottagare. Således är GPS ett populärt val för en tidsreferenskälla i synkroniseringsprotokoll som PTP. Som huvudresultatet i denna avhandling, har en PTP Grandmaster Klocka utvecklats och funktionellt verifierats på en FPGA. Grandmaster Klockan är PTP-topologins huvudreferenskälla som distribuerar synkronisering till PTP Slave Klockor. En GPS-mottagare fungerar som Grandmasterns tidsreferenskälla i systemet där periodiska tid och datum uppdateras och sedan in i PTP-meddelanden, som i sin tur är fördelade över Ethernet till en eller fler PTP Slave Klockor. I avsaknad av en PTP Slave klocka, emuleras dess beteende med hjälp utav en laptop för att funktionellt verifiera designen av Grandmaster Klockan. Trots att det var utanför omfattningen av avhandlingen, har en karakterisering med hjälp av ett verktyg lämpat för synkroniseringsprotokolls evaluering gjorts för att utvärdera de tidiga resultaten av denna design. Trots att resultaten inte uppnår samma nivå som liknande slutgiltiga implementationer av PTP Grandmaster Klockor, har vissa nyckelområden identifierats som en följd. De områden som bör förändras är i en viss mån en omdesign men går huvudsakligen ut på att ersätta funktionella block i systemets infrastruktur som har mer deterministiska och IEEE 1588 IP-kompatibla IP, t.ex. Ethernet MAC IP-blocket. Om de rekommenderade förändringarna följts, bör designen implemterad i denna avhandling uppnå den potentiella synkroniseringsnoggrannhet som krävs för dagens applikationsbehov. / Considering the growth in demand of for instance real-time video services, it is apparent that higher constraints are placed upon timing and synchronization and is hence mission critical for the next generation network infrastructures. One major way in which carriers have been coping with this, is by employing a packet-based timing distribution such as IEEE 1588 Precision Time Protocol (PTP). With the second version of the Protocol even used in the Large Hadron Collider at CERN, amongst various other application areas (such as the telecom industry), it is a testament to that PTP is a viable time and frequency synchronization solution with enough interest from a wide range of application groups. Synchronization protocols require a highly accurate and stable timing source, which serves as the synchronization topology’s primary reference (known as the Grandmaster Clock within PTP). Besides providing navigation assistance, GPS also provides such accurate time reference dissemination at the cost of a GPS-receiver. Thus GPS is a popular choice for a time reference source in synchronization protocols such as PTP. The main result of this thesis, a PTP Grandmaster Clock, has been developed and functionally verified on an FPGA. A GPS-receiver serves as the time reference source in the system where periodic time and date information is updated and then inserted into PTP messages, which in turn are distributed over Ethernet to PTP Slave Clocks. In the absence of a PTP Slave clock, a laptop emulated the behavior of a PTP Slave Clock in order functionally verify the Grandmaster Clock implementation. This was done using Wireshark and Ostinato that together serve as a network packet analyzer to verify the packets transmitted from the Grandmaster and a packet-generation software to mimic a PTP Slave Clock respectively. Although outside the scope of the thesis, a simpler characterization using a synchronization protocol evaluation tool (the IXIA Anue 3500) has been performed in order to evaluate the initial performance of this implementation. Despite the performance not being on par with similar final implementations of PTP Grandmaster Clock, some key areas that require further effort have been identified. These areas include to some extent a redesign but mostly on replacing system infrastructure blocks with more deterministic and IEEE 1588-compliant IP blocks, i.e. the Ethernet MAC IP block. It is believed that once these recommended changes are followed, the implementation would be capable of achieving the potential synchronization accuracy necessary for modern application needs.
422

A Study of Multiband Indoor Radio Distribution System

Shakya, Bikash January 2015 (has links)
The mobile indoor traffic are increasing exponentially which is the current challenge inindoor coverage and design for most of the researchers and business companies todevelop further. There are different trade-off to provide different indoor services withthe use of different repeater system, distributed antenna network (active and passive),macro cells indoor penetrations and many more. As the use of energy effective materialsfor construction of buildings have made a blockage of RF signals from macro cells,usually a separate installations are done to provide indoor coverage for differentservices such as TRTRA, GSM, UNTS, LTE and WLAN in indoor environments forlarge campuses, industrial complex, sports arena, tunnels and office buildings. Thisseparate installations increases the cost, installation space and time which can be solvedusing the same infrastructure to provide multiple of mobile indoor solutions using smartintegrated solutions where many mobile services can be distributed indoor using thesame distributed antenna network using active and passive networks.This thesis investigates the advantage and disadvantage of different types of active andpassive distributed antenna system with the integrated antenna network to compare thecoverage and cost analysis. The coverage analysis was done to compare the RSSI levelby adding different frequency bands into the indoor network for both active and passiveDAS design. Different types of sample design model was used to verify the coverageanalysis. It can be seen from the coverage analysis that an integrated system with all inone solution also has a better coverage compared to typical active and passive designwhich can be used in future in building design as One Net Solution. Also the costanalysis was done for both CAPEX and OPEX to find the cost estimation for differentindoor models. It showed that the integrated solution is the most expensive solution butif it has a case of large design venues, then integrate active solution can be the onlysolutions. Passive design cannot cover large scale areas. It is suitable only for small andmedium sized venues.
423

Webbutveckling : Säkerhet och prestanda

Löfgren, Dennis January 2015 (has links)
Den här rapporten visar olika säkerhetsrisker som finns för en webbapplikation och mer detaljerat beskriver hur och vad SQL injection-attacker används för samt hur dessa attacker kan förhindras. Utöver säkerheten undersöks olika metoder för prestandaförbättringar. Rapporten riktar in sig på mjukvaruförbättringar inom bland annat Asynchrounous Javascript And XML (AJAX) [3], minskad minnesanvändning och minimera antalet anrop mellan klient och server. Resultatet vad gäller säkerhet mot SQL-angrepp visar att PHP Data Object (PDO) effektivt förhindrar dessa attacker. Det krävs inte mycket arbete för utvecklaren att genomföra detta i nya applikationer och det gör applikationen säker mot SQL injections. I befintliga applikationer måste varje anrop anpassas men utvecklaren behöver sen inte tänka på att hantera input från användaren. Problemet med publika fakturor, dvs en publik direktlänk till varje respektiva faktura PDF, löstes genom att utgå från systemet egna ramverk för hantering av authentisering och rättigheter. Alla PDF-filer lagras privat utan åtkomst utifrån applikationen. Samtliga tester gällande prestanda visade positiv inverkan hos applikationen. Vissa mer än andra men tiden för implementation varierade och påverkar besluten. Asynchronous Javacript and XML (AJAX) [3] är den metod som krävde mest tid att implementera eftersom det kräver flera moment, skicka förfrågan till server, servern behandlar förfrågan och skickar tillbaka till klienten som hanterar resultatet. Trots det så blev tiden väl spenderad i förhållande till målet jag ville uppnå om bättre responstid för användarna. Indexering av databastabeller minskar ner sökningstiden för varje anrop men kan skapa flaskhalsar om de inte används på rätt sätt. Genom att hålla nere antalet index på en tabell så förbättras prestandan för INSERT, UPDATE och DELETE. Om en tabell används ofta för sökning istället för att ändra data så är det effektivt att använda index. Databasprestanda är ett väldigt brett och omfattande område vilket denna rapport endast gått igenom en bråkdel av genom att fokusera på indexering. Andra prestandaförbättringar som undersökts är olika metoder för att minska antalet anrop mellan klient och server. Här har fokus legat på metoder som kräver en låg kostnad men med förhoppning om stor effekt. CSS Sprites är en sådan metod som skapar en stor bild av flera mindre bilder. Istället för att hämta varje bild enskilt så hämtas en större bild. Antalet anrop minskar med den sammansatta bilden blir oftast större än de små tillsammans. Trots detta så övervägs detta oftast med färre anrop. Minimering av filer är också en enkel metod som strävar efter att minska storleken på filer genom att ta bort radbrytningar och onödiga mellanslag i koden. Olika online verktyg finns för att enkelt åstadkomma detta vilket gör att kostnade för implementering blir låg och effekten kan bli hög. Slutligen har resultatet visat att applikationens prestanda har förbättrats. Vissa av metoderna har endast implementerats i en vy vilket kan ge ett skevt resultat då varje vy kan variera och beroende på hur data används i respektive vy kan olika metoder vara mer effektiva / The purpose of this document is to present different security risks that exist for web applications and in detail describe how and why SQL injections are used and also how these attacks can be prevented. Apart from security this document will also compare different methods to improve software performance. Methods included will be Asynchrounous Javascript And XML (AJAX), decrease memory usage and also how to minimize the number of requests between frontend and backend. The result regarding SQL injection attacks shows that PHP Data Object (PDO) effectively prevents these types of attacks with very small effort from the developer in new applications. For existing applications all request to the database must be adjusted but then the developer doesn’t have to worry about user input validation. After the discovery of public invoices, an URL to the invoice PDF file causing search engines to find the invoices, the location of invoices where moved to a private storage. By using the Kufu platform the security issues were solved with the build in authentication and privilege management and the invoices are now only accessed through the application. All tests regarding performance showed a positive result. Some more than others but the time for implementation could vary which affects the decisions. Asynchronous Javacript and XML (AJAX) [3] is the most time consuming method to implement since it require serveral steps, send request to server, server manages the request and sends it back to client which manages the result. Compared to the goal I wanted to achieve for better user experience that time was well spent. The database indexes decreases the time load but could cause bottle necks if used incorrectly. By using as few indexes as possible on a table the performance will improve regarding INSERT, UPDATE and DELETE request. If a table uses SELECT much more than the others then using indexes will be more effective than the other way around. Database performance covers a wide area of information but this document will only cover indexes. Other performance improvements that’s been covered was to minimize the number of server requests from the client but by focusing on methods with low cost and hopefully big effect. CSS Sprites is one of these methods that creates a large image of smaller images. Instead of requesting each small image separately only one request is made for the large image. Even though the large image may be bigger than all the small ones the performance will be improved by the number of requests. Also minimizing code files by removing row breaks and spaces in the code will decrease the request size and therefore decrease page load. There are several online tools for these methods which keeps the implementation costs low and the effect can be high. The testing results shows that the application performance has been improved. Some of the methods have only been implemented in one view which may give a misleading result since each view may vary and depending on how the data is used in each view different methods could be more or less effective.
424

A method for automatic sampling of a MIDI-controlled grand piano

Masko, Jonas January 2015 (has links)
När man skapar musik digitalt så kan det vara önskvärt att kunna använda exakta återgivanden av riktiga instrument, och inte bara digitala simuleringar. För att kunna nyttja dessa återgivnigar av instrument så måste äkta ljud spelas in från instrumentet i fråga. Detta tar väldigt lång tid och kan vara svårt att genomföra noggrant. Denna rapport visar en Java lösning som automatisk kan spela in äkta ljud från ett instrument som kan ta emot och hantera digitala signaler från standarden för kommunikation mellan musikinstrument (MIDI) och presenterar ett exempel på hur Java kan användas som platform för MIDI och ljud. För att kunna skapa denna lösning så samlades information från olika forum samt dokumentationer online och en lösning provades fram. Resultatet är en demonstration av ett program som kan samla ljud från vilket instrument som helst som stödjer MIDI-inmatning, men är specifikt designat för att fungera med pianot. Programmet kan utvecklas vidare för att fungera med andra instrument med högre variation, exempelvis violiner, som skulle kunna ta emot mer MIDI-signaler än ett piano. / When producing digital music it might be desirable to be able to use accurate representations of actual instruments and not just digital simulations. To acquire these accurate representations, real audio must be recorded from the instrument. These tasks can be very time consuming and difficult to properly control. This report presents a solution to automate the recording of instruments which can receive and process the signals from the digital standard for musical instrument communication (MIDI) and provides an example of using Java as a platform when it comes to MIDI and audio. To create the solution, information was gathered from various forums and message boards online along with official and unofficial documentations and put into use in an trial-and-error approach. The outcome is information on how to use Java with MIDI and audio, a demonstration application which can collect samples from any instrument that supports MIDI, but is designed to work with the grand piano. This application can be developed further to support more advanced instruments, such as violins, which have a lot more variation than the grand piano and can use additional MIDI signals.
425

Evaluation and Implementation of Dominance Breaking Presolving Techniques in the Unison Compiler Back-End / Utvärdering och Implementation av Dominansbrytande Presolving-tekniker i Unison Kompilatorn

Almgren, Mikael January 2015 (has links)
Constraint-based compiler back-ends use constraint programming to solve some of the translation stages that a compiler back-end typically is constructed of. Using constraint programming enables the compiler to generate optimal target code that is faster and more robust compared to code generated by a traditional compiler back-end. With constraint programming, problems are modeled and automatically solved by a constraint solver. A method to make the solving less time-consuming is presolving. Presolving derives new information about a problem that can be applied to its model before the actual solving. This thesis focuses on evaluating a set of dominance breaking presolving techniques in a constraint-based compiler back-end. A dominance relation in constraint programming is two assignments that are in some sense equivalent. Based on the evaluation some of the presolving techniques are re-implemented in an open source constraint-solving toolkit, to remove dependencies on proprietary, but commonly available, systems inside the constraint-based compiler. The re-implemented techniques show similar or better performance than the original implementations of the techniques. In the best case, the re-implemented techniques shows an efficiency increase of 50 % compared to the original implementations. / Villkorsprogrammeringsbaserade kompilatorer använder villkorsprogrammering för att lösa vissa delar av översättningsprocessen som en traditionell kompilator-back-end typisk är konstruerad av. Genom användningen av villkorsprogrammering kan kompilatorn generera kod som är optimal och snabbare än kod genererad av en traditionell kompilatorback- end. Med villkorsprogrammering modelleras problem som sedan löses automatiskt av en constraint solver. En metod för att göra lösningsprocessen mindre tidskrävande är presolving. Presolving härleder ny information om ett problem och adderar informationen till problemets modell innan det löses. Denna masteravhandling evaluerar en grupp av dominansbrytande presolving-tekniker i en villkorsprogrammeringsbaserad kompilator. Baserat på denna utvärdering är några av dessa tekniker om-implementerade i ett open source villkorsprogrammerings-toolkit för att ta bort beroenden av proprietära, men tillgängliga, system. De om-implementerade teknikerna har samma eller bättre effekt som originalimplementationerna. I det bästa fallet visar om-implementationerna en effektivitetsökning på 50 % jämfört med originalimplementationen.
426

Implied Constraints for the Unison Presolver

Ekström, Erik January 2015 (has links)
Unison is a compiler back-end that differs from traditional compiler approaches in that the compilation is carried out using constraint programming rather than greedy algorithms. The compilation problem is translated to a constraint model and then solved using a constraint solver, yielding an approach that has the potential of producing optimal code. Presolving is the process of strengthening a constraint model before solving, and has previously been shown to be effective in terms of the robustness and the quality of the generated code. This thesis presents an evaluation of different presolving techniques used in Unison’s presolver for deducing implied constraints. Such constraints are logical consequences of other constraints in the model and must therefore be fulfilled in any valid solution of the model. Two of the most important techniques for generating these constraints are reimplemented, aiming to reduce Unison’s dependencies on systems that are not free software. The reimplementation is shown to be successful with respect to both correctness and performance. In fact, while producing the same output a substantial performance increase can be measured indicating a mean speedup of 2.25 times compared to the previous implementation. / Unison är kompilatorkomponent för generering av programkod. Unison skiljer sig från traditionella kompilatorer i den meningen att villkorsprogrammering används för kodgenerering i stället för giriga algoritmer. Med Unisons metodik modelleras kompileringsproblem i en villkorsmodell som därefter kan lösas av en villkorslösare. Detta gör att Unison har potentialen att generara optimal kod, något som traditionella kompilatorer vanligtvis inte gör. Tidigare forskning har visat att det går att öka Unisons möjligheter att generera högkvalitativ kod genom att härleda extra, implicerade, villkor från villkorsmodellen innan denna löses. Ett implicerat villkor är en logisk konsekvens av andra villkor i modellen och förstärker modellen genom att minska den tid som lösaren spenderar i återvändsgränder. Denna avhandling presenterar en utvärdering av olika tekniker för detektering av implicerade villkor i den villkorsmodell som används av Unison. Två av de mer effektiva teknikerna för detektering av dessa villkor har även omimplementerats, med syfte att minska Unisons beroenden på annan icke kostadsfri programvara. Denna omimplementation har visats inte bara vara korrekt, det vill säga generera samma resultat, utan också även väsentligt snabbare än den ursprungliga implementationen. Experiment utföra under arbetet med denna avhandling har påvisat en uppsnabbning (med avseende på exekveringstid) på i medeltal 2,25 gånger jämfört med den ursprungliga implementationen av dessa tekniker. Detta resultat gäller när båda implementationerna generar samma utdata givet samma indata.
427

Random Testing of Code Generation in Compilers

Hansson, Bevin January 2015 (has links)
Compilers are a necessary tool for all software development. As modern compilers are large and complex systems, ensuring that the code they produce is accurate and correct is a vital but arduous task. Correctness of the code generation stage is important. Maintaining full coverage of test cases in a compiler is virtually impossible due to the large input and output domains. We propose that random testing is a highly viable method for testing a compiler. A method is presented to randomly generate a lower level code representation and use it to test the code generation stage of a compiler. This enables targeted testing of some of the most complex components of a modern compiler (register allocation, instruction scheduling) for the first time. The design is implemented in a state-of-the-art optimizing compiler, LLVM, to determine the effectiveness and viability of the method. Three distinct failures are observed during the evaluation phase. We analyze the causes behind these failures and conclude that the methods described in this work have the potential to uncover compiler defects which are not observable with other testing approaches. / Kompilatorer är nödvändiga för all mjukvaruutveckling. Det ärsvårt att säkerställa att koden som produceras är korrekt, eftersomkompilatorer är mycket stora och komplexa system. Kodriktigheteninom kodgenereringsstadiet (registerallokering och instruktionsschemaläggning) är särskilt viktig. Att uppnå full täckningav testfall i en kompilator är praktiskt taget omöjligt på grund avde stora domänerna för in- och utdata.Vi föreslår att slumpmässig testning är en mycket användbarmetod för att testa en kompilator. En metod presenteras för attgenerera slumpmässig kod på en lägre representationsnivå och testakodgenereringsstadiet i en kompilator. Detta möjliggör riktadtestning av några av de mest komplexa delarna i en modern kompilator(registerallokering, instruktionsschemaläggning) för förstagången.Designen implementeras i en toppmodern optimerande kompilator,LLVM, för att avgöra metodens effektivitet. Tre olika misslyckandenobserveras under utvärderingsfasen. Vi analyserar orsakernabakom dessa misslyckanden och drar slutsatsen att demetoder som beskrivs har potential att finna kompilatordefektersom inte kan observeras med andra testmetoder. Kompilatorer är nödvändiga för all mjukvaruutveckling. Det är svårt att säkerställa att koden som produceras är korrekt, eftersom kompilatorer är mycket stora och komplexa system. Kodriktigheten inom kodgenereringsstadiet (registerallokering och instruktionsschemal äggning) är särskilt viktig. Att uppnå full täckning av testfall i en kompilator är praktiskt taget omöjligt på grund av de stora domänerna för in- och utdata. Vi föreslår att slumpmässig testning är en mycket användbar metod för att testa en kompilator. En metod presenteras för att generera slumpmässig kod på en lägre representationsnivå och testa kodgenereringsstadiet i en kompilator. Detta möjliggör riktad testning av några av de mest komplexa delarna i en modern kompilator (registerallokering, instruktionsschemaläggning) för första gången. Designen implementeras i en toppmodern optimerande kompilator, LLVM, för att avgöra metodens effektivitet. Tre olika misslyckanden observeras under utvärderingsfasen. Vi analyserar orsakerna bakom dessa misslyckanden och drar slutsatsen att de metoder som beskrivs har potential att finna kompilatordefekter som inte kan observeras med andra testmetoder.
428

Design of an Automatic Specification-based Test-framework for On-board Software of Satellites

Höflinger, Kilian January 2015 (has links)
Satelliter är sofistikerade och därför komplicerade konstruktioner som kräver tvärvetenskapligt lagarbete mellan olika experter från olika akademiska discipliner. Integrationen av specifika nyttolastkomponenter, liksom vetenskapliga experiment, med inbyggd programvara för satelliter är mycket utmanande. Domänexperten, som ägare av nyttolastkomponenten, besitter detaljerade insikter om hans eller hennes del, men saknar tillräckliga kunskaper i programmering för att implementera den i den inbyggda programvaran. Programmeraren är i stånd att skriva rätt kod för den inbyggda programvaran, men är oerfaren med nyttolastkomponenten. Denna rapport beskriver utformningen och genomförandet av ett automatisk, specifikationsbaserat testramverk för inbyggd programvara för satelliter för att överbrygga kunskaps- och kommunikationsklyftan mellan programmeraren och domänexperten. Modell- och testdriven utveckling är i fokus för testramverket. Med hjälp av ett domänspecifikt språk kan domänexperten modellera en specifikation i formell notation, som representerar potentiella användningsscenarier av komponenten. Dessa scenarier är automatiskt översatta till kompilerbara testfall i C++, som hjälper programmeraren att kontrollera den funktionella korrektheten av den inbyggda programvaran för nyttolastkomponenten när han eller hon programmerar den. / Satellites are sophisticated and therefore complicated constructs that require interdisciplinary teamwork of various experts of different academic disciplines. The integration of specific payload components, like scientific experiments, in the on-board software of the satellite is very challenging. The domain expert, as the owner of the payload component, possesses detailed insights on his or her component, but lacks sufficient programming skills to implement it in the on-board software. The programmer is able to write proper code for the onboard software, but is inexperienced with the payload component of the domain expert. This report describes the design and the implementation of an automatic specification-based test-framework for on-board software of satellites to bridge the knowledge and communication gap between the programmer and the domain expert. Model- and test-driven development are in the focus of the testframework. With the help of a domain-specific language, the domain expert is able to model a specification in formal notation, representing potential use-case scenarios of the component. These scenarios are automatically translated to compilable C++ test cases, which help the programmer to verify the functional correctness of the on-board software implementation of the payload component while he or she is programming it.
429

Instant Toolsmith: Assembler

Jansson, Mattias January 2015 (has links)
This thesis explores the use of the domain specific language Instant Toolsmith ADL to generate assemblers. The goal is to show how Instant Assembler ADL can reduce the development time and maintenance cost of the toolchain for a processor architecture. Instant Toolsmith ADL is used to develop Instant Assembler, a tool that generates assemblers from formal specifications. Instant Assembler is developed especially with digital signal processors (DSP) in mind. The report focuses on architectural features common for DSP processors such as Very Long Instruction Word (VLIW) and conditional execution. As a case study an assembler for the MIPS32 processor architecture is produced using the Instant Assembler and is then extended with hypothetical additional features that are commonly found in DSP processors. The architecture is thus turned into a much more sophisticated one with little effort. The results show that the way of working from a good architecture description language provides the possibility to achieve fast development cycles and little maintenance overhead for processor toolchains. Specifically, it is shown that overall processor functionality as well as some features that are common in DSP processors are easily modeled using Instand Toolsmith ADL and used to produce architecture-specific parts of an assembler. / Denna rapport presenterar användandet av det domänspecifika språket Instant Toolsmith ADL för att generera assemblerare. Målet är att visa hur Instant Assembler ADL can minska utvecklingstiden och underhållskostnaden av verktyg till en processorarkitektur. Instant Toolsmith ADL används för att utveckla Instant Assembler, ett verktyg som genererar assemblerare from formella specifikationer. Instant Assembler är utvecklat särskilt för processorer för digital signalbearbetning. Rapporten fokuserar på egenskaper som är vanligt förekommande hos sådana processorer, såsom långa instruktionsord och villkorliga instruktioner. Som fallstudie utvecklas en assemblerare för processorarkitekturen MIPS32 med hjälp av Instant Assembler och sedan utökas den med nya, hypotetiska funktioner som ofta återfinns i processorer för digital signalbearbetning. Arkitekturen blir på så vis mycket mer sofistikerad med liten ansträngning. Resultaten visar att tillvägagångssättet att utgå från ett bra språk för arkitekturbeskrivning ger möjligheten att få snabba utvecklingscykler och minskat underhåll för verktyg relaterade till processorarkitekturer. Det framgår att övergripande processorfunktioner och även vissa funktioner som rör digital signalbearbetning är lätta att modellera med Instant Toolsmith ADL för att sedan använda till att generera de arkitekturspecifika delarna av en assemblerare.
430

Development of a Rendering Server for Enterprise-Grade Dynamic Websites

Omran, Hesham January 2015 (has links)
Openratio offers a mobile platform as a service (mPaaS) to build secure enterprise apps that use legacy systems from vendors such as Microsoft, IBM and SAP. The platform creates native mobile applications and mobile websites using a simple drag and drop interface without writing code. Openratio continuously develops their platform in short design cycles, and started a major system upgrade in 2014. The old mobile website was incompatible with the new specifications and upgrading it was time intensive, leading to a 6 months delay behind other system components’ progress. This thesis covers the process of analyzing the previous mobile website server and implementing a new mobile website rendering server. The server is developed from scratch using node.js, a javascript platform for developing web applications, and jQuery mobile, an HTML 5 based interface for responsive mobile websites. The designed server uses real-time configuration settings to dynamically render each page’s layout, navigation and content with enterprise-grade security. In addition, the server handles user authentication and session management, content fetching from external data sources and uses styling and website templating engines. The new implemented server shortened the updating time for each development cycle and decoupling the mobile website rendering server from the main server allowed team members to work on several platform components in parallel.

Page generated in 0.1239 seconds