Svoboda | Graniru | BBC Russia | Golosameriki | Facebook
Skip to main content
Software as a Service (SaaS) represents a new paradigm and business model with witch companies don't need buy and maintain their own IT infrastructure. Instead, they acquire a software as service of third party, obtaining significant... more
Software as a Service (SaaS) represents a new paradigm and business model with witch companies don't need buy and maintain their own IT infrastructure. Instead, they acquire a software as service of third party, obtaining significant benefits, especially regarding the reduction of infrastructure maintenance costs. The aim of this work is to present the main concepts related to multi-tenancy architecture, and an approach to implementation of Software as a Service. During this work the key technologies will be presented associated with the subject and a practical example of implementing a multi-tenancy application using Grails Framework and reusable components. Resumo Software como serviço (SaaS) representa um novo paradigma e um modelo de negócios onde as empresas não precisam comprar e manter sua própria infraestrutura de TI. Ao invés disso, elas adquirem um serviço de software de terceiros, obtendo assim consideráveis benefícios, principalmente no que tange a redução de custos de manutenção dessa infraestrutura. O objetivo desse minicurso é apresentar os principais conceitos relacionados à arquitetura multi-tenancy, uma das abordagem para implementação de Software como Serviço. Durante esse trabalho serão apresentadas as principais tecnologias associadas ao assunto e um exemplo prático da implementação de um aplicativo multi-tenancy utilizando o framework Grails e componentes reutilizáveis.
Research Interests:
"This book is much more than just a very through compendium of reuse research. C.R.U.I.S.E actually traces the history of our field from the nascent thoughts credited to McIlroy in 1968 right up to the present. In taking the reader... more
"This book is much more than just a very through compendium of reuse research. C.R.U.I.S.E actually traces the history of our field from the nascent thoughts credited to McIlroy in 1968 right up to the present. In taking the reader through this history, C.R.U.I.S.E touches on all the key phases in the evolution of reuse, from library systems, organizational issues, domain analysis, product lines, component-based engineering, to modern architectures for reuse. In each phase, the leaders in our field have poised numerous concerns and problems that remain to be solved. C.R.U.I.S.E has retained the questions as posed by the original researchers, but also adds new analysis and a current perspective. While it is impossible to cite every single source, the authors have very effectively summarized and analyzed the important works, placing them in context along with the other related works at the time."

