903 resultados para WWW programming
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.
Resumo:
Tämän kandidaatintyön tavoitteena on löytää mahdollisimman kattava kokoelma harjoitustehtäviä ohjelmoinnin jatkokurssille. Tässä työssä tutkitaan ohjelmoinnin jatkokurssin kehitystarpeita. Työssä käydään läpi kurssilla aiemmin käytettyjä harjoitustehtäviä sekä käsiteltäviä aiheita. Näiden perusteella kartoitetaan aiemmissa harjoitustehtävissä mahdollisesti olleet puutteet ja pyritään tekemään uudet harjoitustehtävät siten, että ne kattavat mahdollisimman hyvin kurssin aiheet. Tehtävät pyritään suunnittelemaan siten, että aiempaa ohjelmointiosaamista pystytään käyttämään hyväksi mahdollisimman paljon. Tutkimus perustuu Lappeenrannan teknillisen yliopiston Käytännön ohjelmointi nimiseen kurssiin. Tämä on ohjelmoinnin jatkokurssi, jolla käytetään ohjelmointikielenä C-kieltä.
Resumo:
Environmental issues, including global warming, have been serious challenges realized worldwide, and they have become particularly important for the iron and steel manufacturers during the last decades. Many sites has been shut down in developed countries due to environmental regulation and pollution prevention while a large number of production plants have been established in developing countries which has changed the economy of this business. Sustainable development is a concept, which today affects economic growth, environmental protection, and social progress in setting up the basis for future ecosystem. A sustainable headway may attempt to preserve natural resources, recycle and reuse materials, prevent pollution, enhance yield and increase profitability. To achieve these objectives numerous alternatives should be examined in the sustainable process design. Conventional engineering work cannot address all of these substitutes effectively and efficiently to find an optimal route of processing. A systematic framework is needed as a tool to guide designers to make decisions based on overall concepts of the system, identifying the key bottlenecks and opportunities, which lead to an optimal design and operation of the systems. Since the 1980s, researchers have made big efforts to develop tools for what today is referred to as Process Integration. Advanced mathematics has been used in simulation models to evaluate various available alternatives considering physical, economic and environmental constraints. Improvements on feed material and operation, competitive energy market, environmental restrictions and the role of Nordic steelworks as energy supplier (electricity and district heat) make a great motivation behind integration among industries toward more sustainable operation, which could increase the overall energy efficiency and decrease environmental impacts. In this study, through different steps a model is developed for primary steelmaking, with the Finnish steel sector as a reference, to evaluate future operation concepts of a steelmaking site regarding sustainability. The research started by potential study on increasing energy efficiency and carbon dioxide reduction due to integration of steelworks with chemical plants for possible utilization of available off-gases in the system as chemical products. These off-gases from blast furnace, basic oxygen furnace and coke oven furnace are mainly contained of carbon monoxide, carbon dioxide, hydrogen, nitrogen and partially methane (in coke oven gas) and have proportionally low heating value but are currently used as fuel within these industries. Nonlinear optimization technique is used to assess integration with methanol plant under novel blast furnace technologies and (partially) substitution of coal with other reducing agents and fuels such as heavy oil, natural gas and biomass in the system. Technical aspect of integration and its effect on blast furnace operation regardless of capital expenditure of new operational units are studied to evaluate feasibility of the idea behind the research. Later on the concept of polygeneration system added and a superstructure generated with alternative routes for off-gases pretreatment and further utilization on a polygeneration system producing electricity, district heat and methanol. (Vacuum) pressure swing adsorption, membrane technology and chemical absorption for gas separation; partial oxidation, carbon dioxide and steam methane reforming for methane gasification; gas and liquid phase methanol synthesis are the main alternative process units considered in the superstructure. Due to high degree of integration in process synthesis, and optimization techniques, equation oriented modeling is chosen as an alternative and effective strategy to previous sequential modelling for process analysis to investigate suggested superstructure. A mixed integer nonlinear programming is developed to study behavior of the integrated system under different economic and environmental scenarios. Net present value and specific carbon dioxide emission is taken to compare economic and environmental aspects of integrated system respectively for different fuel systems, alternative blast furnace reductants, implementation of new blast furnace technologies, and carbon dioxide emission penalties. Sensitivity analysis, carbon distribution and the effect of external seasonal energy demand is investigated with different optimization techniques. This tool can provide useful information concerning techno-environmental and economic aspects for decision-making and estimate optimal operational condition of current and future primary steelmaking under alternative scenarios. The results of the work have demonstrated that it is possible in the future to develop steelmaking towards more sustainable operation.
Resumo:
A growing body of evidence supports the concept of fetal programming in cardiovascular disease in man, which asserts that an insult experienced in utero exerts a long-term influence on cardiovascular function, leading to disease in adulthood. However, this hypothesis is not universally accepted, hence animal models may be of value in determining potential physiological mechanisms which could explain how fetal undernutrition results in cardiovascular disease in later life. This review describes two major animal models of cardiovascular programming, the in utero protein-restricted rat and the cross-fostered spontaneously hypertensive rat. In the former model, moderate maternal protein restriction during pregnancy induces an increase in offspring blood pressure of 20-30 mmHg. This hypertensive effect is mediated, in part, by fetal exposure to excess maternal glucocorticoids as a result of a deficiency in placental 11-ß hydroxysteroid dehydrogenase type 2. Furthermore, nephrogenesis is impaired in this model which, coupled with increased activity of the renin-angiotensin system, could also contribute to the greater blood pressure displayed by these animals. The second model discussed is the cross-fostered spontaneously hypertensive rat. Spontaneously hypertensive rats develop severe hypertension without external intervention; however, their adult blood pressure may be lowered by 20-30 mmHg by cross-fostering pups to a normotensive dam within the first two weeks of lactation. The mechanisms responsible for this antihypertensive effect are less clear, but may also involve altered renal function and down-regulation of the renin-angiotensin system. These two models clearly show that adult blood pressure is influenced by exposure to one of a number of stimuli during critical stages of perinatal development.
Resumo:
Linguistic modelling is a rather new branch of mathematics that is still undergoing rapid development. It is closely related to fuzzy set theory and fuzzy logic, but knowledge and experience from other fields of mathematics, as well as other fields of science including linguistics and behavioral sciences, is also necessary to build appropriate mathematical models. This topic has received considerable attention as it provides tools for mathematical representation of the most common means of human communication - natural language. Adding a natural language level to mathematical models can provide an interface between the mathematical representation of the modelled system and the user of the model - one that is sufficiently easy to use and understand, but yet conveys all the information necessary to avoid misinterpretations. It is, however, not a trivial task and the link between the linguistic and computational level of such models has to be established and maintained properly during the whole modelling process. In this thesis, we focus on the relationship between the linguistic and the mathematical level of decision support models. We discuss several important issues concerning the mathematical representation of meaning of linguistic expressions, their transformation into the language of mathematics and the retranslation of mathematical outputs back into natural language. In the first part of the thesis, our view of the linguistic modelling for decision support is presented and the main guidelines for building linguistic models for real-life decision support that are the basis of our modeling methodology are outlined. From the theoretical point of view, the issues of representation of meaning of linguistic terms, computations with these representations and the retranslation process back into the linguistic level (linguistic approximation) are studied in this part of the thesis. We focus on the reasonability of operations with the meanings of linguistic terms, the correspondence of the linguistic and mathematical level of the models and on proper presentation of appropriate outputs. We also discuss several issues concerning the ethical aspects of decision support - particularly the loss of meaning due to the transformation of mathematical outputs into natural language and the issue or responsibility for the final decisions. In the second part several case studies of real-life problems are presented. These provide background and necessary context and motivation for the mathematical results and models presented in this part. A linguistic decision support model for disaster management is presented here – formulated as a fuzzy linear programming problem and a heuristic solution to it is proposed. Uncertainty of outputs, expert knowledge concerning disaster response practice and the necessity of obtaining outputs that are easy to interpret (and available in very short time) are reflected in the design of the model. Saaty’s analytic hierarchy process (AHP) is considered in two case studies - first in the context of the evaluation of works of art, where a weak consistency condition is introduced and an adaptation of AHP for large matrices of preference intensities is presented. The second AHP case-study deals with the fuzzified version of AHP and its use for evaluation purposes – particularly the integration of peer-review into the evaluation of R&D outputs is considered. In the context of HR management, we present a fuzzy rule based evaluation model (academic faculty evaluation is considered) constructed to provide outputs that do not require linguistic approximation and are easily transformed into graphical information. This is achieved by designing a specific form of fuzzy inference. Finally the last case study is from the area of humanities - psychological diagnostics is considered and a linguistic fuzzy model for the interpretation of outputs of multidimensional questionnaires is suggested. The issue of the quality of data in mathematical classification models is also studied here. A modification of the receiver operating characteristics (ROC) method is presented to reflect variable quality of data instances in the validation set during classifier performance assessment. Twelve publications on which the author participated are appended as a third part of this thesis. These summarize the mathematical results and provide a closer insight into the issues of the practicalapplications that are considered in the second part of the thesis.
Resumo:
Tässä työssä esiteltiin Android laitteisto- ja sovellusalustana sekä kuvattiin, kuinka Android-pelisovelluksen käyttöliittymä voidaan pitää yhtenäisenä eri näyttölaitteilla skaalauskertoimien ja ankkuroinnin avulla. Toisena osiona työtä käsiteltiin yksinkertaisia tapoja, joilla pelisovelluksien suorituskykyä voidaan parantaa. Näistä tarkempiin mittauksiin valittiin matalatarkkuuksinen piirtopuskuri ja näkymättömissä olevien kappaleiden piilotus. Mittauksissa valitut menetelmät vaikuttivat demosovelluksen suorituskykyyn huomattavasti. Tässä työssä rajauduttiin Android-ohjelmointiin Java-kielellä ilman ulkoisia kirjastoja, jolloin työn tuloksia voi helposti hyödyntää mahdollisimman monessa eri käyttökohteessa.
Resumo:
Kandidaatin työ on tehty Lappeenrannan teknillisen yliopiston tuotantotalouden tiedekunnassa. Työn tarkoituksena on tarkastella kuinka asiakaslähtöinen tuotekehitys on kehittynyt viime vuosikymmeninä, selvittää millaisilla menetelmillä asiakkaita voidaan liittää osaksi tuotekehitysprosessia ja kartoittaa asiakkaiden integrointiin liittyviä riskejä. 1940-luvulta alkaen yritysten innovaatioprosessit ovat kehittyneet asiakaslähtöisempään suuntaan. Nykyään yrityksille on entistä tärkeämpää tarjota tuotteita, jotka parhaiten vastaavat asiakkaiden tarpeita. Asiakasymmärrystä tuotekehityksessä voidaan lisätä monella eri menetelmällä. Tässä työssä tarkastelemme menetelmistä lähemmin innovaatiopelejä sekä ketterästä ohjelmistokehityksestä ammentavaa extreme programming (XP) – menetelmää. Innovaatiopelit perustuvat yhdessä asiakkaiden kanssa pelattaviin jopa leikkimielisiin peleihin, joiden avulla asiakkaiden mielipiteet ja ideat tulevat kuulluiksi. XP-menetelmä taas perustuu iteratiivisuuteen, sillä asiakkaan palautteen perusteella kehitettävään tuotteeseen tehdään parannuksia, jonka jälkeen uusi prototyyppi esitellään asiakkaalle. Asiakaslähtöiseen tuotekehitykseen liittyy kuitenkin myös riskejä, kuten tietotaidon vuotamista. Riskejä voidaan kuitenkin hallita valitsemalla yhteistyökumppaninsa tarkkaan ja käyttämällä edelläkävijäkäyttäjiä (lead user) hyväkseen.
Resumo:
This thesis considers optimization problems arising in printed circuit board assembly. Especially, the case in which the electronic components of a single circuit board are placed using a single placement machine is studied. Although there is a large number of different placement machines, the use of collect-and-place -type gantry machines is discussed because of their flexibility and increasing popularity in the industry. Instead of solving the entire control optimization problem of a collect-andplace machine with a single application, the problem is divided into multiple subproblems because of its hard combinatorial nature. This dividing technique is called hierarchical decomposition. All the subproblems of the one PCB - one machine -context are described, classified and reviewed. The derived subproblems are then either solved with exact methods or new heuristic algorithms are developed and applied. The exact methods include, for example, a greedy algorithm and a solution based on dynamic programming. Some of the proposed heuristics contain constructive parts while others utilize local search or are based on frequency calculations. For the heuristics, it is made sure with comprehensive experimental tests that they are applicable and feasible. A number of quality functions will be proposed for evaluation and applied to the subproblems. In the experimental tests, artificially generated data from Markov-models and data from real-world PCB production are used. The thesis consists of an introduction and of five publications where the developed and used solution methods are described in their full detail. For all the problems stated in this thesis, the methods proposed are efficient enough to be used in the PCB assembly production in practice and are readily applicable in the PCB manufacturing industry.
Resumo:
Human activity recognition in everyday environments is a critical, but challenging task in Ambient Intelligence applications to achieve proper Ambient Assisted Living, and key challenges still remain to be dealt with to realize robust methods. One of the major limitations of the Ambient Intelligence systems today is the lack of semantic models of those activities on the environment, so that the system can recognize the speci c activity being performed by the user(s) and act accordingly. In this context, this thesis addresses the general problem of knowledge representation in Smart Spaces. The main objective is to develop knowledge-based models, equipped with semantics to learn, infer and monitor human behaviours in Smart Spaces. Moreover, it is easy to recognize that some aspects of this problem have a high degree of uncertainty, and therefore, the developed models must be equipped with mechanisms to manage this type of information. A fuzzy ontology and a semantic hybrid system are presented to allow modelling and recognition of a set of complex real-life scenarios where vagueness and uncertainty are inherent to the human nature of the users that perform it. The handling of uncertain, incomplete and vague data (i.e., missing sensor readings and activity execution variations, since human behaviour is non-deterministic) is approached for the rst time through a fuzzy ontology validated on real-time settings within a hybrid data-driven and knowledgebased architecture. The semantics of activities, sub-activities and real-time object interaction are taken into consideration. The proposed framework consists of two main modules: the low-level sub-activity recognizer and the high-level activity recognizer. The rst module detects sub-activities (i.e., actions or basic activities) that take input data directly from a depth sensor (Kinect). The main contribution of this thesis tackles the second component of the hybrid system, which lays on top of the previous one, in a superior level of abstraction, and acquires the input data from the rst module's output, and executes ontological inference to provide users, activities and their in uence in the environment, with semantics. This component is thus knowledge-based, and a fuzzy ontology was designed to model the high-level activities. Since activity recognition requires context-awareness and the ability to discriminate among activities in di erent environments, the semantic framework allows for modelling common-sense knowledge in the form of a rule-based system that supports expressions close to natural language in the form of fuzzy linguistic labels. The framework advantages have been evaluated with a challenging and new public dataset, CAD-120, achieving an accuracy of 90.1% and 91.1% respectively for low and high-level activities. This entails an improvement over both, entirely data-driven approaches, and merely ontology-based approaches. As an added value, for the system to be su ciently simple and exible to be managed by non-expert users, and thus, facilitate the transfer of research to industry, a development framework composed by a programming toolbox, a hybrid crisp and fuzzy architecture, and graphical models to represent and con gure human behaviour in Smart Spaces, were developed in order to provide the framework with more usability in the nal application. As a result, human behaviour recognition can help assisting people with special needs such as in healthcare, independent elderly living, in remote rehabilitation monitoring, industrial process guideline control, and many other cases. This thesis shows use cases in these areas.
Resumo:
Tämä kandidaatintyö tutkii peliohjelmoinnin mahdollisuuksia ohjelmoinnin alkeiden opetuksessa sekä Unity3D-ohjelman toimivuutta 2D-pelinkehityksessä. Tutkimuksen tavoitteena oli luoda Peliohjelmoinnin alkeet -kurssille kurssirunko sekä todistaa Unity3D-ohjelman toimivuus 2D-pelinkehityksessä kehittämällä esimerkkipeli. Tuotoksena kurssille kehitettiin kuusiosainen kurssirunko, johon myös suunniteltiin täysin aloittelijoille tarkoitettu vapaaehtoinen UnityScriptin alkeet osio. Ohjelmoinnin aloittelijoille suunniteltu kurssi käy läpi Unity3D-ohjelman perusteet sekä tutustuu skriptauksen alkeisiin. Kurssirunko käy 2D-pelinkehitykseen liittyviä konsepteja loogisesti läpi. Työn toisena tavoitteena oli esimerkkipelin kehitys ja Unity3D-ohjelman 2D-pelinkehitystyökalujen testaus. Pelin tekeminen onnistui yli odotusten. Vaikka peli on erittäin yksinkertainen ja lyhyt, se toimii esimerkkipelinä mainiosti. Johtopäätöksenä voidaan todeta, että Unity3D-ohjelman 2D-työkalut ovat toimivia laadukkaiden 2D-pelien kehittämiseen. Tuotoksena laadittu kurssirunko antaa suuntaa kurssien rakentamiseen peliohjelmoinnin aloittelijoille. Pelinkehitys kurssin suorittamisen jälkeen opiskelijalla on mahdollisuudet ja perustaidot jatkaa kehittymistä ja opiskelua tahtomallaan suunnalla.
Resumo:
Tutkielmassa perehdytään suun limakalvoilla yleisimmin esiintyviin sairauksiin ja tutustutaan niihin liittyvään kirjallisuuteen. Tutkimuksen on tarkoitus kehittää opiskelijan taitoja erityisesti suun limakalvomuutosten tunnistamisessa ja niiden erottamisessa toisistaan. Tutkielma tehtiin perehtymällä www.oralmedicine.se -sivustolla olevaan kuvastoon, joka käsittää 1330 valokuvaa suun limakalvomuutoksista. Kuvat jaettiin eri alaluokkiin ulkoasunsa perusteella, jonka jälkeen tutustuttiin kunkin aihepiirin kirjallisuuteen. Lisäksi tutkielman tekijä luennoi hammaslääketieteen opiskelijoille Turun yliopistossa suun limakalvomuutoksista. Tutkielma osoitti suun kliinisen limakalvodiagnostiikan haasteellisuuden. Muutokset muistuttavat usein toisiaan, eikä diagnoosia voida yleensä varmistaa pelkän kliinisen kuvan perusteella. Toisaalta tutkielma osoitti, että kliinisten kuvien tutkiminen voi olla tehokas oppimismenetelmä ja auttaa diagnoosin tekemisessä potilastyössä.