Summary: | Made available in DSpace on 2016-06-02T19:05:45Z (GMT). No. of bitstreams: 1
3216.pdf: 2165958 bytes, checksum: e44fc4f80159088729eb51cd6068d912 (MD5)
Previous issue date: 2010-07-01 === With the advancement of hardware capability and key technologies of software and networking, ubiquitous computing is becoming a reality. The term ubiquitous computing refers to environments saturated with computing devices and communication networks that integrate naturally to human activity. According to Mark Weiser, the father of ubiquitous computing, "the most profound technologies are those that disappear." In this sense, ubiquitous computing can be considered the opposite of virtual reality. While the second one the user enters the virtual world, the first computing is penetrating into the user's physical world, building the connection between the two worlds. Research in different areas have been undertaken to improve the process of software development in ubiquitous computing. In software engineering, this new paradigm, mainly due to the amount and diversity of devices and platforms, present problems, such as applications development in manual and on-demand, and difficulties in maintenance and development of applications to meet the new requirements and monitor changes platforms. These problems have motivated the search for methods, processes, techniques and tools for modeling, implementing, testing to support the development of ubiquitous applications. Motivated to search for a solution to these problems, this project developed a model-driven approach to building software in ubiquitous computing. The approach is based on Domain-Specific Modeling (DSM) and Model-Driven Architecture (MDA). With a focus on reuse of software at different levels in the life cycle of software from the application modeling through implementation, the approach provides a productivity gain in application development that must be performed on different architectures of ubiquitous computing, as the numerous mobile devices such as cellphones, PDAs and others. The main mechanisms that automate part of the activities of a Software Engineer in implementing the approach are: a CASE tool, a code generator for the modeling of specific applications of a field, the IDE (Integrated Development Environment) Eclipse is a framework for science context and content adaption. Case studies in the field of medical education were developed to test and evaluate the proposed approach. === Com o avanço da capacidade de hardware e de tecnologias chaves de software e de redes, a Computação Ubíqua está se tornando uma realidade. O termo Computação Ubíqua referese a ambientes saturados de dispositivos computacionais e redes de comunicação, que se integram naturalmente à atividade humana. Segundo Mark Weiser, o pai da computação ubíqua, as mais profundas tecnologias são as que desaparecem . Neste sentido a Computação Ubíqua pode ser considerada o oposto da Realidade Virtual. Enquanto na segunda o usuário penetra no mundo virtual, na primeira é a computação que penetra no mundo físico do usuário, construindo a ligação entre os dois mundos. Pesquisas, em diferentes áreas, têm sido realizadas para melhorar processo de desenvolvimento de software na Computação Ubiqua. Na Engenharia de Software, este novo paradigma, principalmente devido à quantidade e diversidade de dispositivos e plataformas, apresenta problemas, como: desenvolvimento das aplicações de forma manual e sob demanda; e dificuldade de manutenção e evolução das aplicações para atender aos novos requisitos e acompanhar as mudanças de plataformas. Esses problemas têm motivado a pesquisa de métodos, processos, técnicas e ferramentas para modelagem, implementação, testes para apoiar o desenvolvimento de aplicações ubíquas. Motivados em pesquisar uma solução para esses problemas, este projeto desenvolveu uma abordagem orientada por modelos para a construção de software na computação ubíqua. A abordagem baseia-se na Modelagem Específica de Domínio (Domain Specific Modeling DSM) e na Arquitetura Orientada por Modelos (Model- Driven Architecture - MDA). Com foco na reutilização de software, em diferentes níveis do ciclo de vida do software desde a modelagem da aplicação até sua implementação, a abordagem possibilita um ganho de produtividade no desenvolvimento de aplicações que devem ser executadas em diferentes arquiteturas da computação ubíqua, conforme os inúmeros dispositivos móveis, como celulares, PDAs e outros. Os principais mecanismos que automatizam parte das atividades do Engenheiro de Software na execução da abordagem são: uma ferramenta CASE, um gerador de código para a modelagem de aplicações específicas de um domínio, a IDE (Integrated Development Environment) Eclipse e um framework para ciência de contexto e adapatação de conteúdo. Estudos de casos no domínio da Educação Médica foram desenvolvidos para testar e avaliar a abordagem proposta.
|