Dr. Jeffrey S. Poulin
Software Reuse Specialist
Lockheed Martin Systems Integration - Owego, NY, U.S
home.stny.rr.com/jeffreypoulin/
The continuous technological evolution makes many systems become obsolete due to changes in hardware and software platforms, although the fact that they attend their requirements and that they are stable. Software reengineering,... more
The continuous technological evolution makes many systems become obsolete due to changes in hardware and software platforms, although the fact that they attend their requirements and that they are stable. Software reengineering, integrated with modern techniques of reverse and forward engineering, can be the solution to reconstruct these systems reusing the knowledge embedded in the code and the available documentation. Even when current reengineering techniques are used, some problems regarding the legibility of the code are found in the reconstructed systems. Recently developed systems making use of modern techniques for object oriented analysis, design and implementation using software patterns also have these problems. Thus, motivated by the ideas of a better solution to improve systems codes legibility that have already been built,
we intend to investigate an approach to rebuild such systems, obtaining their project and code restructured in a more readable and organized way. The approach combines reverse engineering techniques, component-based modeling, software transformation, and Aspect-Oriented Programming to reconstruct software systems from legacy code and available documentation. The code and the documentation of the reconstructed system are structured according to Aspect-Orientation, which facilitates its maintenance and continuous evolution and complies with new hardware and software technologies. The main mechanisms for the execution of the approach are a Transformational System and a CASE tool, which automates most of the software engineer tasks.
Navegadores Web são ferramentas de extrema importância no que diz respeito ao consumo de dados na internet, pois possibilitam a interação e consumo de informações providas por diversos serviços disponíveis na Web. Em contrapartida, é... more
Navegadores Web são ferramentas de extrema importância no que diz respeito ao consumo de dados na internet, pois possibilitam a interação e consumo de informações providas por diversos serviços disponíveis na Web. Em contrapartida, é nítida a dificuldade destas ferramentas em evitar que seus usuários sejam vítimas de vulnerabilidades, sejam localizadas em seus próprios mecanismos internos, oriundas de aplicações Web disponíveis ou resultadas pela ingenuidade do próprio usuário.Nosso estudo tem como objetivo duas contribuições: (i) o desenvolvimento de um ambiente controlado, que se define como uma aplicação Web que simula vulnerabilidades reais suscetíveis a 13 ataques distintos, considerados mais explorados da atualidade. (ii) E uma avaliação da eficácia de 25 ferramentas que visam proteger os usuários de navegadores web contra estes ataques.
O avanço de ataques de phishing não se caracteriza apenas na propagação, mas também no rigor em detalhes, tornando a fraude cada vez mais convincente ao crivo do usuário final. Diante deste cenário, o presente estudo apresenta uma... more
O avanço de ataques de phishing não se caracteriza apenas na propagação, mas também no rigor em detalhes, tornando a fraude cada vez mais convincente ao crivo do usuário final. Diante deste cenário, o presente estudo apresenta uma abordagem sobre os comportamentos homográficos comumente presentes em ataques de phishing associados a uma determinada marca-alvo, seja na URL ou no conteúdo da página. Mediante a aplicação de 16 perguntas disparadoras, pode-se observar a aplicação ardilosa de termos genuínos, aplicados de forma maliciosa, em aproximadamente 79% das páginas. Também foi identifica a aplicação de termos homográficas pouco mais de 20% das URLs. Além destas, foi revelada uma predileção pela aplicação dos termos na URL.
Research Interests:
Resumo Ao longo dos últimos anos uma nova abordagem de reuso de software tem ganhado atenção tanto pela indústria quanto pela academia. Esta abordagem é conhecida como Linhas de Produtos de Software na qual é baseada na reutilização... more
Resumo Ao longo dos últimos anos uma nova abordagem de reuso de software tem ganhado atenção tanto pela indústria quanto pela academia. Esta abordagem é conhecida como Linhas de Produtos de Software na qual é baseada na reutilização sistemática de artefatos de software, através da exploração de pontos comuns ea gestão de variabilidade entre os produtos, que são estabelecidos sob uma mesma arquitetura. Este conceito de linhas de produtos tem sido utilizado pela indústria de manufatura a anos para reduzir ...
The game process is guided traditionally by the Game Design Document, a document which contains all the necessary info to support the team through the game development process. The Game Design Document contents is insufficient, starting a... more
The game process is guided traditionally by the Game Design Document, a document which contains all the necessary info to support the team through the game development process. The Game Design Document contents is insufficient, starting a conflict between game designers and programmers. This work aims to study the game development process and recommend guidelines to reduce the conflicts between the Design and the Software development phases. Keywords: digital entertainment, electronic games, ...
Mobile devices are increasingly present in people's daily lives. However, despite the substantial improvement of new generations of smartphones, the amount of information and the complexity of the procedures delegated to these devices... more
Mobile devices are increasingly present in people's daily lives. However, despite the substantial improvement of new generations of smartphones, the amount of information and the complexity of the procedures delegated to these devices still imposes certain restrictions on processing, especially regarding energy consumption. A promise solution to this issue is the technique known as offloading. Over the last few years, several offloading support platforms have been proposed. This work has a particular interest in one of those platforms, called CAOS. Despite its success to perform offloading tasks, CAOS still has problems such as low scalability. In this paper, we report on the refactoring of CAOS into a new microservice-based architecture. Performance and scalability evaluations were performed in both monolithic and microservices versions to show the benefits achieved with the new CAOS architecture.
Cloud computing promises high dynamism, flexibility, and elasticity of applications at lower infrastructure costs. However, resource management, portability, and interoperability remain a challenge for cloud application users, since the... more
Cloud computing promises high dynamism, flexibility, and elasticity of applications at lower infrastructure costs. However, resource management, portability, and interoperability remain a challenge for cloud application users, since the current major cloud application providers have not converged to a standard interface, and the deployment supporting tools are highly heterogeneous. Besides, by their very nature, cloud applications bring serious traceability, security and privacy issues. This position paper describes a research thread on an extensible Domain Specific Language (DSL), a platform for the automated deployment , and a generic architecture of an ops application manager for self-adaptive distributed applications on hybrid cloud infrastructures. The idea is to overcome the cited limitations by empowering the cloud applications with self-configuration, self-healing, and self-protection capabilities. Such autonomous governance can be achieved by letting cloud users define their policies concerning security, data protection, dependability and functional compliance behavior using the proposed DSL. Real world trials in different application domains are discussed
Estudos que envolvem Aprendizagem Baseada em Problemas, especificamente na área de Ciência da Computação, necessitam de mais evidências, principalmente no que tange a utilização da aprendizagem de disciplinas da área de engenharia de... more
Estudos que envolvem Aprendizagem Baseada em Problemas, especificamente na área de Ciência da Computação, necessitam de mais evidências, principalmente no que tange a utilização da aprendizagem de disciplinas da área de engenharia de software. Diante deste contexto, este trabalho teve como objetivo um estudo de mapeamento sistemático com a finalidade de identificar os estudos que envolvem a prática de PBL com o ensino da Ciência da Computação. Para tal foi utilizado uma metodologia de buscas realizadas em engenhos automatizados, relevantes na área de Informática e Ciência da Computação. A partir da análise o estudo concluiu que grande parte das aplicações de PBL foram voltadas para o ensino de disciplinas como Programação, Engenharia de Software e Sistemas Operacionais, e a utilização de metodologias híbridas com PBL fazendo o uso de Games, e outras metodologias de apoio a PBL, como também construção de aplicativos e uso de ferramentas e tecnologias.
Cloud services change the economics of computing by enabling users to pay only for the capacity that they actually use. In this context, cloud providers have their own accounting models including their billing mechanisms and pricing... more
Cloud services change the economics of computing by enabling users to pay only for the capacity that they actually use. In this context, cloud providers have their own accounting models including their billing mechanisms and pricing schemes to achieve this efficient pay-as-you-go model. Thus it is important to study this heterogeneity aiming to map out the existing accounting models to become possible new proposals or future standardizations. Therefore, this paper focuses on mapping accounting models for cloud computing, where a mapping study process was undertaken, and a total of 23 primary studies were considered, which evidenced 5 accounting models, 31 different pricing scheme types and 4 primary studies related to SLA (Service-Level Agreement) composition. Although the significant number of studies found address grid computing it was possible to identify one accounting model which was very complete from different points of view for cloud environments.
SILVA, A. F. ; Garcia, Vinicius Cardoso . A Traceability Tool for Mapping Features and Core Assets in Software Product Lines. In: The 12th International Conference on Software Reuse, 2011, Pohang. Proceedings of The 12th International... more
SILVA, A. F. ; Garcia, Vinicius Cardoso . A Traceability Tool for Mapping Features and Core Assets in Software Product Lines. In: The 12th International Conference on Software Reuse, 2011, Pohang. Proceedings of The 12th International Conference on Software Reuse, Tools Demo Session, 2011. Abstract. This article presents a proposal of a CASE tool to keep traceability between features and software artifacts such as requirements, components and others, delivering multiple views in the feature models.
Apesar dos grandes desafios relacionados à privacidade dos dados, a Internet das Coisas (IoT) continua em franca ascensão. Existem inúmeros dispositivos espalhados por vários locais, tais como, casas inteligentes, carros inteligentes,... more
Apesar dos grandes desafios relacionados à privacidade dos dados, a Internet das Coisas (IoT) continua em franca ascensão. Existem inúmeros dispositivos espalhados por vários locais, tais como, casas inteligentes, carros inteligentes, locais públicos, bem como, dispositivos que as pessoas usam em seu corpo, por exemplo, smartwatches. Parte dessas pessoas usam esses dispositivos sem saber das suas reais capacidades e potencialidades. Assim sendo, o problema que permeia esta pesquisa é: não foi identificado na literatura uma solução para privacidade de dados baseada em anonimização que seja adaptável para vários ambientes de uso da IoT. Diante disto, objetivou-se com esta pesquisa a proposição de uma solução que possa recomendar qual o algoritmo de anonimização de dados é mais adequado para um conjunto de dados de acordo com suas características, e que consiga aprender conforme analisa os dados. Para a condução e a execução desta pesquisa foi escolhido como método principal o Design S...
The game process is guided traditionally by the Game Design Document, a document which contains all the necessary info to support the team through the game development process. The Game Design Document contents is insufficient, starting a... more
The game process is guided traditionally by the Game Design Document, a document which contains all the necessary info to support the team through the game development process. The Game Design Document contents is insufficient, starting a conflict between game designers and programmers. This work aims to study the game development process and recommend guidelines to reduce the conflicts between the Design and the Software development phases.
The technological development in recent years has experienced the exponentially growth of the digital universe, part of this digital universe lies stored in cloud storage systems. With each day, more of these systems come out, offering... more
The technological development in recent years has experienced the exponentially growth of the digital universe, part of this digital universe lies stored in cloud storage systems. With each day, more of these systems come out, offering data storage in a distributed manner with the proposal to provide high availability rate, what has driven more and more users who have migrated your data to the cloud. However, the large amount of files stored in these systems makes it difficult to filter relevant content, requiring time and labor by the user in searching for files with similar content to your preferences. Face of this scenario, this study proposes a model for recommendation of files in cloud storage systems, which aims to use cloud features associated with the technique of content-based recommendation.
RESUMO Continuous integration and continuous delivery are not new for developers who create web applications, however in the development of mobile applications this practice is still not very common mainly because of the challenges during... more
RESUMO Continuous integration and continuous delivery are not new for developers who create web applications, however in the development of mobile applications this practice is still not very common mainly because of the challenges during the process of distributing the application. In the face of the growing number of applications, a greater requirement for quality and ever-shorter delivery times, delivering a healthy code is often extremely important to keep up with the competition. The purpose of this work is to implement an integration and continuous delivery pipeline for mobile applications developed in React Native. It intends to automate the process of build and delivery of applications developed with this technology.
Cloud Computing emerges from the global economic crisis as an option to use computing resources from a more rational point of view. In other words, a cheaper way to have IT resources. However, issues as security and privacy, SLA (Service... more
Cloud Computing emerges from the global economic crisis as an option to use computing resources from a more rational point of view. In other words, a cheaper way to have IT resources. However, issues as security and privacy, SLA (Service Layer Agreement), resource sharing, and billing has left open questions about the real gains of that model. This study aims to investigate state-of-the-art in Cloud Computing, identify gaps, challenges, synthesize available evidences both its use and development, and provides relevant information, clarifying open questions and common discussed issues about that model through literature. The good practices of systematic map- ping study methodology were adopted in order to reach those objectives. Al- though Cloud Computing is based on a business model with over 50 years of existence, evidences found in this study indicate that Cloud Computing still presents limitations that prevent the full use of the proposal on-demand.
Research Interests:
Abstract. Software maintenance tasks are the most expensive activities on legacy systems life cycle, and system understanding is the most important factor of this cost. Thus, in order to aid legacy knowledge retrieval and reuse, this... more
Abstract. Software maintenance tasks are the most expensive activities on legacy systems life cycle, and system understanding is the most important factor of this cost. Thus, in order to aid legacy knowledge retrieval and reuse, this paper presents LIFT: a Legacy InFormation retrieval Tool, discussing since its initial requirements until its preliminary experience in industrial projects.
Resumo Software como serviço (SaaS) representa um novo paradigma e um modelo de negócios onde as empresas não precisam comprar e manter sua própria infraestrutura de TI. Ao invés disso, elas adquirem um serviço de software de terceiros,... more
Resumo Software como serviço (SaaS) representa um novo paradigma e um modelo de negócios onde as empresas não precisam comprar e manter sua própria infraestrutura de TI. Ao invés disso, elas adquirem um serviço de software de terceiros, obtendo assim consideráveis benefícios, principalmente no que tange a redução de custos de manutenção dessa infraestrutura. O objetivo desse minicurso é apresentar os principais conceitos relacionados à arquitetura multi-tenancy, uma das abordagem para implementação de ...
Research Interests:
Search all the public and authenticated articles in CiteULike. Include unauthenticated results too (may include "spam") Enter a search phrase. You can also specify a CiteULike article id (123456),. a DOI (doi:10.1234/12345678).... more
Search all the public and authenticated articles in CiteULike. Include unauthenticated results too (may include "spam") Enter a search phrase. You can also specify a CiteULike article id (123456),. a DOI (doi:10.1234/12345678). or a PubMed ID (pmid:12345678). Click Help for advanced usage. CiteULike, Group: RiSE, Search, Register, Log in, ...
Search all the public and authenticated articles in CiteULike. Include unauthenticated results too (may include "spam") Enter a search phrase. You can also specify a CiteULike article id (123456),. a DOI (doi:10.1234/12345678).... more
Search all the public and authenticated articles in CiteULike. Include unauthenticated results too (may include "spam") Enter a search phrase. You can also specify a CiteULike article id (123456),. a DOI (doi:10.1234/12345678). or a PubMed ID (pmid:12345678). Click Help for advanced usage. CiteULike, Group: RiSE, Search, Register, Log in, ...
Search all the public and authenticated articles in CiteULike. Include unauthenticated results too (may include "spam") Enter a search phrase. You can also specify a CiteULike article id (123456),. a DOI (doi:10.1234/12345678).... more
Search all the public and authenticated articles in CiteULike. Include unauthenticated results too (may include "spam") Enter a search phrase. You can also specify a CiteULike article id (123456),. a DOI (doi:10.1234/12345678). or a PubMed ID (pmid:12345678). Click Help for advanced usage. CiteULike, Group: RiSE, Search, Register, Log in, ...
Resumo Existe uma quantidade considerável de conhecimento sendo criado em novas pesquisas e metodologias relacionadas a problemas na área de atenção primária à saúde e existe uma constante necessidade de atualizar o conhecimento dos... more
Resumo Existe uma quantidade considerável de conhecimento sendo criado em novas pesquisas e metodologias relacionadas a problemas na área de atenção primária à saúde e existe uma constante necessidade de atualizar o conhecimento dos profissionais com conhecimentos que permitam enfrentar as diversidades e adversidades do processo de saúde em sua rotina diária. A abordagem semântica com o uso de ontologia é uma proposta para representar o conhecimento. As ontologias tornaram-se uma maneira ...
Resumo Este artigo apresenta uma abordagem para auxiliar na migraçao de código orientado a objetos, escrito em Java, para uma combinaçao de objetos e aspectos usando AspectJ. A abordagem se apóia no uso de mineraçao de aspectos, de forma... more
Resumo Este artigo apresenta uma abordagem para auxiliar na migraçao de código orientado a objetos, escrito em Java, para uma combinaçao de objetos e aspectos usando AspectJ. A abordagem se apóia no uso de mineraçao de aspectos, de forma a identificar possıveis interesses multi-dimensionais a serem implementados como aspectos. Os interesses, previamente identificados, sao extraıdos do código orientado a objetos por meio de refactorings e encapsulados em aspectos para obter o novo código orientado a ...
Search all the public and authenticated articles in CiteULike. Include unauthenticated results too (may include "spam") Enter a search phrase. You can also specify a CiteULike article id (123456),. a DOI (doi:10.1234/12345678).... more
Search all the public and authenticated articles in CiteULike. Include unauthenticated results too (may include "spam") Enter a search phrase. You can also specify a CiteULike article id (123456),. a DOI (doi:10.1234/12345678). or a PubMed ID (pmid:12345678). Click Help for advanced usage. CiteULike, Group: RiSE, Search, Register, Log in, ...
Abstract. The software reuse initiatives are better implemented when there is an efficient way to find the reusable assets. However, the search and retrieval of such information is considered a big deal in literature, once there is a gap... more
Abstract. The software reuse initiatives are better implemented when there is an efficient way to find the reusable assets. However, the search and retrieval of such information is considered a big deal in literature, once there is a gap between what the software engineer would like to retrieve and what is stored in the repository. Thus, this paper presents an efficient way to reduce this problem and aids search engines applying data mining techniques on log mechanism to extract knowledge about the historic data. In order to ...
Search all the public and authenticated articles in CiteULike. Include unauthenticated results too (may include "spam") Enter a search phrase. You can also specify a CiteULike article id (123456),. a DOI (doi:10.1234/12345678).... more
Search all the public and authenticated articles in CiteULike. Include unauthenticated results too (may include "spam") Enter a search phrase. You can also specify a CiteULike article id (123456),. a DOI (doi:10.1234/12345678). or a PubMed ID (pmid:12345678). Click Help for advanced usage. CiteULike, Group: RiSE, Search, Register, Log in, ...

And 152 more

Como aumentar a produtividade da sua empresa?
A lot of organizations are planning to invest, or have already invested, money, time and resources in software reuse. Through this investment, these organizations expect to improve their competitiveness before their competitors, and time... more
A lot of organizations are planning to invest, or have already invested, money, time and resources in software reuse. Through this investment, these organizations expect to improve their competitiveness before their competitors, and time to market through reduction of costs and effort. Another goal is to increase their productivity in the software development process and, consequently, improve the quality and reliability of the software products developed. For those organizations, the first step towards improvements in the product quality, reliability and in time to market is to investigate and quantify the relationships between the level of software reuse practice in the organization and the use and management of effective plans, in terms of effort with reuse. To be effective, software reuse should be conducted as an activity integrated to the development process as a whole, supported, in a flexible way, by methods, techniques and appropriate tools. As can shown by the works discussed here, software reuse is an easy subject to understand, however challenging to institutionalize. That institutionalization can elapse in a less complicated way through a reuse adoption model. In this context, this talk presents a roadmap on software reuse adoption models, discussing some works that comprise many issues related to software reuse adoption, in an industrial environment, covered by research and industry since 80's until today. A set of requirements is presented, integrating the features that can be found in the main works of the area, serving as a basis toward an effective framework for incremental software reuse adoption.
Summary - Motivation - A Brief survey on Software reuse - RiSE Project: Towards a Robust Framework for Software reuse - The reuse processes - The Software reuse environment - The Component certification process - The Repository System -... more
Summary
- Motivation
- A Brief survey on Software reuse
- RiSE Project: Towards a Robust Framework for Software reuse
- The reuse processes
- The Software reuse environment
- The Component certification process
- The Repository System
- Software Engineering Environment
- Software Reuse Environment
- Research directions