Uma abordagem orientada por modelos para o desenvolvimento de software na computação ubíqua - Santana, Eduardo Felipe Zambom (2010)
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.