250 research outputs found

    Domain-Specific Language Modularization Scheme Applied to a Multi-Arm Robotics Use-Case

    Get PDF
    Wigand DL, Nordmann A, Dehio N, Mistry M, Wrede S. Domain-Specific Language Modularization Scheme Applied to a Multi-Arm Robotics Use-Case. Journal of Software Engineering for Robotics. 2017;8(1):45-64

    Modeling of motion primitive architectures using domain-specific languages

    Get PDF
    Nordmann A. Modeling of motion primitive architectures using domain-specific languages. Bielefeld: Universität Bielefeld; 2016

    ClaferMPS: Modeling and Optimizing Automotive Electric/Electronic Architectures Using Domain-Specific Languages

    Get PDF
    Modern automotive electric/electronic (E/E) architectures are growing to the point where architects can no longer manually predict the effects of their design decisions. Thus, in addition to applying an architecture reference model to decompose their architectures, they also require tools for synthesizing and evaluating candidate architectures during the design process. Clafer is a modeling language, which has been used to model variable multi-layer, multi-perspective automotive system architectures according to an architecture reference model. Clafer tools allow architects to synthesize optimal candidates and evaluate effects of their design decisions. However, since Clafer is a general-purpose structural modeling language, it does not help the architects in building models conforming to the given architecture reference model. In this work, we present ClaferMPS, a set of extensible languages and IDE for modeling E/E architectures using Clafer. First, we present an E/E architecture domain-specific language (DSL) built on top of Clafer, which embodies the reference model and which guides the architects in correctly applying the reference model. We then evaluate the DSL and its implementation by modeling two existing automotive systems, which were originally modeled in plain Clafer. The evaluation showed that by using the DSL, an evaluator obtained correct models by construction because the DSL helped prevent typical errors that are easy to make in plain Clafer. The evaluator was also able to synthesize and evaluate candidate architectures as with plain Clafer. Finally, we demonstrate extensibility capabilities of ClaferMPS. Our implementation is built on top of the JetBrains Meta Programming System, which supports language modularization and composition, multi-stage transformations and projectional editing. As a result, ClaferMPS allows third parties to seamlessly add extensions to both Clafer and the E/E architecture DSL without invasive changes. To illustrate this approach, we consider the Robot Operating System (ROS) communications infrastructure, a case study, which is outside the scope of the existing reference model. We show how the E/E architecture DSL can be adapted to the new domain using MPS language modularization and composition

    Programming Robots for Activities of Everyday Life

    Get PDF
    Text-based programming remains a challenge to novice programmers in\ua0all programming domains including robotics. The use of robots is gainingconsiderable traction in several domains since robots are capable of assisting\ua0humans in repetitive and hazardous tasks. In the near future, robots willbe used in tasks of everyday life in homes, hotels, airports, museums, etc.\ua0However, robotic missions have been either predefined or programmed usinglow-level APIs, making mission specification task-specific and error-prone.\ua0To harness the full potential of robots, it must be possible to define missionsfor specific applications domains as needed. The specification of missions of\ua0robotic applications should be performed via easy-to-use, accessible ways, and\ua0at the same time, be accurate, and unambiguous. Simplicity and flexibility in\ua0programming such robots are important, since end-users come from diverse\ua0domains, not necessarily with suffcient programming knowledge.The main objective of this licentiate thesis is to empirically understand the\ua0state-of-the-art in languages and tools used for specifying robot missions byend-users. The findings will form the basis for interventions in developing\ua0future languages for end-user robot programming.During the empirical study, DSLs for robot mission specification were\ua0analyzed through published literature, their websites, user manuals, samplemissions and using the languages to specify missions for supported robots.After extracting data from 30 environments, 133 features were identified.\ua0A feature matrix mapping the features to the environments was developedwith a feature model for robotic mission specification DSLs.Our results show that most end-user facing environments exist in the\ua0education domain for teaching novice programmers and STEM subjects. Mostof the visual languages are developed using Blockly and Scratch libraries.\ua0The end-user domain abstraction needs more work since most of the visualenvironments abstract robotic and programming language concepts but not\ua0end-user concepts. In future works, it is important to focus on the development\ua0of reusable libraries for end-user concepts; and further, explore how end-user\ua0facing environments can be adapted for novice programmers to learn\ua0general programming skills and robot programming in low resource settings\ua0in developing countries, like Uganda

    Model-driven engineering for mobile robotic systems: a systematic mapping study

    Get PDF
    Mobile robots operate in various environments (e.g. aquatic, aerial, or terrestrial), they come in many diverse shapes and they are increasingly becoming parts of our lives. The successful engineering of mobile robotics systems demands the interdisciplinary collaboration of experts from different domains, such as mechanical and electrical engineering, artificial intelligence, and systems engineering. Research and industry have tried to tackle this heterogeneity by proposing a multitude of model-driven solutions to engineer the software of mobile robotics systems. However, there is no systematic study of the state of the art in model-driven engineering (MDE) for mobile robotics systems that could guide research or practitioners in finding model-driven solutions and tools to efficiently engineer mobile robotics systems. The paper is contributing to this direction by providing a map of software engineering research in MDE that investigates (1) which types of robots are supported by existing MDE approaches, (2) the types and characteristics of MRSs that are engineered using MDE approaches, (3) a description of how MDE approaches support the engineering of MRSs, (4) how existing MDE approaches are validated, and (5) how tools support existing MDE approaches. We also provide a replication package to assess, extend, and/or replicate the study. The results of this work and the highlighted challenges can guide researchers and practitioners from robotics and software engineering through the research landscape

    DNA assembly standards: Setting the low-level programming code for plant biotechnology

    Full text link
    [EN] Synthetic Biology is defined as the application of engineering principles to biology. It aims to increase the speed, ease and predictability with which desirable changes and novel traits can be conferred to living cells. The initial steps in this process aim to simplify the encoding of new instructions in DNA by establishing low-level programming languages for biology. Together with advances in the laboratory that allow multiple DNA molecules to be efficiently assembled together into a desired order in a single step, this approach has simplified the design and assembly of multigene constructs and has even facilitated the automated construction of synthetic chromosomes. These advances and technologies are now being applied to plants, for which there are a growing number of software and wetware tools for the design, construction and delivery of DNA molecules and for the engineering of endogenous genes. Here we review the efforts of the past decade that have established synthetic biology workflows and tools for plants and discuss the constraints and bottlenecks of this emerging field.Marta Vazquez-Vilar is funded by Wageningen University & Research. Diego Orzaez is funded by the Spanish Ministry of Economy and Competitiveness [grant number BIO2016-78601-R]. Nicola Patron is funded by the UK Biotechnological and Biological Sciences Research Council (BBSRC) and Engineering and Physics Research Council (EPSRC)Synthetic Biology for Growth programme [OpenPlant Synthetic Biology Research Centre, grant number BB/L0I4130/1], and by the Earlham DNA Foundry [grant number BB/CCG1720/1].Vázquez-Vilar, M.; Orzáez Calatayud, DV.; Patron, N. (2018). DNA assembly standards: Setting the low-level programming code for plant biotechnology. Plant Science. 273:33-41. https://doi.org/10.1016/j.plantsci.2018.02.024S334127

    On the orchestration of operations in flexible manufacturing

    Get PDF
    Tese de doutoramento em Engenharia Mecânica (Controlo e Gestão) apresentada à Faculdade de Ciências e Tecnologia da Universidade de CoimbraDomínio A capacidade de produzir bem é a chave da riqueza. Uma boa produção concretiza-se pela transformação competitiva de matérias-primas em produtos de qualidade para o mercado global. Tal transformação inclui uma série de operações coordenadas de modo a obter a produtividade que permite o aumento da competitividade. Embora algumas operações possam requerer pessoal especializado, a tendência é para uma crescente automatização. A coordenação das operações automatizadas é também automatizada (através de uma variedade de transportadores, comunicação digital, etc.). Contudo, e embora a produção seja automatizada, a configuração do equipamento é feita manualmente. Situação A necessidade de automatização foi inicialmente sentida e aplicada na produção de longas séries, como no caso da indústria automóvel. Com a necessidade de redução de custos e aumento de flexibilidade, a inclusão de máquinas/equipamentos controlados por computador, assim como de interligações por computadores/redes tem sido extensiva. O aumento de software nestes sistemas, as restrições físicas e as (indesejáveis) interconecções lógicas conduzem a um aumento da complexidade, que em empresas de produção em grande escala é obviado por especialistas. O aumento na procura de produtos personalizados e a rapidez para a sua comercialização determinam a necessidade de uma produção flexível. Contudo, a referida indesejável complexidade constitui um grande obstáculo para o recurso a soluções (semi)-automatizadas, e postos de trabalho (de alta qualidade) são deslocados para países de mão-de-obra mais barata. O caso mais difícil prende-se com a utilização de robôs (que é o tipo de máquina mais flexível) nas empresas mais flexíveis, como sejam as Pequenas e Médias Empresas (PMEs). Deste modo, as condições para a utilização de robôs (juntamente com outro tipo de equipamento) em PMEs (incluindo operações manuais e configuração) representam o maior desafio, uma vez que os sistemas técnicos têm de ser estruturados de forma a suportarem a desejada flexibilidade. À semelhança da incapacidade de uma boa gestão em compensar a falta de competência em actividades como a do comércio ou da investigação cientifica, as etapas de produção têm de ser apropriadamente construídas e mantidas. Estas últimas representam aquilo em que o produtor se deve concentrar e especializar. Assim, sejam quais forem os avanços que facilitem a produção, as práticas de produção competitiva deverão ser mantidas. Especificamente, processos de trabalho com conhecimentos valiosos não devem ser prejudicados por detalhes técnicos irrelevantes. Novas tecnologias que possam aumentar a competitividade e/ou melhorar as condições de trabalho são obviamente desejáveis. Contudo, estas deverão ser combinadas com princípios de utilização simples para os quais os sistemas de produção são construídos. Tópico A complexidade surge tanto na operação como na coordenação, mas também na sua configuração manual. Esta é parcialmente compreensível e gerenciável, uma vez que uma determinada máquina ou processo de fabrico pode ser bastante avançado e complexo. Assim, a complexidade será local. Contudo, e em particular com software envolvido, dependências adhoc acidentais entre operações e coordenação tornam a situação actual mais difícil. Adicionalmente, a configuração de cada máquina e subsistema envolve uma variedade de interfaces de utilizador e ferramentas de configuração/programação. Uma vez mais, as grandes empresas podem contar com engenheiros altamente qualificados para lidar com estes problemas, enquanto que nas PMEs a situação fica facilmente ingovernável. Consideramos que podemos referir o problema como uma questão de orquestração. Orquestração é então definida como o arranjo, coordenação e gestão (semi-) automatizada de complexos sistemas de produção, incluindo as suas interacções em termos de comunicação e os seus serviços em termos de controlo por computador. O tópico pode então ser formulado como a procura de princípios óptimos, ou pelo menos exequíveis, para a orquestração de processos produtivos de pequena escala. Na realidade, existem aspectos fundamentais envolvidos que não representam apenas uma questão de engenharia a ser solucionada. Ao contrário, a situação requer uma abordagem científica com especial atenção para a recente tecnologia de suporte proveniente de outras áreas. Abordagem cientifica - A procura de princípios apropriados a PMEs para a orquestração de processos de produção não se presta a uma análise teórica, que por sua vez requer a utilização de modelos formais e derivação das soluções (sub-)óptimas e suas propriedades. Embora tivesse sido preferível obter provas formais de uma solução óptima, a complexidade do equipamento, o envolvimento de humanos, a considerável desorganização das PMEs, a necessidade de aderir às práticas industriais, assim como a variedade de PMEs existentes, dificultam uma abordagem teórica. Deste modo, foi seguida uma abordagem empírica. A dificultar o teste e a avaliação de uma abordagem empírica estão as possíveis variações no software envolvido, juntamente com a constante mudança que ocorre na produção em sistemas de produção flexíveis. Adicionalmente, a experimentação não pode ser conduzida em ambientes industriais (onde esta iria perturbar a produção). Assim sendo, as experiências deverão ser cuidadosamente seleccionadas e conduzidas em laboratório com recurso a equipamento industrial. Ainda assim, dadas as condições e singularidade de algum equipamento, não é fácil reproduzir os resultados noutros locais, o que constitui um problema para a validação e aceitação dos mesmos. Contudo, caso a solução sugerida em termos de princípios técnicos possa ser encontrada ou confirmada por resultados publicados de investigação independente, ou se técnicas relacionadas derem origem a novos produtos, tal pode desejavelmente contribuir para a validação de resultados. Isto é, embora resultados semelhantes para outros laboratórios sejam válidos, as diferenças actuais vão revelar a existência de variações que merecem estudo detalhado. Abordagem técnica - Os sistemas de produção flexíveis consistem em equipamento distribuído do ponto de vista computacional. Tipicamente, os diferentes aparelhos não foram concebidos para operarem em conjunto, mas devem, no entanto, ser de fácil configuração no local de trabalho. Uma abordagem básica passaria pela utilização de plataformas de software que suportassem componentes distribuídos de uma forma flexível. Contudo, as plataformas computacionais existentes podem não satisfazer com eficiência a necessidade do equipamento integrado, podendo revelar falta de robustez, nomeadamente nas interconecções. Deste modo, é necessário combinar com algum cuidado a tecnologia existente e confrontar as soluções sugeridas com as necessidades actuais das empresas. A abordagem seguida encontra-se dividida em quatro partes: 1. Suportar o acoplamento fraco entre componentes de forma a obter simples composição quando o equipamento é instalado ou substituído. As interacções necessitam ser assíncronas e baseadas em eventos através de interfaces bem definidas e auto-explicativas, contendo serviços definidos em termos de operações de produção (e não em termos de software interno). 2. Produzir princípios unificados para interacção com utilizador e interfaces, permitindo que utilizadores não especializados possam (re)configurar e (re)programar o sistema de produção. Uma interacção com o utilizador que permita combinar operações básicas que resultem num novo serviço, o qual deverá idealmente estar facilmente acessível através de interfaces programadas e manuais. 3. As abordagens baseadas em modelos têm-se revelado eficazes para desempenho e reutilização. No entanto, os modelos consistem em elevado nível de conhecimento e são dispendiosos de obter no âmbito da flexibilidade e desorganização das PMEs. Uma melhor abordagem é permitir a visibilidade do conhecimento envolvido numa determinada etapa em termos do processo de produção, de modo a que o operador transmita inteligência através de uma interface simples. 4. O software é por defeito não descritivo, assim como a execução sequencial de código imperativo não se compõe. Conhecimento no metanível e descrições declarativas deverão ser utilizadas, se possível, sem comprometimento dos itens anteriores. O objectivo é gerar software ao nível de aplicação, partindo de descrições de alto nível. A avaliação experimental deverá verificar técnicas individuais como tal, e os resultados deverão ser comparados com investigação relacionada. A abordagem global consiste em combinar os resultados das diferentes partes em princípios aplicáveis a futuros processos de produção das PMEs. Resultados O uso de arquitecturas orientadas a serviços (SOA) nas redes empresariais resolveu as limitações das arquitecturas orientadas a componentes no que diz respeito ao acoplamento através da standarização das interfaces, protocolos de comunicação, gestão de transacções, e segurança, entre outros. SOA ao nível do dispositivo é o resultado da importação de princípios SOA para os sistemas embebidos com algumas importantes diferenças, nomeadamente: inclusão de padrões de mensagens publish/subscribe, descoberta e descrição directa entre dispositivos, e modelos descritivos genéricos. Numa primeira fase, este trabalho validou os inúmeros trabalhos realizados sobre a aplicação de SOA ao nível do dispositivo em ambiente industrial com o teste num protótipo de célula de trabalho. De seguida foi levado a cabo um trabalho de avaliação comparativa entre duas SOA ao nível do dispositivo com estilos de arquitectura diferentes, servindo como base aos restantes desenvolvimentos da tese. Ainda que os resultados desta avaliação tenham mostrado o grande avanço proporcionado pelo uso de SOA, nomeadamente no que diz respeito ao desacoplamento entre componentes atingido, alguns aspectos críticos para o seu uso efectivo ainda estavam por resolver, designadamente: 1. A geração e a especificação dos serviços ao nível da tarefa 2 A definição de uma linguagem de orquestração adequada às SOA ao nível do dispositivo. Uma abordagem baseada em tarefas, quando relacionadas com processos de manufactura, consubstancia-se na capacidade de disponibilizar um mecanismo flexível (e amigável para o utilizador de uma PME) para a especificação das interfaces de rede. Os programas de robô são um elemento chave na flexibilidade do robô e este trabalho mostrou que o seu uso para a definição de interfaces vai elevar a fasquia da flexibilidade para o nível das interligações. A natureza procedimental de muitas linguagens de robô encaixa-se perfeitamente com o padrão de mensagens definido nas plataformas SOA, com uma mistura de variáveis de estado definidas a partir de variáveis do robô, e com acções definidas a partir de métodos da linguagem robô. A definição de uma linguagem de orquestração preencheu uma lacuna nos padrões de orquestração: sistemas conduzidos a eventos. Estes sistemas definem estados e transições de uma forma clara, potenciando a capacidade do utilizador de acompanhar o estado do sistema. Statecharts constituem um par adequado para a arquitectura SOA, uma vez que as transições de estado são baseadas em eventos, que no nosso caso são eventos na rede, mas os estados (e também as transições) incluem igualmente acções, que podem ser mapeadas para operações. A avaliação empírica efectuada mostrou uma previsível boa curva de aprendizagem para estes sistemas, em parte devido às vantagens associadas à sua semelhança a técnicas de automação tradicionais, como os Sequential Function Charts. Os resultados desta avaliação são positivos e justificam esforços suplementares para efectuar testes em aplicações reais, o que neste caso implica utilizadores de PME reais. Conclusões Três conclusões devem ser retiradas desta tese: A estratégia proposta para a especificação de serviços é um elemento chave no futuro do uso de SOA ao nível dos dispositivos, devido à importância da definição das interfaces no sucesso destas arquitecturas. A programação ao nível da tarefa é desta forma transferida da programação dos robôs para o nível da rede. Uma linguagem conduzida a eventos foi definida para a orquestração. Testes revelaram o seu uso e compatibilidade com as necessidades das células de fabrico das pequenas e médias empresas, nomeadamente estados explícitos e transições baseadas em eventos. Esta abordagem preenche uma lacuna nos padrões de orquestração existentes na indústria e constitui uma excelente base de trabalho para o futuro. Finalmente, foram abordadas técnicas baseadas em conhecimento, e avaliada a sua integração com a arquitectura definida anteriormente. Estes estudos mostraram a importância das estratégias descritivas e as inúmeras possibilidades abertas quando a semântica é adicionada aos sistemas industriais baseados em software, especialmente quando suportados em bem estabelecidas tecnologias de rede, como as descritas anteriormente.Our ability to manufacture well is the key to our wealth. Obtaining a wider range of different (and better) products in a sustainable way in terms of labour and environment is the big challenge faced by modern manufacturing. In the last few decades, automation has played a key role in the enhanced productivity of mass-production industries, but there has been a paradigm shift: global consumers ask for customization, leading manufacturers to target mass customization and consequently requiring new levels of flexibility for automation. An industrial robot is usually considered to be a flexible machine, which is only true within the large plant scenario. Small enterprises, which are by nature the most flexible ones, do not make use of robot systems as they could, because robot flexibility, which relies on reprogramming and reconfiguring, cannot be taken on by the SME (Small Medium Enterprises) worker at the workshop, and hiring specialists is unacceptable in terms of costs. The easy reconfiguration of a robotic work-cell, which is a distributed environment with computation in different platforms that are coordinated by software, is hindered greatly by the dependencies between cell components. This thesis addresses the problem of dependencies by proposing principles and mechanisms for the orchestration of complex manufacturing systems, i.e., the (semi-) automated coordination of their interactions in terms of communications and computer control. The industrial environment, especially regarding robotics, does not lend itself to theoretical analysis due to the amount of work needed to reach formal models. This is exacerbated in the unstructured SME environment and when working with user-in-the-loop systems. Therefore, the approach used in this thesis was mainly empirical, with validation through laboratory prototypes used by some representative users. The approach consisted of the following parts: 1. supporting loose coupling between components to promote simple composition of services to enable an easier reconfiguration; 2. defining unifying principles in terms of user interaction, by taking into account current robot technologies and improvements from other scientific areas, namely enterprise level networking; 3. enabling a task-based view of knowledge in terms of the manufacturing processes to promote the reconfiguration of the system by process rather than robotics specialists; 4. proposing declarative techniques that support easy configuration of the work-cell in terms understandable by the SME user. The use of service-oriented architectures (SOAs) in the business world has tackled the limitations of component-oriented architectures in terms of coupling through the standardization of interfaces, communication protocols, transaction management, and security, among others. Device-level SOA are the result of the porting of SOA principles to the embedded level with the addition of several important features, namely: publish/subscribe messaging patterns, peer-to-peer discovery description and generic templates. At an initial stage, this work has validated the current trend of using device-level SOA in industrial environments by testing their use against a prototype work-cell. Following this, a comparison was made between device-level SOA platforms that embodied two different architectural styles. This served as a basis for the rest of the thesis. Although the results from this evaluation have shown the great advances brought about by the use of device-level SOA, for instance in terms of decoupling, some critical issues for their effective use remained unchallenged, namely: 1. The generation and the specification of task-level services (contracts), with transparent and easy-to-use techniques for the SME user. 2. The definition of orchestration techniques adapted to the device-level SOA, with adequate expressiveness and simplicity for the SME user. A task-based view of knowledge in terms of manufacturing processes relies on the ability to provide a flexible (SME user-friendly) mechanism for the specification of network interfaces. Robot programs are the key element for robot flexibility. This work has shown that their use in interface definition will feature flexibility also at the interconnection level. The procedural nature of many robot programming languages copes perfectly with the device-level SOA messaging style, with a mixture of evented state variables defined by robot variables, and with actions defined by robot methods. The definition of an orchestration language has addressed a missing pattern in service orchestration: event-driven systems. These systems define states and transitions in a clear way, thus enhancing the user’s ability to predict the state of the system. Statecharts provide a perfect match for the device-level SOA since the state-transitions are event-based, but the states (and the transitions) embody actions, which can be mapped to operations. The empiric evaluation made with several types of users has shown the predictable steep learning curve of these systems, partly due to their resemblance to traditional automation techniques like SFCs. The results are therefore positive and justify the effort of testing the system against real applications, which in this case means with real SME users. Descriptive techniques for software are one of the keys to establish the bridge between humans and computer programs. Despite recent evolutions, these techniques are not yet ready for use, and supportive technologies and methodologies need to be tested. In this work, a cell specification language has been defined and software developed that configures a programming-by-demonstration robotic work-cell. In conclusion, there are three main outcomes from this thesis. The proposed strategy for the specification of services is a key enabler in the future use of device-level SOA in industrial robotics, due to the importance of interface definition in the success of these architectures. Task-level programming is in this way extended from the robot programming level to networked devices. An event-driven language has been defined for the orchestration. Tests revealed its ease of use and compatibility with the orchestration needs of SME work-cells, namely: explicit states and event-based transitions. This approach fulfils a missing orchestration pattern in the industry, and provides an excellent basis for future work. A descriptive robotic cell specification has been introduced that supports the automatic workcell (re)configuration. This work has shown the importance of descriptive knowledge in automation, especially when supported by the networking integration techniques described previously.Project SMERobot, Integrated project funded under the European Union’s Sixth Framework Programme (FP6
    corecore