Mestrado em Ciência da Computação (INF)
URI Permanente para esta coleção
Navegar
Navegando Mestrado em Ciência da Computação (INF) por Por Orientador "Costa, Fábio Moreira"
Agora exibindo 1 - 11 de 11
Resultados por página
Opções de Ordenação
Item Construção de middleware específico de domínio: unificando abordagem dirigida por modelos e separação de interesses(Universidade Federal de Goiás, 2017-10-30) Barbosa, Weider Alves; Costa, Fábio Moreira; http://lattes.cnpq.br/0925150626762308; Costa, Fábio Moreira; Delicato, Flávia; Carvalho, Sérgio Teixeira deThis thesis presents an approach to construct model execution machines based on the concept of Domain Specific Virtual Machines (DSVMs), focusing on the control middleware layer that is responsible for the control of model execution. In order to build this layer, we used techniques derived from model-driven engineering (MDE), in order to take advantage of the fact that DSVMs can both interpret models directly and be constructed using models. Another concept used in the proposed approach is the Separation of Concerns, separating the execution model from the knowledge of the application domain. In this sense, the main objective of this work is to propose an approach that unifies the MDE techniques and separation of concerns for the construction of DSVMs, thus allowing to express both the structure and operational semantics of the middleware. As a result, an instance of the control layer of a DSVM for the user-centric communication domain is displayed. We also present the results of a performance evaluation that was carried out to analyze the impact of proposed approach on the execution time.Item Redes IoT baseadas em SDN e dirigidas por intenções(Universidade Federal de Goiás, 2022-06-22) Cordeiro, Bruna Michelly de Oliveira Silva; Sene Junior, Iwens Gervasio; http://lattes.cnpq.br/3693296350551971; Rodrigues Filho, Roberto; http://lattes.cnpq.br/3150867071308016; Costa, Fábio Moreira; http://lattes.cnpq.br/0925150626762308; Costa, Fábio Moreira; Sene Junior, Iwens Gervasio; Rodrigues Filho, Roberto; Oliveira Junior, Antonio Carlos de; Ueyama, JóSmart Cities have an operating environment with high volatility, where frequent changes occur, forcing systems to deal with new situations. Specifically in IoT networks, which make up the infrastructure of devices in the city, this volatility demands the ability to quickly and correctly change the network behavior at runtime. In light of this, the management of IoT networks for smart cities has a high level of complexity. In order to facilitate the (re)programming of network behavior, the concept of Software Defined Networks (SDN) for IoT is gaining popularity and has been applied to control this type of network. A concept present in the literature that has the potential to abstract some of this complexity refers to Intent-Driven Networks (IDN). The application of this concept allows the programming of the network by means of intentions, built using a high-level declarative language. This work explores the combination of IDN and SDN to abstract and facilitate the programming and adaptation of the IoT network behavior, according to intentions defined by applications at runtime. In this work, SDN mechanisms are used to perform the deployment of network functions that define and/or change the behavior of the network nodes, while IDN is used to abstract the programming of the network behavior, as well as allow fine-grained adjustments of that behavior. The behavior to be implemented in the network is chosen at runtime, based on intentions coming from the application. This choice is made by a decision making algorithm, which by means of a metric, is able to determine the best behavior in function of the current state of the network. Simulation-based experiments were conducted to validate this intent processing in different usage scenarios.Item Uma abordagem de verificação e validação para sistemas de middleware específicos de domínio dirigidos a modelo(Universidade Federal de Goiás, 2018-10-01) Fortes, Marcelo Rodrigues; Costa, Fábio Moreira; http://lattes.cnpq.br/0925150626762308; Costa, Fábio Moreira; Coutinho, Luciano Reis; Graciano Neto, Valdemar VicenteMiddleware platforms aim to facilitate the construction of distributed applications, hiding the complexities and specificities inherent in the underlying platform. However, while middleware facilitates the construction of applications, its own construction is quite complex, requiring good knowledge in software design and implementation. In this sense, some approaches have been proposed, with the aim of presenting more flexible and configurable ways to build middleware, for example, reflective middleware, model-driven middleware and component-based middleware. Another example is the Model-Driven Domain-Specific Middleware (MD-DSM) approach, which employs Model-Driven Engineering concepts for building middleware platforms that support the execution of model-based applications. MD-DSM solves several problems related to building middleware for different domains. However, the entire process of verifying and validating the final MDDSM product is performed in an ad hoc way, without a methodology that guides the middleware engineer during these activities, possibly compromising the quality of the final product. In this work, we present a verification and validation (V&V) methodology that systematizes the entire quality assurance activities of this category of middleware. In addition, we present a tool that automates much of the V&V activities that need to be performed to ensure the quality of a middleware system built using MD-DSM. We also present a quantitative evaluation of the V&V tool.Item Middleware para migração de sessões de interação de aplicações Web: suporte para o desenvolvimento de aplicações Web migráveis(Universidade Federal de Goiás, 2017-10-25) Lima, Vinícius Bulhões da Silva; Costa, Fábio Moreira; http://lattes.cnpq.br/0925150626762308; Costa, Fábio Moreira; Silvestre, Bruno Oliveira; Conceição, Arlindo Flavio daNowadays, it is common to find a variety of powerful devices which execute applications that were only supported by machines that were traditionally more capable, such as desktop PCs. Due to the variety of plataforms and operating systems, which exhibit different available resources and user interaction methods, applications need to be provided in different versions. As a result, users work with the same application on different devices, at different locations and at different times of the day. Facing these user's new possibilities, applications need support to allow users to easily switch from one device to another and resume their tasks at the same point where they stopped. This work introduces a middleware architecture that can be used by web applications to acquire the interaction session migration capability. Thus, web applications' interaction sessions, and their related data, can be migrated from one device to another in an automatic and seamless way. A middleware platform was designed and implemented in order to evaluate the proposed approach. Also, it is evaluated the effect of transfer mechanisms on the handoff process of the interaction session application.Item CSVM: uma plataforma para crowdSensing móvel dirigida por modelos em tempo de execução(Universidade Federal de Goiás, 2014-10-15) Melo, Paulo César Ferreira; Costa, Fábio Moreira; http://lattes.cnpq.br/0925150626762308; Costa, Fábio Moreira; Carvalho, Sérgio Teixeira de; Ferraz, Carlos André GuimarãesRecent advances in ubiquitous computing have contributed to the rise of an emerging category of mobile devices that have computational and sensing capabilities, such as smartphones and wearable devices. The widespread use of these devices connected by communication networks contribute to the evolution of the Internet of Things. The presence of these mobile devices increases the chance for the development of applications using the sensing ability of these devices to measure, and understand the environmental indicators. Furthemore, data sensed by these applications can be shared among different mobile devices, giving rise to a paradigm called mobile crowdsensing. The complexity of applications in this domain is associated with factors such as interoperability between different mobile devices, data identification and capture from these devices, and adaptation of their use in heterogeneous and dynamic environments. Software engineering approaches such as Model-Driven Engineering (MDE) and, more specifically, models at runtime are an effective way of dealing with this complexity. We propose the use of an approach based on models at runtime for creating and processing mobile crowdsensing queries.We show how this approach can be used by defining a domain-specific modeling language for the mobile crowdsensing domain, called CSML. We built and validated the CSML metamodel which captures the main aspects of the domain, and its execution environment, which consists of an execution engine for models described in CSML, called CSVM. This approach facilitates the specification of mobile crowdsensing queries, also enabling their dynamic change during their processing.Item Síntese de requisitos de segurança para internet das coisas baseada em modelos em tempo de execução(Universidade Federal de Goiás, 2015-10-14) Oliveira Neto, Inael Rodrigues de; Rocha, Ricardo Couto Antunes da; http://lattes.cnpq.br/4808440233209979; Costa, Fábio Moreira; http://lattes.cnpq.br/0925150626762308; Costa, Fábio Moreira; Rocha, Ricardo Couto Antunes da; Carvalho, Sérgio Teixeira de; Yamin, Adenauer CorrêaThe Internet of Things (IoT) connects the Internet all kinds of “things” or “smart objects” such as devices, sensors, actuators, mobile phones, home appliances, cars and even furniture. IIoT is characterized by the ubiquity and dynamism of its environment and connected objects. Thus, the environment of the IoT is highly volatile and heterogeneous as it counts with the presence of different objects able to interact and to cooperate with each other over the Internet. While Smart Objects become more ubiquitous, there is growing uncertainty about the environment, which contributes to a greater appearance of security threats not foreseen in the design phase. This thesis presents a solution that aims to ensure flexibility by allowing the safety requirements to be changed at runtime by the user, systematically reflecting these changes to the security settings for objects connected to the IoT. Therefore, this work presents an architecture of middleware and implementation of an algorithm for assessment requirements and security reconfiguration as well as its evaluation. In addition, this work presents a domain-specific modeling language using models@runtime for specifying the user’s security requirements. About the contributions of this work, we can mention the proposed architecture of middleware, a requirements synthesis algorithm for reconfiguration of security at runtime, a security requirement modeling language, the application of models@runtime approach for reconfiguration of security and the construction of a metamodel for capturing application security aspects running on devices in the IoT.Item C3S: uma plataforma de middleware de compartilhamento de conteúdo para espaços inteligentes(Universidade Federal de Goiás, 2013-05-17) Roriz Junior, Marcos Paulino; Rocha, Ricardo Couto Antunes da; http://lattes.cnpq.br/4808440233209979; Costa, Fábio Moreira; http://lattes.cnpq.br/0925150626762308According to Mark Weiser, ubiquitous computing focuses on seamlessly integrating computing tasks into people’s daily lives. Because of current technology limitations, the realization of ubiquitous computing observes a limited set of aspects of ubiquitous computing, such as, mobility and context, which are based on services that integrate the users with the resources that are present on a delimited ubiquitous environment (such as in smart spaces). Instead, we explored a different approach, in which services are used not to integrate an individual user with the environment, but to integrate the users present in the environment with one another. One way to realize this aspect is by using content sharing, first-class application dat, that serve as integration medium between users. However, due to the environment complexity and lack of middleware platforms, applications that follow this approach are repeatedly built from scratch using raw techniques. Aiming to provide an infrastructure for the development of this kind of applications, we propose Content Sharing for Smart Spaces (C3S), a middleware that offers a high-level programming model using primitives that are based on a set of content sharing semantics and ubiquitous application concepts. The primitives express a small set of behaviors, such as move, clone, and mirror, which serve as building blocks for developers to implement sharing and content ubiquity features, while the ubiquitous concepts supported by the middleware allow the manipulation of users, groups and ubiquitous applications. We validated our proposal using two different case studies that allowed us to explore these features. Our results show that our middleware provides an easier way to develop sharing-based applications compared to related work found in the literature.Item Controle de microgrids dirigido por modelos(Universidade Federal de Goiás, 2014-03-31) Sampaio Junior, Adalberto Ribeiro; Costa, Fábio Moreira; http://lattes.cnpq.br/0925150626762308; Costa, Fábio Moreira; Cerqueira, Eduardo Coelho; Rocha, Ricardo Couto Antunes da; Vieira, Flávio Henrique TelesThe use of model driven engineering (MDE) and models at runtime represent an important tools for the development and management of complex systems. We show how a model driven approach can be used to create a manager able to control the various components of a microgrid, besides adding autonomic behavior in this kind of system. Applying an architecture that respects the hierarchy of controllers present in microgrids, we show how devices can be controlled through calls and events that are targeted to a manager and defined in its model. This model-driven approach facilitates the control of devices and allows customization of the bahavior of a microgrid by the end user in charge of managing it.Item Seleção dinâmica de microsserviços para coreografias(Universidade Federal de Goiás, 2019-08-23) Silva, Douglas Bernardes; Carvalho, Sérgio Teixeira de; http://lattes.cnpq.br/2721053239592051; Costa, Fábio Moreira; http://lattes.cnpq.br/0925150626762308; Costa, Fábio Moreira; Carvalho, Sérgio Teixeira de; Sampaio Júnior, Adalberto Ribeiro; Correa, Sand LuzDynamic and heterogeneous environments, such as smart cities, require increasingly flexible and interoperable software systems. Some requests, however, can not be met by simple collaboration between the available systems, leading to the need for new systems to be deployed at runtime. Approaches for building emergent systems have been proposed in order to use a set of small available software components to autonomously build this type of system. Microservice architecture characteristics make it an interesting candidate for this proposition. Microservices, however, must have a specific, well-defined purpose, and must be coordinated and combined to reach more complex results. Choreographies represent an interesting approach to do so. However, the selection of appropriate microservices to perform the roles specified in a choreography will only be effective if it ensures user QoS requirements, and that is not a trivial task since each candidate microservice's QoS tends to vary considerably by their reuse and inconstant execution context. It also means that design-time predictions tend to be ineffective. This dissertation proposes a QoSsensitive oriented selection of microservices during choreographies enactment in dynamic and heterogeneous environments. The proposal is to insert a new layer in the traditional architecture that provides support for choreographies, so that microservices selection ensures local QoS requirements for each functionality, at runtime, and enactment adapts "on the fly". A prototype of the proposed architecture was implemented for its evaluation, and the results indicate that the approach is effective and efficient when there is a large and multivariate set of microservices available, presenting superior performance in relation to the related works used for comparison.Item Desenvolvimento de máquinas de execução para linguagens de modelagem específicas de domínio: uma estratégia baseada em engenharia dirigida por modelos(Universidade Federal de Goiás, 2012-10-09) Sousa, Gustavo Cipriano Mota; Costa, Fábio Moreira; http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4720552Y8; Costa, Fábio Moreira; Rosa, Nelson Souto; Rocha, Ricardo Couto Antunes daThe combination of domain-specific modeling languages and model-driven engineering techniques hold the promise of a breakthrough in the way applications are developed. By raising the level of abstraction and specializing in building blocks that are familiar in a particular domain, it has the potential to turn domain experts into application developers. Applications are developed as models, which in turn are interpreted at runtime by a specialized execution engine in order to produce the intended behavior. In this approach models are processed by domain-specific execution engines that embed knowledge about how to execute the models. This approach has been successfully applied in different domains, such as communication and smart grid management to execute applications described by models that can be created and changed at runtime. However, each time the approach has to be realized in a different domain, substantial re-implementation has to take place in order to put together an execution engine for the respective DSML. In this work, we present a generalization of the approach in the form of a metamodel that captures the domain-independent aspects of runtime model interpretation and allow the definition of a particular class of domain-specific execution engines which provide a highlevel service upon an underlying set of heterogenous set of resources.Item Uma abordagem dirigida por modelos para comunicação em tempo real(Universidade Federal de Goiás, 2018-10-09) Vieira, Marcelo Barros de Azevedo; Carvalho, Sérgio Teixeira de; http://lattes.cnpq.br/2721053239592051; Costa, Fábio Moreira; http://lattes.cnpq.br/0925150626762308; Costa, Fábio Moreira; Carvalho, Sérgio Teixeira de; Silvestre, Bruno Oliveira; Braga, Rosana Teresinha VaccareThe technological advances in recent years have allowed the development of new applications for communication. These applications allow multiple types of media to be switched between their users, with lower latency providing a better experience for the user. However, the development of applications for communication using general purpose languages has as a focus the development of the application and not the solution of the problems in a domain. In this way, domain-specific modeling languages, originated in Model-Driven Engineering, raise the level of abstraction and reduce the complexity of software development. Specificaly, modeling languages for the real-time communication domain aim to model applications that allow real-time communication among users, not only reducing the development time but also offering users the possibility of creating their own applications. The objective of this work was to propose a new communication modeling language, RBCML, which enables the definition of communication applications based on the roles that users play in a communication session, as well as their requirements in terms of the types of media and data that they can exchange. An implementation of the language was developed on top of the standards-based WebRTC platform in order to carry out evaluation experiments to demonstrate its usability and performance.