979 resultados para Application Programming Interface
Resumo:
In this Bachelor Thesis I want to provide readers with tools and scripts for the control of a 7DOF manipulator, backed up by some theory of Robotics and Computer Science, in order to better contextualize the work done. In practice, we will see most common software, and developing environments, used to cope with our task: these include ROS, along with visual simulation by VREP and RVIZ, and an almost "stand-alone" ROS extension called MoveIt!, a very complete programming interface for trajectory planning and obstacle avoidance. As we will better appreciate and understand in the introduction chapter, the capability of detecting collision objects through a camera sensor, and re-plan to the desired end-effector pose, are not enough. In fact, this work is implemented in a more complex system, where recognition of particular objects is needed. Through a package of ROS and customized scripts, a detailed procedure will be provided on how to distinguish a particular object, retrieve its reference frame with respect to a known one, and then allow navigation to that target. Together with technical details, the aim is also to report working scripts and a specific appendix (A) you can refer to, if desiring to put things together.
Resumo:
The rise of component-based software development has created an urgent need for effective application program interface (API) documentation. Experience has shown that it is hard to create precise and readable documentation. Prose documentation can provide a good overview but lacks precision. Formal methods offer precision but the resulting documentation is expensive to develop. Worse, few developers have the skill or inclination to read formal documentation. We present a pragmatic solution to the problem of API documentation. We augment the prose documentation with executable test cases, including expected outputs, and use the prose plus the test cases as the documentation. With appropriate tool support, the test cases are easy to develop and read. Such test cases constitute a completely formal, albeit partial, specification of input/output behavior. Equally important, consistency between code and documentation is demonstrated by running the test cases. This approach provides an attractive bridge between formal and informal documentation. We also present a tool that supports compact and readable test cases; and generation of test drivers and documentation, and illustrate the approach with detailed case studies. (C) 2002 Elsevier Science Inc. All rights reserved.
Resumo:
Classical lock-based concurrency control does not scale with current and foreseen multi-core architectures, opening space for alternative concurrency control mechanisms. The concept of transactions executing concurrently in isolation with an underlying mechanism maintaining a consistent system state was already explored in fault-tolerant and distributed systems, and is currently being explored by transactional memory, this time being used to manage concurrent memory access. In this paper we discuss the use of Software Transactional Memory (STM), and how Ada can provide support for it. Furthermore, we draft a general programming interface to transactional memory, supporting future implementations of STM oriented to real-time systems.
Resumo:
Sendo uma forma natural de interação homem-máquina, o reconhecimento de gestos implica uma forte componente de investigação em áreas como a visão por computador e a aprendizagem computacional. O reconhecimento gestual é uma área com aplicações muito diversas, fornecendo aos utilizadores uma forma mais natural e mais simples de comunicar com sistemas baseados em computador, sem a necessidade de utilização de dispositivos extras. Assim, o objectivo principal da investigação na área de reconhecimento de gestos aplicada à interacção homemmáquina é o da criação de sistemas, que possam identificar gestos específicos e usálos para transmitir informações ou para controlar dispositivos. Para isso as interfaces baseados em visão para o reconhecimento de gestos, necessitam de detectar a mão de forma rápida e robusta e de serem capazes de efetuar o reconhecimento de gestos em tempo real. Hoje em dia, os sistemas de reconhecimento de gestos baseados em visão são capazes de trabalhar com soluções específicas, construídos para resolver um determinado problema e configurados para trabalhar de uma forma particular. Este projeto de investigação estudou e implementou soluções, suficientemente genéricas, com o recurso a algoritmos de aprendizagem computacional, permitindo a sua aplicação num conjunto alargado de sistemas de interface homem-máquina, para reconhecimento de gestos em tempo real. A solução proposta, Gesture Learning Module Architecture (GeLMA), permite de forma simples definir um conjunto de comandos que pode ser baseado em gestos estáticos e dinâmicos e que pode ser facilmente integrado e configurado para ser utilizado numa série de aplicações. É um sistema de baixo custo e fácil de treinar e usar, e uma vez que é construído unicamente com bibliotecas de código. As experiências realizadas permitiram mostrar que o sistema atingiu uma precisão de 99,2% em termos de reconhecimento de gestos estáticos e uma precisão média de 93,7% em termos de reconhecimento de gestos dinâmicos. Para validar a solução proposta, foram implementados dois sistemas completos. O primeiro é um sistema em tempo real capaz de ajudar um árbitro a arbitrar um jogo de futebol robótico. A solução proposta combina um sistema de reconhecimento de gestos baseada em visão com a definição de uma linguagem formal, o CommLang Referee, à qual demos a designação de Referee Command Language Interface System (ReCLIS). O sistema identifica os comandos baseados num conjunto de gestos estáticos e dinâmicos executados pelo árbitro, sendo este posteriormente enviado para um interface de computador que transmite a respectiva informação para os robôs. O segundo é um sistema em tempo real capaz de interpretar um subconjunto da Linguagem Gestual Portuguesa. As experiências demonstraram que o sistema foi capaz de reconhecer as vogais em tempo real de forma fiável. Embora a solução implementada apenas tenha sido treinada para reconhecer as cinco vogais, o sistema é facilmente extensível para reconhecer o resto do alfabeto. As experiências também permitiram mostrar que a base dos sistemas de interação baseados em visão pode ser a mesma para todas as aplicações e, deste modo facilitar a sua implementação. A solução proposta tem ainda a vantagem de ser suficientemente genérica e uma base sólida para o desenvolvimento de sistemas baseados em reconhecimento gestual que podem ser facilmente integrados com qualquer aplicação de interface homem-máquina. A linguagem formal de definição da interface pode ser redefinida e o sistema pode ser facilmente configurado e treinado com um conjunto de gestos diferentes de forma a serem integrados na solução final.
Resumo:
Actualmente as aplicações móveis são indispensáveis para o utilizador. De acordo com estudos recentes, as receitas geradas pela sua utilização resultaram em aproximadamente 20 biliões de dólares só em 2013. Com estes valores estima-se que no futuro estes números aumentem, daí tornar-se imperativo abordar num estudo científico sobre este mercado em expansão. A somar às inúmeras aplicações referentes ao sistema móvel Android, surgem as aplicações de serviços georreferenciados que vão aqui ser abordadas em maior profundidade, nomeadamente o consumo e disponibilização destes serviços em clientes mobile. Ponderadas diversas soluções é possível com alguns melhoramentos atingir benefícios específicos para um maior número de utilizadores tendo em conta as suas características a priori. Uma das questões principais passa pela capacidade de publicação de diversas fontes de informação (vários publishers) com o uso de uma Application Programing Interface (API) documentada e aberta para que qualquer entidade possa publicar os seus conteúdos georreferenciados. O consumo por parte dos utilizadores (subscriber) é feita numa plataforma móvel Android onde os possam vários publishers possam publicar os seus conteúdos a partir da posição do utilizador. Esta publicação será facilitada criando bases de dados para o armazenamento de todas as informações relevantes tanto da parte dos publishers como dos subscribers. A validação deste trabalho consistiu em testar vários tipos de publicações, nomeadamente texto, imagem e gráficos na sua pesquisa e consumo numa plataforma móvel Android. Numa segunda fase, foi testada a publicação de gráficos em tempo real na plataforma.
Resumo:
Tese de Doutoramento em Engenharia de Eletrónica e de Computadores
Resumo:
Usean nykypäivän yrityksen tietojärjestelmäinfrastruktuuri on muotoutunut heterogeeniseksi ympäristöksi, jossa eri käyttöjärjestelmä- ja laitealustoilla toimii usean eri valmistajan toimittamia järjestelmiä. Heterogeenisen ympäristön hallitsemiseksi yritykseltä vaaditaan keskitettyä tietovarastoa, johon on tallennettu tietoa käytetystä järjestelmäympäristöstä sekä sen komponenteista. Tähän tarkoitukseen Microsoft toi markkinoille vuonna 1999 Active Directory 2000 -hakemistopalvelun. Heterogeenisessa ympäristössä käyttäjien autentikointi ja auktorisointi on erittäin vaativaa. Pahimmassa tapauksessa käyttäjällä voi olla kymmeniä käyttäjätunnus-salasana-yhdistelmiä yrityksen eri tietojärjestelmiin. Lisäksi jokaisessa tietojärjestelmässäon ylläpidettävä käyttäjäkohtaisia toimintavaltuuksia. Niin käyttäjän kuin ylläpitäjänkin näkökulmasta tällainen skenaario on painajainen. Tässä diplomityössä kartoitetaan mahdollisuuksia Oracle-tietokantojen käyttäjien autentikoinnin sekä auktorisoinnin keskittämiseksi Active Directory -hakemistopalveluun. Työssä tarkastellaan tarkoitukseen soveltuvia valmiita kaupallisia ratkaisuja sekä tutkitaan mahdollisuuksia oman ratkaisumallin toteuttamiseksi umpäristöstä löytyvien ohjelmointirajapintojen avulla.
Resumo:
World Wide Webin suosiolla on ollut merkittävä vaikutus yhteiskuntaan. WWW-sivut ovat helposti saatavilla ja sisällön tekeminen WWW:hen on helppoa. WWW-ympäristölle myös kehitetään paljon sovelluksia. WWW-sovellusten kehittämiselle ominaista on valinnanvapaus ja nopeuden tavoittelu. WWW-sovellusten ohjelmoinnin mahdollistavat useat toisilleen vaihtoehtoiset tekniikat. Ne eroavat toisistaan suoritusnopeudessa, ominaisuuksien määrässä ja joustavuudessa. Ohjelmoinnissa käytetään apuna useita erilaisia menetelmiä. Apumenetelmiä ovat muun muassa työkalut ja valmiiden komponenttien hyödyntäminen. Valmiit komponentit voivat olla joko ilmaisia, avointa lähdekoodia tai maksullisia. Tämän kandidaatintyön aikana valmistui sovellus, joka piirtää tilastotiedoista kaaviokuvia ja näyttää niitä dynaamisella WWW-sivulla. Sovellus pyrittiin toteuttamaan älykkäästi apumenetelmiä sopivasti hyödyntäen. Sovelluksen kehittämisessä käytettiin apuna sekä ohjelmointityökaluja että valmiita komponentteja. Kaaviokuvien tyypin ja ulkoasun haluttiin olevan käyttäjien muokattavissa. Toisaalta sovelluksen haluttiin olevan helposti laajennettavissa. Vaatimuksiin vastattiin tekemällä kaaviokuvien piirrosta osittain tietokannalla ohjelmoitava.
Resumo:
Diplomityössä perehdytään Java-teknologiaan yleisesti ja tarkemmin Java 2 -liiketoimintasovellusalustan (Java 2 Platform, Enterprise Edition) määritykseen sisältyviin ohjelmointirajapintoihin. Erityisesti paneudutaan Enterprise JavaBeans -liiketoimintasovellusten komponenttiarkkitehtuuriin, jonka avulla voidaan toteuttaa hajautettuja, skaalautuvia, tapahtumankäsittelyä tukevia ja turvallisia liiketoimintasovelluksia. Käytännön osa liittyy projektiin, jossa suunniteltiin ja toteutettiin WWW- pohjaisen kauppapaikan perustoiminnallisuus. Työhön sisältyivät markkinapaikan määrittelyyn ja suunnitteluun osallistuminen sekä markkinapaikan yhden palvelinkomponentin yksityiskohtainen suunnittelu, toteutus ja jatkokehityksen ideointi. Lopputuloksena saavutettiin asetetut tavoitteet täyttävä järjestelmä, joka otettiin tuotantokäyttöön ja joka on hyvä pohja järjestelmän jatkokehitysprojekteille.
Resumo:
Työn teoriaosuudessa tutustutaan ensin yleisimpiin paikannusmenetelmiin. Käsiteltävänä ovat GPS-satelliittipaikannus sekä radiosoluverkkojen paikannusmenetelmät solupaikannuksesta monimutkaisempiin signaalin ominaisuuksia tutkiviin menetelmiin. Teoriaosuudessa käsitellään myös IEEE 802.11 –standardin PHY- ja MAC-kerrosten toimintaa sekä WLAN-verkon siirtotien ominaisuuksia paikannuksen kannalta. Ennen paikannusjärjestelmän toteuttamista työssä esitellään menetelmiä ja tuloksia muista tutkimuksista samalta tutkimusalueelta. Työssä toteutetaan paikannusjärjestelmä sekä solupaikannusta että signaalitasopaikannusta hyödyntäen. Solupaikannusjärjestelmälle määritellään palvelurajapinta, jonka kautta paikannuspalvelua voidaan hyödyntää muissa palveluissa. Kaksi paikannuspalvelun päälle luotua palvelua esitellään lyhyesti malliesimerkkeinä. Signaalitasopaikannuksen osalta kuvataan kaksi menetelmään kuuluvaa vaihetta ja yksittäisten komponenttien toiminta näissä vaiheissa. Paikannusmenetelmien tarkkuutta tutkitaan mittausten avulla ja testituloksista muodostetaan paikannustarkkuutta kuvaavat tilastot. Solupaikannuksen keskimääräinen virhe on ±50 metriä. Vastaavasti signaalitasopaikannuksen virhe on ±4 metriä ja parannettua algoritmia käyttäen ±3 metriä.
Resumo:
Diplomityön tavoitteena oli antaa kuva vastapainevoimalaitoksen automaation toiminnallisesta suunnittelusta ja soveltaa teoriaa suunnittelemalla toiminnallisuus vesihöyrypiirin tärkeimmille osuuksille. Työssä on esitelty tyypillinen EPCM-voimalaitosprojekti, joka toteutetaan ulkopuolisen avustajan kanssa tehdyllä yhteistyöllä. Projektin koostuu laitoksen suunnittelu-, rakennus-, asennus- sekä käyttöönottovaiheista. Huomioitavia asioita ovat mm. projektin budjetti sekä aikataulu. Valvonnalla on suuri merkitys projektin onnistumiseen. Lisäksi työssä esitellään vastapainevoimalaitoksen vesihöyrypiirin prosessi, pääsäädöt sekä automaatiojärjestelmä. Vesihöyrypiirillä tarkoitetaan syöttövesi-, höyry- ja kaukolämpöjärjestelmää. Pääsäädöillä pyritään saamaan tuotanto vastaamaan kulutusta. Voimalaitoksen painopiste on kaukolämmön tuottaminen. Automaatiojärjestelmän toiminnoilla tarkoitetaan järjestelmän suorittamia ohjauksia, säätöjä sekä hälytyksiä. Toiminnallisessa suunnittelussa tehdään toimilaitteille niin yksittäisohjaukset, säädöt kuin hälytysluettelot. Työssä tehty toiminnallinen suunnittelu keskittyy erityisesti toimilaitteiden säätöpiireihin. Säätöpiirit koostuvat tärkeimmistä prosessiin liittyvistä komponenteista ja säätömerkeistä. Toiminnallisen suunnittelun dokumentaatioita käytetään automaatiojärjestelmän sovellusohjelmoinnin pohjana.
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:
IT-järjestelmillä on tärkeä rooli organisaation liiketoiminnassa. Koska organisaation liiketoimintavaatimukset ja strategia muuttuvat ympäröivän maailman mukaan, täytyy järjestelmän arkkitehtuurin sopeutua vallitsevaan tilanteeseen sekä mahdollisiin muutoksiin lyhyellä ja pitkällä aikavälillä. Modernin web-sovelluksen arkkitehtuuri sopeutuu organisaation liiketoiminnan haasteisiin. Erityisesti hallinnolliseksi ongelmaksi organisaatiossa muodostuvat Windows-sovellukset, koska niiden ylläpito sitoo henkilöresursseja ja niiden käyttökonteksti on rajallinen. Tästä syystä organisaatiot ovat käyneet etsimään ratkaisuja kuinka korvata Windows-sovellukset web-sovelluksilla. Kustannustehokas ratkaisu on modernisoida Windows-sovelluksen käyttöliittymä web-sovellukseksi. Tämän diplomityön tavoitteena oli laatia Logica Suomi Oy yritykselle viitearkkitehtuuri Win-dows-sovelluksen käyttöliittymän modernisoimiseksi web-sovellukseksi. Työ suoritettiin Proof of Concept projektissa, jossa modernisointiin Logican pääkäyttäjäsovellus. Työn tarkoituksena oli tunnistaa laajalti käytetyt arkkitehtuurimallit ja menetelmät jotka mahdollistavat modernisoinnin toteutuksen. Lisäksi tarkoitus oli tunnistaa menetelmät ja ohjelmistot jotka mahdollistavat kustannustehokkaan ja laadukkaan web-sovelluksen kehittämisen ja toteuttamisen. Työn osatavoitteena oli laatia modernisoitavan pääkäyttäjäsovelluksen kokonaisarkkitehtuuri. Työn tuloksena saatiin viitearkkitehtuuri jota voidaan käyttää ja hyödyntää ohjelmistokehitysprojekteissa, asiakkaan dokumentaatiossa, myynnissä ja markkinoinnissa. Viitearkkitehtuurissa on esitelty modernit web-teknologiat joilla on mahdollista toteuttaa web-sovellus jonka käyttökokemus vastaa Windows-sovellusta. Lisäksi tuloksena saatiin pääkäyttäjäsovelluksen kokonaisarkkitehtuuri, jonka tärkeimpiä tuloksia ovat modernisoinnin tavoitetila ja sovellusarkkitehtuuri. Tärkeimpiä jatkotoimenpiteitä ovat viitearkkitehtuuriin pohjautuvan modernisointiviitekehyksen laadinta sekä modernisointiprojektin arviointiin käytettävien mittareiden määrittely, suunnittelu ja toteutus. Relevanttien mittareiden avulla voidaan todeta, vastaako modernisoitu sovellus organisaation liiketoimintavaatimuksia ja strategiaa.
Resumo:
Presentation at Open Repositories 2014, Helsinki, Finland, June 9-13, 2014
Resumo:
Skaalautuvien web-sivujen merkitys kasvaa nykypäivänä, koska web-sivuja katsotaan hyvin erikokoisilla ja -resoluutiosilla laitteilla. Sivujen skaalautuessa eri laitteille ei tarvitse erikseen tehdä mobiilisivuja tai perinteistä natiivia ohjelmistoa joka laitteelle, vaan yksi sivu toimii kaikilla laitteilla. Ongelmana on saada web-sovellukset toimimaan eri laitteilla, koska laitteiden selaimissa saattaa olla pieni eroja, joiden vuoksi on työlästä saada skaalautuva käyttöliittymä toimimaan kaikilla eri laitteilla. Skaalautuvien sivujen kehittämisen avuksi on luotu erilaisia käyttöliittymä- ja grafiikkakirjastoja, jotka auttavat sivun skaalautuvuuden toteuttamisessa. Kirjastoja käyttämällä säästetään kehitystyöhön käytettävää aikaa ja ulkoistetaan kirjaston ylläpito kolmannelle osapuolelle. Tällöin jää enemmän aikaa varsinaisten sovelluksen kehitystyölle. Tässä työssä tutkitaan eri käyttöliittymä- ja grafiikkakirjastovaihtoehtoja käyttöliittymän toteuttamiseksi. Työssä toteutetaan yksinkertainen verkkoseurantajärjestelmän prototyyppi ja valitaan sille skaalautuva käyttöliittymä- ja grafiikkakirjasto. Järjestelmä koostuu kolmesta osasta: käyttöliittymästä, palvelusta ja tietolähteistä, joista palvelu kerää tietoa käyttöliittymälle näytettäväksi.