473 research outputs found
Design of programming language and implementation of compiler
In this project we’ll try to answer the question of how to design a simple programming language witha focus on generating syntactically correct HTML, and how to implement a compiler for this language.To answer this question, we’ve done some considerations as to which functionality our programminglanguage should contain. We found a EBNF, a syntactical meta-language, which we used to describethe grammatical rules of our programming language. We also researched what a compiler is, and thesteps it takes. These steps included syntactical and contextual analysis, code optimization, and codegeneration. We found that the syntactical analysis is primarily concerned with checking the syntax ofthe code, after which the contextual analysis handles identification and type checking. The next stephandles code optimization, after which the compiler reaches the last step code generation. We haveused the knowledge gained to implement out own compiler written in F#. We used the lexer/parsergenerators fslex and fsyacc to create our lexer and parser. Thereafter we used these in the constructionof our compiler, along with our own implementations of the identification, type checking and codegeneration steps. Finally we tested our programminglanguage, and compared the results with identicalPHP programs, which showed that our programming language was able to alleviate a the issue PHPhas in regards to verifying the correctness of it’s HTML output. As such we can conclude that therequirements we set up for thsi project has been fulfilled
Android Aktiviteters Livscyklus og deres Energiforbrug ved Datalagring
Dette projekt undersøger energiforbruget af forskellige måder at lagre data på Android-enheder. Problemstillingen omhandler tidspunktet når en Android-applikation lukkes helt ned, og dens fulde tilstand skal gemmes. Når applikationen åbnes igen, vil den gendanne den samme tilstand, tilsvarende til da den blev lukket ned. Den måde Android-applikationer gemmer deres tilstand på, menes at kunne forbedres med hensyn til energiforbrug og tid. Vi har udtænkt tre yderligere metoder ud over Androids egen metode. Alle fire metoder blev programmeret i Java og eksekveret på to forskellige måder. En af de fire metoder tror vi vil være en forbedring, og to af metoderne, tester vi datalagringsydelserne ved konvertering under lagring. Senere implementerede vi Java programmerne i Android. Vi testede energiforbruget og eksekveringstiden på alle programmerne og applikationerne. Resultaterne afslørede at den forventede metode der ville medføre en forbedring, viste sig også at kunne levere en forbedring. De to andre metoder hvor dataene blev konverteret og lagret, var langsommere end de to første metoder, men derimod ikke som forventet. Det er dog uvist om den optimerede metode kan implementeres i Android-systemet. Men hvis den kunne implementeres ville det betyde en besparelse af energi.Dette projekt undersøger energiforbruget af forskellige måder at lagre data på Android-enheder. Problemstillingen omhandler tidspunktet når en Android-applikation lukkes helt ned, og dens fulde tilstand skal gemmes. Når applikationen åbnes igen, vil den gendanne den samme tilstand, tilsvarende til da den blev lukket ned. Den måde Android-applikationer gemmer deres tilstand på, menes at kunne forbedres med hensyn til energiforbrug og tid. Vi har udtænkt tre yderligere metoder ud over Androids egen metode. Alle fire metoder blev programmeret i Java og eksekveret på to forskellige måder. En af de fire metoder tror vi vil være en forbedring, og to af metoderne, tester vi datalagringsydelserne ved konvertering under lagring. Senere implementerede vi Java programmerne i Android. Vi testede energiforbruget og eksekveringstiden på alle programmerne og applikationerne. Resultaterne afslørede at den forventede metode der ville medføre en forbedring, viste sig også at kunne levere en forbedring. De to andre metoder hvor dataene blev konverteret og lagret, var langsommere end de to første metoder, men derimod ikke som forventet. Det er dog uvist om den optimerede metode kan implementeres i Android-systemet. Men hvis den kunne implementeres ville det betyde en besparelse af energi
Aggregeringshastigheder af partikler i 3D simuleringer, med implementering af fysiske parametre
This study examines the corrolation in the aggregationspeed of micrometer-sized particles, when subjected to different parameters, the results are processed with simulations. The study includes general theory regarding the various parameters, simulations of them compared with each other, to determine the way in which they influence they have, both individually and when put together. The parameters used are Random walk, gravitation and electrostatic force. The focus of the study is specifically to determine, in what degree the electrostatic force has on the aggregationspeed. From our simulations we can conclude, that the electrostatic force has a significant influence on the aggregationspeed of the particles, and that the other two parameters has no significant influence, when dealing with small particles. Our study does not contain any conclusions on the scale of the other parameters, when the particles are above micrometer-size.This study examines the corrolation in the aggregationspeed of micrometer-sized particles, when subjected to different parameters, the results are processed with simulations. The study includes general theory regarding the various parameters, simulations of them compared with each other, to determine the way in which they influence they have, both individually and when put together. The parameters used are Random walk, gravitation and electrostatic force. The focus of the study is specifically to determine, in what degree the electrostatic force has on the aggregationspeed. From our simulations we can conclude, that the electrostatic force has a significant influence on the aggregationspeed of the particles, and that the other two parameters has no significant influence, when dealing with small particles. Our study does not contain any conclusions on the scale of the other parameters, when the particles are above micrometer-size
Model transformations in Converge
Model transformations are currently the focus of much interest and research due to the OMG’s QVT initiative. Current proposals for model transformation languages
can be divided into two main camps: those taking a ‘declarative’ approach, and those opting for an ‘imperative’ approach. In this paper we detail an imperative, meta-circular, object orientated, pattern matching programming language Converge which is enriched with features pioneered by the Icon programming language,
amongst them: success/failure, generators and goal-directed evaluation. By presenting these features in a language suitable for representing models, we show
that we are able to gain some of the advantages of declarative approaches in an imperative setting
JavaScript Type Inconsistency, Building a compiler that checks syntax and types in jsType and checks for DOM Elements: Building a compiler that checks syntax and types in jsType and checks for DOM Elements
Design af it-system til planlægning af operationer på Næstved Sygehus
This report is an IT design case study, describing the modeling of a software system for surgery planning and logistics. The modeling phase is based on a participatory design report by the same project team, in cooperation with the hospital in consideration; Næstved Sygehus. The software system is designed in regards to the needs of the Department of Anaesthesia and Operation, in conjunction with the specialties, to which the operation rooms and staff is made available. Besides the specifications from the participatory design report, standard IT modeling theories and methods were used to design the system, up until the point prior to user testing. Preliminary tests with the CREDO Check method ensured consistency within the data structure, tasks, and virtual windows. Heuristic Evaluation was used on the mockups to estimate the quality of the design. We found that CREDO Check was a beneficial method for getting an overview of the system structure. Furthermore, an idea to expand the CREDO Check emerged; firstly by using the lowercase “o” for representing a relevant overview, though, not including all rows, and secondly by developing a partial CREDO Check, named a “REO” Check, on all attributes in the entities. Due to time limitations, Heuristic Evaluation was used as a compromise instead of live user tests. We found that the method was inadequate for anything more than a preliminary test. Besides the issue of testing the quality of not yet implemented software, we perceive our system design as usable for further development of a logistics system for the hospital.This report is an IT design case study, describing the modeling of a software system for surgery planning and logistics. The modeling phase is based on a participatory design report by the same project team, in cooperation with the hospital in consideration; Næstved Sygehus. The software system is designed in regards to the needs of the Department of Anaesthesia and Operation, in conjunction with the specialties, to which the operation rooms and staff is made available. Besides the specifications from the participatory design report, standard IT modeling theories and methods were used to design the system, up until the point prior to user testing. Preliminary tests with the CREDO Check method ensured consistency within the data structure, tasks, and virtual windows. Heuristic Evaluation was used on the mockups to estimate the quality of the design. We found that CREDO Check was a beneficial method for getting an overview of the system structure. Furthermore, an idea to expand the CREDO Check emerged; firstly by using the lowercase “o” for representing a relevant overview, though, not including all rows, and secondly by developing a partial CREDO Check, named a “REO” Check, on all attributes in the entities. Due to time limitations, Heuristic Evaluation was used as a compromise instead of live user tests. We found that the method was inadequate for anything more than a preliminary test. Besides the issue of testing the quality of not yet implemented software, we perceive our system design as usable for further development of a logistics system for the hospital
A computer program for detecting and predicting the position of a tumor in the human female breast
Analysis and Design of Web Applications for Use in Conventional and Mobile Computing Devices.
The project examines the usability of web (HTML) applications originally designed for use in conventional desktop computers and laptops when used by mobile computing devices. Of particular interest are tablets and smartphones. The project also investigates whether existing technology and developmental approaches can be used to redevelop such web applications as to be compatible with mobile devices and desktop devices and yet retain their usability and functionality. The project first reviews the evolution of mobile computing from the 1960’s until the present day and provides a statistical background for the importance of mobile computing in a web application context. To anchor the project in the real world existing web applications provided by Resultmaker A/S (http://resultmaker.com ) will be studied, and an attempt to redevelop one of these applications will be made. The project reviews existing literature with respect to Mobile Human Computer Interaction and selects the Thinking Aloud Protocol as the main usability evaluation method supplemented by a questionnaire based on the Likert attitude rating scale. The project discusses the typology of web applications suitable for use in mobile computers, their advantages and disadvantages as well as whether usability issues should be solved on the server or on the client. Different approaches to resolving usability issues are reviewed including principles and methods found in W3C Mobile Web Design Best Practices, Interface Design Patterns, User-centered Development, and Responsive Web Design. Ways of resolving the usability issues will be investigated by developing an experimental prototype. The usability evaluation, which was conducted with participation of six testers, produced a short list of serious usability issues, which was used to target solutions and guide the development of the experimental prototype. The experimental prototype was created in iterations, where relevant web technology was reviewed in parallel with being considered for use, or actually being used in the iterations. The final experimental prototype was created using the Responsive Web Design and is able to function in both conventional and mobile computing devices as well as in the five main browser types. The investigation shows that it is possible using the Responsive Web Design Approach to redevelop (or create from scratch) web applications that function well in conventional as well as mobile devices. However whether the use of this approach is sensible depends on the character and circumstances of the web application, its complexity and the developmental resources available to its owner, as it may sometime better sense to develop separate web applications, rather than a one-size fits-all application.The project examines the usability of web (HTML) applications originally designed for use in conventional desktop computers and laptops when used by mobile computing devices. Of particular interest are tablets and smartphones. The project also investigates whether existing technology and developmental approaches can be used to redevelop such web applications as to be compatible with mobile devices and desktop devices and yet retain their usability and functionality. The project first reviews the evolution of mobile computing from the 1960’s until the present day and provides a statistical background for the importance of mobile computing in a web application context. To anchor the project in the real world existing web applications provided by Resultmaker A/S (http://resultmaker.com ) will be studied, and an attempt to redevelop one of these applications will be made. The project reviews existing literature with respect to Mobile Human Computer Interaction and selects the Thinking Aloud Protocol as the main usability evaluation method supplemented by a questionnaire based on the Likert attitude rating scale. The project discusses the typology of web applications suitable for use in mobile computers, their advantages and disadvantages as well as whether usability issues should be solved on the server or on the client. Different approaches to resolving usability issues are reviewed including principles and methods found in W3C Mobile Web Design Best Practices, Interface Design Patterns, User-centered Development, and Responsive Web Design. Ways of resolving the usability issues will be investigated by developing an experimental prototype. The usability evaluation, which was conducted with participation of six testers, produced a short list of serious usability issues, which was used to target solutions and guide the development of the experimental prototype. The experimental prototype was created in iterations, where relevant web technology was reviewed in parallel with being considered for use, or actually being used in the iterations. The final experimental prototype was created using the Responsive Web Design and is able to function in both conventional and mobile computing devices as well as in the five main browser types. The investigation shows that it is possible using the Responsive Web Design Approach to redevelop (or create from scratch) web applications that function well in conventional as well as mobile devices. However whether the use of this approach is sensible depends on the character and circumstances of the web application, its complexity and the developmental resources available to its owner, as it may sometime better sense to develop separate web applications, rather than a one-size fits-all application
Procedural Content Generation
Procedural content generation has been a staple of video game development since the very beginning, with the game Rogue from 1980 (Lee 2014) being one of the best known and early games to use the technology. Procedural content generation has been used in video games for a range of purposes (Moss 2016) a significant one of these being terrain generation.One of the game developer’s important tools for procedural generation is the noise algorithm. Rather than outputting uniformly distributed random numbers, noise algorithms are made to create natural looking gradients with recognisable but varying features. In this project, we put forward a vast amount of success criteria for what constitutes good game terrain. We then build a framework which uses an interface for noise algorithms, to create a tile-based 2d-terrain in which a player can drive around a small wagon to explore.The success criteria are mostly met, although the question of whether the terrain is sufficiently natural looking is left unclear. Realistic terrain should be neither completely uniform, nor completely random, and using this definition, the framework generates realistic looking terrain from many different sets of input parameters, and using different noise algorithms.<br/
- …
