174 resultados para WWW programming
Resumo:
The maintenance of electric distribution network is a topical question for distribution system operators because of increasing significance of failure costs. In this dissertation the maintenance practices of the distribution system operators are analyzed and a theory for scheduling maintenance activities and reinvestment of distribution components is created. The scheduling is based on the deterioration of components and the increasing failure rates due to aging. The dynamic programming algorithm is used as a solving method to maintenance problem which is caused by the increasing failure rates of the network. The other impacts of network maintenance like environmental and regulation reasons are not included to the scope of this thesis. Further the tree trimming of the corridors and the major disturbance of the network are not included to the problem optimized in this thesis. For optimizing, four dynamic programming models are presented and the models are tested. Programming is made in VBA-language to the computer. For testing two different kinds of test networks are used. Because electric distribution system operators want to operate with bigger component groups, optimal timing for component groups is also analyzed. A maintenance software package is created to apply the presented theories in practice. An overview of the program is presented.
Resumo:
Katselmoinnit ja tarkastusmenettelyt ovat osa ohjelmistotuotantoprosessin laadunvarmistusta. Staattisella tarkastamisella tarkoitetaan ohjelmistotuotteen visuaalista tarkastamista ohjelmistovirheiden havaitsemiseksi ja korjaamiseksi. Ohjelmiston lähdekoodin tarkastaminen voidaan suorittaa automaattisesti tarkoitukseen sopivalla ohjelmistolla l. analyysityökalulla. Tässä työssä toteutettiin analyysityökalu C#-kielisten lähdekoodien tarkastamiseen. Työkalulla suoritetussa kenttätestauksessa havaittiin tarkastettavissa ohjelmistoissa ohjelmiston ylläpitoon vaikuttavia puutteita. Lisäksi työssä tarkasteltiin katselmointeja osana ohjelmistotuotantoprosessin laadunvarmistusta sekä erilaisia ohjelmistovirheitä ja niiden lähteitä.
Resumo:
Työ tutkii, miten yksinkertaisen opetuskäyttöön suunnatun videoneuvotteluportaalin prototyypin rakentaminen onnistuu avoimilla tekniikoilla. WebRTC mahdollistaa selaimen päällä toimivan videoneuvottelusovelluksen rakentamisen avoimia ohjelmistorajapintoja käyttäen. Prototyypin toteuttamiseen käytetään WebRTC:n lisäksi WebSocket-standardia keskustelun tahojen yhdistämiseen. WebSocket toteutetaan Node.js:ää käyttävällä socket.io-kirjastolla. Sovelluksen avulla on tarkoitus pystyä muodostamaan ääni- ja videoyhteys kahden asiakasohjelman välille. Opetuskäyttöä tukevina ominaisuuksina mukana on myös tekstipohjainen keskustelu ja mahdollisuus opetuskalvojen selaamiseen. Lopputuloksena on laajennettavissa oleva avoin videoneuvottelusovelluksen prototyyppi.
Resumo:
In this work mathematical programming models for structural and operational optimisation of energy systems are developed and applied to a selection of energy technology problems. The studied cases are taken from industrial processes and from large regional energy distribution systems. The models are based on Mixed Integer Linear Programming (MILP), Mixed Integer Non-Linear Programming (MINLP) and on a hybrid approach of a combination of Non-Linear Programming (NLP) and Genetic Algorithms (GA). The optimisation of the structure and operation of energy systems in urban regions is treated in the work. Firstly, distributed energy systems (DES) with different energy conversion units and annual variations of consumer heating and electricity demands are considered. Secondly, district cooling systems (DCS) with cooling demands for a large number of consumers are studied, with respect to a long term planning perspective regarding to given predictions of the consumer cooling demand development in a region. The work comprises also the development of applications for heat recovery systems (HRS), where paper machine dryer section HRS is taken as an illustrative example. The heat sources in these systems are moist air streams. Models are developed for different types of equipment price functions. The approach is based on partitioning of the overall temperature range of the system into a number of temperature intervals in order to take into account the strong nonlinearities due to condensation in the heat recovery exchangers. The influence of parameter variations on the solutions of heat recovery systems is analysed firstly by varying cost factors and secondly by varying process parameters. Point-optimal solutions by a fixed parameter approach are compared to robust solutions with given parameter variation ranges. In the work enhanced utilisation of excess heat in heat recovery systems with impingement drying, electricity generation with low grade excess heat and the use of absorption heat transformers to elevate a stream temperature above the excess heat temperature are also studied.
Resumo:
Tässä kandidaatintyössä suunnitellaan ja toteutetaan regressiotestaus- ja ylläpitotyökalu Ohjelmoinnin perusteet -kurssin Python-ohjelmointitehtäville. Työkalun on tarkoitus auttaa kurssin vastuuhenkilöitä selvittämään kurssilla käytettyjen harjoitustehtävien esimerkkiratkaisujen toimivuus Python-versiossa, jota kurssilla aiotaan käyttää ohjelmointiympäristönä seuraavana vuonna, ja helpottaa harjoitusmateriaalin yhdenmukaisuuden varmistamista silloin kun Python-versiota vaihdetaan tai materiaaliin tehdään muutoksia. Työssä tutkitaan, miten tarkoitukseen sopiva yleispätevä testaustyökalu voidaan kehittää, mitä seikkoja sen suunnittelussa on otettava huomioon ja mitä ongelmia kehittämiseen liittyy. Yleispätevän testaustyökalun kehittäminen osoittautui hankalaksi, vaikka testattavat ohjelmat ovat yksinkertaisia. Harjoitusmateriaaliin kuuluneiden yli 50 ohjelman testaamisessa tarvittavia tiedostoja oli yhteensä hyvin suuri määrä, ja niiden käsittelemiseksi työkalussa ja sen ulkopuolella oli vaikeaa valita optimaalista hakemistorakennetta. Lisäksi joidenkin testattavien ohjelmien havaittiin vaativan testauksessa muista poikkeavia lisätoimenpiteitä, jotka päätettiin jättää toteuttamatta työn puitteissa. Työn toivottu tulos jäi siten osittain saavuttamatta. Tuloksena syntyi kuitenkin työkalu, jolla voidaan ajaa 93 % nykyisistä esimerkkiratkaisuista määritellyillä testisyötteillä halutussa Python -ympäristössä ja saada tiedot ohjelmien toimivuudesta sekä niiden tuottamien tulosteiden täsmäävyydestä esimerkkitulosteisiin.
Resumo:
Tässä työssä on pyritty kartoittamaan mahdollisuudet omatoimiseen Voyager-kirjastojärjestelmän aineistotietokantojen ja asiakasrekisterien yhdistelyyn. Lähtökohtana on ollut oletus, että kohdejärjestelmän tietokantaan ei ole oikeuksia eikä sopimusteknistä mahdollisuuttakaan kirjoittaa tietoja suoraan kyselykielellä. Järjestelmän dokumentaatiota sekä verkostoa hyödyntämällä olen pyrkinyt kartoittamaan mahdollisuudet kaiken toiminnallisuuden vaatiman datan siirtoon. Hyödyntämällä järjestelmän rajapintoja, voidaan saavuttaa kustannussäästöjä sekä joustavuutta työn suorittamisen aikataulutukseen. Bibliografisen datan siirtoon Voyager-kirjastojärjestelmässä on mahdollisuus hyödyntää palvelimella eräajona suoritettavaa ohjelmaa. Tässä eräajossa voidaan siirtää sekä bibliografiset tietueet että varastotietueet. Nidetietojen kirjoittamiseksi kohteena olevaan tietokantaan käytetään Visual Studio -sovellusta, joka hyödyntää luettelointirajapintaa. Asiakastietojen siirtoon on mahdollista hyödyntää palvelimella suoritettavaa eräajoa, jonka syötteeksi kirjoitetaan määrämittainen syötetiedosto. Asiakastietueisiin sidotut lainatiedot voidaan siirtää kohdetietokantaan asiakasohjelman offline-lainaustoiminnolla.
Resumo:
In the 21st century, agile project management (APM) has emerged as a major evolutionary step in the area of software project management. APM is defined as a conceptual framework, consisting of various methods such as Scrum, quick respond to change, better customer collaboration, minimum coverage of documentation and extreme programming (XP) that facilitates to produce working software in multiple iterations with team work. Because agile project management has become more popular in the software industry in recent years, it constitutes an interesting and comprehensive research topic. This thesis presents a systematic literature review (SLR) of published research articles concerning agile project management. Based on a predefined search strategy, 273 such articles were identified, of which 44 were included in the review. The selected 44 articles were published between years 2005 and 2012. The thesis defines a review process by developing a review protocol and presenting the results of the review. The results are expected to provide researchers, software man
Resumo:
Pumping systems account for over 20 % of all electricity consumption in European industry. Optimization and correct design of such systems is important and there is a reasonable amount of unrealized energy saving potential in old pumping systems. The energy efficiency and therefore also the energy consumption of a pumping system heavily depends on the correct dimensioning and selection of devices. In this work, a graphical optimization tool for pumping systems is developed in Matlab programming language. The tool selects optimal pump, electrical motor and frequency converter for existing pumping process and calculates the life cycle costs of the whole system. The tool could be used as an aid when choosing the machinery and to analyze the energy consumption of existing systems. Results given by the tool are compared to the results of laboratory tests. The selection of pump and motor works reasonably well, but the frequency converter selection still needs development
Resumo:
The objective of this thesis was to examine the potential of multi-axis solutions in packaging machines produced in Europe. The definition of a multi-axis solution in this study is a construction that uses a common DC bus power supply for different amplifiers running the axes and the intelligence is centralized into one unit. The cost structure of a packaging machine was gained from an automation research, which divided the machines according to automation categories. The automation categories were then further divided into different sub-components by evaluating the ratio of multi-axis solutions compared to other automation components in packaging machines. A global motion control study was used for further information. With the help of the ratio, an estimation of the potential of multi-axis solutions in each country and packaging machine sector was completed. In addition to the research, a specific questionnaire was sent to five companies to gain information about the present situation and possible trends in packaging machinery. The greatest potential markets are in Germany and Italy, which are also the largest producers of packaging machinery in Europe. The greatest growth in the next few years will be seen in Turkey where the annual growth rate equals the general machinery production rate in Asia. The greatest market potential of the Nordic countries is found in Sweden in 35th position on the list. According to the interviews, motion control products in packaging machines will retain their current power levels, as well as the number of axes in the future. Integrated machine safety features together with a universal programming language are the desired attributes of the future. Unlike generally in industry, the energy saving objectives are and will remain insignificant in the packaging industry.
Resumo:
Developing software is a difficult and error-prone activity. Furthermore, the complexity of modern computer applications is significant. Hence,an organised approach to software construction is crucial. Stepwise Feature Introduction – created by R.-J. Back – is a development paradigm, in which software is constructed by adding functionality in small increments. The resulting code has an organised, layered structure and can be easily reused. Moreover, the interaction with the users of the software and the correctness concerns are essential elements of the development process, contributing to high quality and functionality of the final product. The paradigm of Stepwise Feature Introduction has been successfully applied in an academic environment, to a number of small-scale developments. The thesis examines the paradigm and its suitability to construction of large and complex software systems by focusing on the development of two software systems of significant complexity. Throughout the thesis we propose a number of improvements and modifications that should be applied to the paradigm when developing or reengineering large and complex software systems. The discussion in the thesis covers various aspects of software development that relate to Stepwise Feature Introduction. More specifically, we evaluate the paradigm based on the common practices of object-oriented programming and design and agile development methodologies. We also outline the strategy to testing systems built with the paradigm of Stepwise Feature Introduction.
Resumo:
Software plays an important role in our society and economy. Software development is an intricate process, and it comprises many different tasks: gathering requirements, designing new solutions that fulfill these requirements, as well as implementing these designs using a programming language into a working system. As a consequence, the development of high quality software is a core problem in software engineering. This thesis focuses on the validation of software designs. The issue of the analysis of designs is of great importance, since errors originating from designs may appear in the final system. It is considered economical to rectify the problems as early in the software development process as possible. Practitioners often create and visualize designs using modeling languages, one of the more popular being the Uni ed Modeling Language (UML). The analysis of the designs can be done manually, but in case of large systems, the need of mechanisms that automatically analyze these designs arises. In this thesis, we propose an automatic approach to analyze UML based designs using logic reasoners. This approach firstly proposes the translations of the UML based designs into a language understandable by reasoners in the form of logic facts, and secondly shows how to use the logic reasoners to infer the logical consequences of these logic facts. We have implemented the proposed translations in the form of a tool that can be used with any standard compliant UML modeling tool. Moreover, we authenticate the proposed approach by automatically validating hundreds of UML based designs that consist of thousands of model elements available in an online model repository. The proposed approach is limited in scope, but is fully automatic and does not require any expertise of logic languages from the user. We exemplify the proposed approach with two applications, which include the validation of domain specific languages and the validation of web service interfaces.
Resumo:
Lappeenrannan teknillisen yliopiston Ohjelmoinnin perusteet -kurssin osallistujilla on ollut vaikeuksia aloittelevan ohjelmoijan kannalta laajojen ohjelmien tuottamisessa ja tällaisten ohjelmien jäsentelemisessä aliohjelmiksi. Kurssin harjoitustyö on kuitenkin vaatinut tällaisen laajan ja jäsennellyn ohjelman tuottamista ja osallistujien ongelmat edellä mainittujen asioiden suhteen ovat ilmenneet palautetuista harjoitustöistä. Tässä työssä pyritään tuottamaan ratkaisu edellä kuvattuun ongelmaan konstruktiivisen tutkimuksen keinoin. Työssä tuotettava konstruktio on ohjelmointiesimerkkikokoelma ja sen avulla kurssin osallistujille voidaan esitellä kuinka laajoja ohjelmia voidaan tuottaa vaiheittain ja kuinka tällaisia ohjelmia voidaan jäsennellä aliohjelmiksi.
Resumo:
Työn tarkoituksena on luoda uusi harjoitustyö Ohjelmoinnin perusteet –kurssille. Harjoitustyön tavoitteena oli olla nykyistä työtä mielekkäämpi, sekä sidottu käytäntöön. Näiden avulla tavoiteltiin kurssin harjoitustyön suorittavien opiskelijoiden osuuden kasvattamista. Lopputuloksena on kolmeosainen harjoitustyö, jossa opiskelija suorittaa kuvamanipulointia sekä hyödyntää avoimia rajapintoja. Tulevaisuuteen jää haasteeksi harjoitustyön tarkastaminen ja siihen liittyvät ongelmat, sekä työn jatkokehitys.
Resumo:
Presentation at Open Repositories 2014, Helsinki, Finland, June 9-13, 2014
Resumo:
With the shift towards many-core computer architectures, dataflow programming has been proposed as one potential solution for producing software that scales to a varying number of processor cores. Programming for parallel architectures is considered difficult as the current popular programming languages are inherently sequential and introducing parallelism is typically up to the programmer. Dataflow, however, is inherently parallel, describing an application as a directed graph, where nodes represent calculations and edges represent a data dependency in form of a queue. These queues are the only allowed communication between the nodes, making the dependencies between the nodes explicit and thereby also the parallelism. Once a node have the su cient inputs available, the node can, independently of any other node, perform calculations, consume inputs, and produce outputs. Data ow models have existed for several decades and have become popular for describing signal processing applications as the graph representation is a very natural representation within this eld. Digital lters are typically described with boxes and arrows also in textbooks. Data ow is also becoming more interesting in other domains, and in principle, any application working on an information stream ts the dataflow paradigm. Such applications are, among others, network protocols, cryptography, and multimedia applications. As an example, the MPEG group standardized a dataflow language called RVC-CAL to be use within reconfigurable video coding. Describing a video coder as a data ow network instead of with conventional programming languages, makes the coder more readable as it describes how the video dataflows through the different coding tools. While dataflow provides an intuitive representation for many applications, it also introduces some new problems that need to be solved in order for data ow to be more widely used. The explicit parallelism of a dataflow program is descriptive and enables an improved utilization of available processing units, however, the independent nodes also implies that some kind of scheduling is required. The need for efficient scheduling becomes even more evident when the number of nodes is larger than the number of processing units and several nodes are running concurrently on one processor core. There exist several data ow models of computation, with different trade-offs between expressiveness and analyzability. These vary from rather restricted but statically schedulable, with minimal scheduling overhead, to dynamic where each ring requires a ring rule to evaluated. The model used in this work, namely RVC-CAL, is a very expressive language, and in the general case it requires dynamic scheduling, however, the strong encapsulation of dataflow nodes enables analysis and the scheduling overhead can be reduced by using quasi-static, or piecewise static, scheduling techniques. The scheduling problem is concerned with nding the few scheduling decisions that must be run-time, while most decisions are pre-calculated. The result is then an, as small as possible, set of static schedules that are dynamically scheduled. To identify these dynamic decisions and to find the concrete schedules, this thesis shows how quasi-static scheduling can be represented as a model checking problem. This involves identifying the relevant information to generate a minimal but complete model to be used for model checking. The model must describe everything that may affect scheduling of the application while omitting everything else in order to avoid state space explosion. This kind of simplification is necessary to make the state space analysis feasible. For the model checker to nd the actual schedules, a set of scheduling strategies are de ned which are able to produce quasi-static schedulers for a wide range of applications. The results of this work show that actor composition with quasi-static scheduling can be used to transform data ow programs to t many different computer architecture with different type and number of cores. This in turn, enables dataflow to provide a more platform independent representation as one application can be fitted to a specific processor architecture without changing the actual program representation. Instead, the program representation is in the context of design space exploration optimized by the development tools to fit the target platform. This work focuses on representing the dataflow scheduling problem as a model checking problem and is implemented as part of a compiler infrastructure. The thesis also presents experimental results as evidence of the usefulness of the approach.