48 research outputs found

    Genetic Algorithms in Software Architecture Synthesis

    Get PDF
    Ohjelmistoarkkitehtuurien suunnittelu on kriittinen vaihe ohjelmistokehitystä, sillä arkkitehtuuri määrittelee ohjelmiston rungon: miten ohjelma jaetaan eri komponentteihin, ja miten komponentit ovat yhteydessä toisiinsa. Ohjelmisto voidaan yleensä toteuttaa toimivasti monella eri tavalla, mutta toimiva toteutus ei aina takaa, että ohjelmisto on myös toteutettu laadukkaasti. Laadun takeena onkin huolella ja taidolla suunniteltu arkkitehtuuri. Ohjelmistoarkkitehtuurin suunnittelu on haastavaa. Suunnitelmaa tehdessä tulee ottaa huomioon monen eri sidosryhmän (esim. käyttäjä, toteuttaja, markkinoija) vaatimukset ja miettiä, miten mahdollisimman suuri osa vaatimuksista voidaan toteuttaa arkkitehtuurissa. Arkkitehtuurisuunnittelu vaatiikin kokeneen ohjelmistoarkkitehdin, joka on hankkinut tietotaitonsa vuosien ajalta eri ohjelmistoprojekteista. Kokemukseen perustuvan tiedon lisäksi ohjelmistoarkkitehtuurisuunnittelun käytäntöjä on koottu eräänlaisiksi katalogeiksi, joissa esitellään hyväksi havaittuja ratkaisuja, ns. suunnittelutyylejä ja -malleja, yleisiin arkkitehtuurisuunnitteluongelmiin. Voidaankin ajatella, että arkkitehtuuri tuotetaan etsimällä (kokemukseen nojaten) paras mahdollinen kombinaatio suunnittelumalleja ja -tyylejä. Arkkitehtuurin suunnittelu onkin siis eräänlainen optimointiongelma. Ohjelmistoista tulee jatkuvasti yhä monimutkaisempia. Sovelluksien monimutkaistuessa myös arkkitehtuurisuunnittelu muuttuu entistä vaikeammaksi ja vie yhä enemmän aikaa. Suunnittelun perustuminen hiljaiseen tietoon ja arkkitehtien kokemukseen tekee prosessista yhä hitaamman ja läpinäkymättömämmän. Arkkitehtuurisuunnittelun automatisointi toisikin suuria säästöjä. Henkilöstövaihdosten yhteydessä ei myöskään tarvitsisi pelätä tietotaidon katoamista, kun arkkitehtuurisuunnittelu olisi helposti toistettavissa aina alusta lähtien. Tässä väitöskirjassa on tutkittu, miten parhaan mahdollisen ratkaisun etsintäprosessin (eli suunnittelumallien ja -tyylien soveltamisen) voisi automatisoida. Monimutkaisissa optimointiongelmissa käytetään etsintäalgoritmeja, jotka haravoivat hakuavaruutta jollain satunnaistetulla menetelmällä. Yksi suosituimmista etsintäalgoritmeista on geneettinen algoritmi. Geneettiset algoritmit tarkastelevat aina pientä ratkaisujoukkoa kerrallaan ja etsivät parasta ratkaisua yhdistelemällä osia löydetyistä ratkaisuista sekä muuntelemalla ratkaisuja. Jokaiselle ratkaisulle lasketaan laatuarvo, ja luonnonvalintaa jäljitellen jatketaan parhaiden vaihtoehtojen tarkastelua sekä kehittelyä ja hylätään huonoimmat ratkaisut. Etsintäalgoritmien käyttämistä ohjelmistokehityksen ongelmiin, esim. ohjelmistosuunnitteluun, testaukseen ja projektinhallintaan, kutsutaan etsintäperustaiseksi ohjelmistokehitykseksi. Väitöskirja kuuluu etsintäperustaisen ohjelmistosuunnittelun alaan, ja siinä tutkitaan ns. ohjelmistoarkkitehtuurisynteesiä geneettisten algoritmien avulla. Ohjelmistoarkkitehtuurisynteesi lähtee ns. nolla-arkkitehtuurista , joka toteuttaa järjestelmän toiminnalliset vaatimukset, mutta ei ota kantaa laatuvaatimuksiin. Laatua pyritään parantamaan lisäämällä lähtöarkkitehtuuriin suunnittelutyylejä ja -malleja. Väitöskirjassa laatuarviointiin on käytetty muunneltavuutta, tehokkuutta ja ymmärrettävyyttä. Lopputuloksena saadaan ehdotus arkkitehtuurista, joka toteuttaa toiminnalliset vaatimukset ja on myös laadukas. Geneettisiä algoritmeja ei ole aiemmin sovellettu vastaavantasoisiin suunnitteluongelmiin, joten toteutuksessa on kehitetty uusi tapa mallintaa arkkitehtuuri geneettiselle algoritmille sekä laskukaava arkkitehtuurin laadulle. Perustoteutuksen lisäksi myös geneettisen algoritmin eri ominaisuuksia, ns. risteytysoperaatiota ja laatufunktiota on tutkittu tarkemmin, ja niille on kehitetty vaihtoehtoisia toteutuksia. Tapaustarkasteluista saadut tulokset osoittavat, että tällä hetkellä geneettisiin algoritmeihin perustuvaa arkkitehtuurisynteesi tuottaa suunnilleen samantasoisia ratkaisuja kuin kolmannen vuosikurssin ohjelmistotekniikan opiskelija.This thesis presents an approach for synthesizing software architectures with genetic algorithms. Previously in the literature, genetic algorithms have been mostly used to improve existing architectures. The method presented here, however, focuses on upstream design. The chosen genetic construction of software architectures is based on a model which contains information on functional requirements only. Architecture styles and design patterns are used to transform the initial high-level model to a more detailed design. Quality attributes, here modifiability, efficiency and complexity, are encoded in the algorithm s fitness function for evaluating the produced solutions. The final solution is given as a UML class diagram. While the main contribution is introducing the method for architecture synthesis, basic tool support for the implementation is also presented. Two case studies are used for evaluation. One case study uses the sketch for an electronic home control system, which is a typical embedded system. The other case study is based on a robot war game simulator, which is a typical framework system. Evaluation is mostly based on fitness graphs and (subjective) evaluation of produced class diagrams. In addition to the basic approach, variations and extensions regarding crossover and fitness function have been made. While the standard algorithm uses a random crossover, asexual reproduction and complementary crossover are also studied. Asexual crossover corresponds to real-life design situations, where two architectures are rarely combined. Complementary crossover, in turn, attempts to purposefully combine good parts of two architectures. The fitness function is extended with the option to include modifiability scenarios, which enables more targeted design decisions as critical parts of the architecture can be evaluated individually. In order to achieve a wider range of solutions that answer to competing quality demands, a multi-objective approach using Pareto optimality is given as an alternative for the single weighted fitness function. The multi-objective approach evaluates modifiability and efficiency, and gives as output the class diagrams of the whole Pareto front of the last generation. Thus, extremes for both quality attributes as well as solutions in the middle ground can be compared. An experimental study is also conducted where independent experts evaluate produced solutions for the electronic home control. Results show that genetic software architecture synthesis is indeed feasible, and the quality of solutions at this stage is roughly at the level of third year software engineering students

    A framework for the design, prototyping and evaluation of mobile interfaces for domestic environments

    Get PDF
    The idea of the smart home has been discussed for over three decades, but it has yet to achieve mass-market adoption. This thesis asks the question Why is my home not smart? It highlights four main areas that are barriers to adoption, and concentrates on a single one of these issues: usability. It presents an investigation that focuses on design, prototyping and evaluation of mobile interfaces for domestic environments resulting in the development of a novel framework. A smart home is the physical realisation of a ubiquitous computing system for domestic living. The research area offers numerous benefits to end-users such as convenience, assistive living, energy saving and improved security and safety. However, these benefits have yet to become accessible due to a lack of usable smart home control interfaces. This issue is considered a key reason for lack of adoption and is the focus for this thesis. Within this thesis, a framework is introduced as a novel approach for the design, prototyping and evaluation of mobile interfaces for domestic environments. Included within this framework are three components. Firstly, the Reconfigurable Multimedia Environment (RME), a physical evaluation and observation space for conducting user centred research. Secondly, Simulated Interactive Devices (SID), a video-based development and control tool for simulating interactive devices commonly found within a smart home. Thirdly, iProto, a tool that facilitates the production and rapid deployment of high fidelity prototypes for mobile touch screen devices. This framework is evaluated as a round-tripping toolchain for prototyping smart home control and found to be an efficient process for facilitating the design and evaluation of such interfaces

    Applying Genetic Algorithms for Software Design and Project Planning

    Get PDF
    Today's software systems are growing in size and complexity. This means not only increased complexity in developing software systems, but also increase in the budget and completion time. This trend will lead to a situation where traditional manual software engineering practices are not sufficient to develop and evolve software systems in an economic and timely manner. Automated support can aid software engineers in reducing the time-to-market and improving the quality of the software. This thesis work explores the application of genetic algorithms for automated software architecture design and project planning.Software architecture design and project planning are non-trivial and challenging tasks. This thesis applies genetic algorithms to introduce automation into these tasks. The proposed genetic algorithm exploits reusable solutions, such as design patterns, architecture styles and application specific solutions for transforming a given initial rudimentary model into detailed design. The architectures are evaluated using multiple quality attributes, such as modifiability, efficiency and complexity. The fitness function encompasses the knowledge required for evaluating the architectures according to multiple quality attributes. The output from the genetic algorithm is an architecture proposal optimized with respect to multiple quality attributes.A genetic algorithm has also been devised for assigning work across teams located in distributed sites. The genetic algorithm takes information about the target system and the development organization as input and produces a set of work distribution and schedule plans optimized with respect to cost and duration objectives. The fitness function considers the differences in teams and barriers created by global dispersion into account in evaluating the work assignment. In addition, the genetic algorithm also takes solutions that ease or hamper distributed development into account in allocating the work. The genetic algorithm has been further extended with Pareto optimality to find a set of suitable work distribution proposals in a tradeoff between project cost and duration. In the experiments, an electronic home control system was developed by a set of different organizations structures. The results demonstrate that the proposed genetic algorithm can create reasonable work distribution proposals that conform to the general assumptions about the nature of cost and project completion time, i.e., cost of the project can be reduced at the expense of project completion time and vice-versa.In addition, variations have been made to the genetic algorithm approach to software architecture design. To accelerate the genetic algorithm towards multi-objective solutions, a quality farms approach has been developed. The approach uses the idea of cross breeding, where different individuals that are good with respect to one quality objective are combined for producing software architecture proposals that are good in multiple objectives. Also, to explore the suitability of other methods for software architecture synthesis, a constraint satisfaction approach has been developed. The approach models the software architecture design problem as a constraint satisfaction and optimization problem and solves it using constraint satisfaction techniques. This approach can provide rationale about why certain decisions are chosen in the proposed architecture proposals.Tool support for genetic algorithm-based architecture design and work planning approaches has been proposed. It facilitates an end user to give input, view and analyze the results of the developed genetic algorithm based approaches. The tool also provides support for semi-automated architecture design, where a human architect can guide the genetic algorithm towards optimal solutions. An empirical study has also been performed. It suggests that the quality of the proposals produced through semiautomated architecture design is roughly at the level of senior software engineering students. Furthermore, the project manager can interact with the tool and perform whatif analysis for choosing the suitable work distribution for the project at hand

    The Taxonomy of Telemedicine

    Full text link
    The purpose of this article is to present a taxonomy for telemedicine. The field has markedly grown, with an increasing number of applications, a variety of technologies, and newly introduced terminology. A taxonomy would serve to bring conceptual clarity to this burgeoning set of alternatives to in-person healthcare delivery. The article starts with a brief discussion of the importance of taxonomy as an information management strategy to improve knowledge sharing, facilitate research and policy initiatives, and provide some guidance for the orderly development of telemedicine. We provide a conceptual context for the proliferation of related concepts, such as telehealth, e-health, and m-health, as well as a classification of the content of these concepts. Our main concern is to develop an explicit taxonomy of telemedicine and to demonstrate how it can be used to provide definitive information about the true effects of telemedicine in terms of cost, quality, and access. Taxonomy development and refinement is an iterative process. If this initial attempt at classification proves useful, subject matter experts could enhance the development and proliferation of telemedicine by testing, revising, and verifying this taxonomy.Peer Reviewedhttp://deepblue.lib.umich.edu/bitstream/2027.42/90498/1/tmj-2E2011-2E0103.pd

    Service Integration for Biometric Authentication

    Get PDF
    Unimodaalsete biomeetriliste süsteemide kasvav kasutuselevõtt era- ja riigiasutustes näitab biomeetriliste autentimissüsteemide edu. See aga ei tähenda, et biomeetrilised süsteemid pakuvad terviklikku autentimislahendust. Unimodaalsetes biomeetrilistes süsteemides ilmneb hulk piiranguid, mida on võimalik ületada kasutades multimodaalseid biomeetrilisi autentimissüsteeme. Multimodaalseid süsteeme peetakse töökindlamaks ja võimeliseks rahuldama rangeid jõudlusvajadusi. Lisaks võimaldavad multimodaalsed süsteemid arvestada mitteuniversaalsuse probleemiga ja tõhusalt tõrjuda võltsimisrünnakuid. Vaatamata suhtelistele eelistele on multimodaalsete biomeetriliste süsteemide realisatsioon ja kasutusmugavus jäänud fundamentaalseks väljakutseks tarkvaraarenduses. Multimodaalsed süsteemid on enamasti sulam unimodaalsetest süsteemidest, mis on valitud vastavalt äriprotsessi ja vaadeldava keskkonna nõuetele. Nende süsteemide mitmekesisus, lähtekoodi kättesaadavus ja juurutamisvajadused muudavad nende arenduse ja kasutuselevõtu oluliselt kulukamaks. Tarkvaraarendajatena üritame me lihtsustada arendusprotsessi ja minimeerides selleks vajamineva jõupingutuse suurust. Seetõttu keskendub see töö olemasolevate biomeetriliste süsteemide taaskasutatavaks muutmisele. Eesmärgiks on kirjeldada teenuste integratsiooni raamistik, mis automatiseerib heterogeensete biomeetriliste süsteemide sujuvat seadistamist ja paigaldust ning vähendab arenduse töömahtu ja sellega seotud kulutusi. Selle eesmärgi saavutamiseks kõrvaldame me vajaduse korduva stsenaariumipõhise ühilduvate süsteemide arenduse ja integratsiooni järgi. Biomeetriliste süsteemide arendus muudetakse ühekordseks tööks. Me esitleme ka vahendeid heterogeensetest avatud lähetekoodiga ja kommerts biomeetrilistest süsteemidest koosnevate multimodaalsete biomeetriliste süsteemide seadistamiseks ja paigaldamiseks lähtuvalt valdkonnaspetsiifilistest autentimisvajadustest. Võrreldes levinud praktikatega vähendab meie lähenemine stsenaariumi-spetsiifilise biomeetrilise autentimissüsteemi arendusele ja paigaldusele kuluvat töö hulka 46,42%.The success of biometric authentication systems is evident from the increasing rate of adoption of unimodal biometric systems in civil and governmental applications. However, this does not imply that biometric systems offer a complete authentication solution. Unimodal biometric systems exhibit a multitude of limitations which can be overcome by using multimodal biometric authentication systems. Multimodal systems are considered more reliable, and capable of meeting stringent performance needs and addressing the problem of non-universality and spoof attacks effectively. Despite the relative advantages, implementation and usability of multimodal biometric systems remain a fundamental software engineering challenge. Multimodal systems are usually an amalgamation of unimodal biometric systems chosen in accordance with the needs dictated by the business process(es) and the respective environment under consideration. The heterogeneity, availability of source code, and deployment needs for these systems incur significantly higher development and adaption costs. Being software engineers, we naturally strive to simplify the engineering process and minimize the required amount of effort. Therefore this work focuses on making the existing biometric systems reusable. The objective is to define a service integration framework which automates seamless configuration, and deployment of heterogeneous biometric systems, and minimizes the development effort and related costs. In this effort we replace the need for development and integration of scenario-specific compatible systems by repetitive scenario-specific configuration and deployment of multimodal biometric systems. The development of biometric systems is minimized to a one-time effort. We also present tools for configuration and deployment, which respectively configure and deploy multimodal biometric systems comprising of heterogeneous open source and/or commercial biometric systems required for fulfillment of domain specific authentication needs. In comparison to the prevalent practices, our approach reduces the effort required for developing and deploying reliable scenario-specific biometric authentication systems by 46.42%

    Review of the current status of research on smart homes and other domestic assistive technologies in support of the TAHI trials

    Get PDF
    The study provides an overview of developments in smart home technology and its use in the assistive technology sector. It includes an extensive literature review and detailed descriptions of current smart home installations in the UK and Europe. The report highlights the complexity of providing products and services in this area, and the relative immaturity of smart home technology in this sector. Many of the available products have emerged from office automation technologies developed for use in building control applications or from small niche markets in the assistive sector. Smart home developments have also concentrated on home control applications, but larger potential markets are also now being identified in other areas. Many of the trials described use technology to improve the safety and security of older and disabled people, concentrating more on the monitoring rather than home environment control. The report also demonstrates the practical difficulties faced in developing services in this sector. For many organisations these have been exploratory first steps in the use of technology to support care, and this lack of experience is reflected in common difficulties in specification and installation of equipment especially when retrofitting installations into buildings. Many developments have suffered from the lack of relevant experience of electrical and other contractors, so that it has proved difficult for organisations to identify both suppliers of equipment and people with the skills to install the technology. In the majority of cases there has been no formal evaluation of the developments, and it is therefore difficult to obtain evidence of the costs and benefits of using such technology to provide care and support independent living

    Monitorování lidského chování v Smart Home (SH) v rámci IoT

    Get PDF
    It is widely researched that last 20 years fall accidents increased dramatically. Most often it happens with elderly people who leave alone. Without timely assistance, fall accident may lead to unpredictable consequences. Nowadays smart home technologies allow not only monitor but collect and process human behavior data. This diploma thesis applies cutting edge technologies to collect data from smart home based on KNX technology with help of Home Assistant software, preprocess it with a machine learning model stored in Amazon Web Service and notify emergency about fall event via Telegram messenger.Je široce prozkoumáváno, že za posledních 20 let se nehody s poklesem dramaticky zvýšily. Nejčastěji se to stává u starších lidí, kteří odcházejí sami. Bez včasné pomoci může nehoda s pádem vést k nepředvídatelným následkům. Technologie inteligentní domácnosti dnes umožňují nejen sledovat, ale také shromažďovat a zpracovávat údaje o lidském chování. Tato diplomová práce využívá nejmodernější technologie ke sběru dat z inteligentní domácnosti založené na technologii KNX pomocí softwaru Home Assistant, jejich předzpracování pomocí modelu strojového učení uloženého ve službě Amazon Web Service a nouzové upozornění na událost pádu prostřednictvím telegramového posla.450 - Katedra kybernetiky a biomedicínského inženýrstvívelmi dobř
    corecore