III Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software
Sumário
Palestras
Palestra 1 - Len Bass: Exploring the Architecture of Ultra Large Scale systems
Abstract: An Ultra Large System is a system with no central control and composed of multiple interacting components solving a variety of different problems. Canonical examples are the internet or the US Electric grid. This talk will explore some of the characteristics of the architecture of such systems. We explore the architectural characteristics by examining the governance, the characteristics of Ultra Large Scale Systems, and systems that have some of the characteristics of Ultra Large Scale Systems
Len Bass is a Senior Member of the Technical Staff at the Software Engineering Institute (SEI). He has written two award winning books in software architecture as well as several other books and numerous papers in a wide variety of areas of computer science and software engineering. He has been a keynote speaker or a distinguished lecturer on six continents. He is currently working on techniques for the methodical design of software architectures, to understand how to support usability through software architecture, and to understand the relationship between software architecture and global software development practices. He has been involved in the development of numerous different production or research software systems ranging from operating systems to database management systems to automotive systems.
Palestra 2 - Jaejoon Lee: Service-Oriented Product Lines: Concepts, Practice, and Beyond
The service orientation (SO) is a relatively new paradigm for software development: systems are no longer developed, integrated, and released in a centrally synchronized way, but services are developed and deployed independently and separately in a networked environment. This is a promising candidate for supporting continuously changing user needs and expectations, as more and more software systems are connected to the Internet. That is, their evolution could be supported and accelerated by dynamically adding and integrating services through the Internet. Adopting SO in practice for developing reusable core assets of a product line, however, has uncovered several challenging issues, such as how to identify services, determining configurations of services that are relevant to users’ current context, and maintaining system integrity after configuration changes.
In this talk, I will first introduce some related and relevant concepts in the literature and explain a method that was proposed to addresses those challenges by adapting a feature-oriented product line engineering approach. The proposed method is the novel fusion of the two research themes of services and software product line engineering. The method is based on the feature analysis technique that enables us to identify service features of a product line and organize them into a model called a feature model. The method is notable in that it guides developers to identify services at the right level of granularity, to map users’ context to relevant service configuration, and to maintain system integrity in terms of invariants and pre/post conditions of services.
Dr. Jaejoon Lee is a Lecturer in the Computing Department from January 2008. Before coming to Lancaster, he worked as a scientist and project manager at Fraunhofer Institute for Experimental Software Engineering (IESE) in Kaiserslautern, Germany, from October 2005 to December 2007. He also worked as an associate researcher at the R&D Centre of LG Electronics in South Korea, from July 1993 to February 2000. He holds a Ph.D. in Computer Science and Engineering, an MS in Computer and Communications Engineering, both from POSTECH in South Korea, and a BS in Mathematics from Sogang University in South Korea.
Minicursos
Minicurso 1 - Leonardo Murta - Repositórios de Componentes nas Perspectivas de Gerência de Configuração de Software e Reutilização de Software
Repositórios de componentes são tratados de formas distintas por campos distintos da Engenharia de Software. Sob a perspectiva de Gerência de Configuração, esses repositórios visam manter a consistência do produto durante o desenvolvimento e manutenção, tendo foco principal em controle de versões (e.g. Subversion). Por outro lado, sob a perspectiva de Reutilização, esses repositórios visam servir como local para publicação, busca e recuperação de versões de produção de componentes (e.g. ComponentSource). Neste mini-curso detalharemos a diferença entre esses dois tipos de repositórios e discutiremos as características e estruturas internas de cada um deles.
Leonardo Gresta Paulino Murta
é doutor (2006) e mestre
(2002) em
Engenharia de Sistemas e Computação pela COPPE/UFRJ, e
bacharel (1999)
em Informática pelo IM/UFRJ. Atualmente é professor do
Instituto de
Computação da
Universidade Federal Fluminense (UFF) e pesquisador nível 2 do
CNPq.
Seus principais campos de
atuação são Gerência de
Configuração de Software e Reutilização de
Software, tendo diversas publicações nesses temas e
prestado
consultorias e treinamentos a organizações na
implementação de ambos
processos. Maiores detalhes podem ser obtidos em
http://lattes.cnpq.br/
Minicurso 2 - RiPLE : The RiSE Process for Product Line Engineering
Software Product Lines (SPL) is an important and effective way to obtain the benefits related to software reuse such as quality improvement, cost reduction, and improvements in time-to-market. However, in order to be effective and introduced in a company several issues should be considered such as tools, training, top management commitment, and, specially, a well defined process. In this tutorial, we will present the main ideas involving SPL and an initial process which involves activities related to scoping, requirements engineering, design, implementation, testing, and evolution.
Eduardo Santana de Almeida possui graduação em Ciência da Computação pela Universidade Salvador (2000), mestrado em Ciência da Computação pela Universidade Federal de São Carlos (2003), doutorado pela Universidade Federal de Pernambuco (2007) com período sanduiche na University of Mannheim e Pós Doutorado no Virginia Tech (2008), Software Reuse Lab, em cooperação com o professor Dr. Bill Frakes. Atualmente é pesquisador e professor do Centro de Estudos e Sistemas Avançados do Recife (C.E.S.A.R) e cientista do Reuse in Software Engineering (RiSE), desenvolvendo pesquisa aplicada na área de Reutilização de Software envolvendo diversos aspectos como métodos, processos, métricas e ferramentas. É autor de mais de 90 artigos científicos e membro da Sociedade Brasileira de Computação (SBC), IEEE Computer Society, Association for Computing Machinery (ACM) e membro do comitê gestor do Instituto Nacional de Ciência e Tecnologia para Engenharia de Software (INES).
Sílvio Romero de Lemos Meira possui doutorado em Computação pela University of Kent at Canterbury (1985). Atualmente é professor titular da Universidade Federal de Pernambuco. Sua vasta experiência pode ser demonstrada pelos mais de 200 artigos publicados em periódicos especializados e conferências e mais de 80 orientações de mestrado e doutorado. Foi pesquisador do CNPq por mais de 15 anos, concebeu e coordenou o programa temático multi-institucional em ciência da computação (protem-cc) do CNPq, criou e coordenou o programa de doutoramento em ciência da computação da Universidade Federal de Pernambuco; criou recentemente o Instituto Nacional de Ciência e Tecnologia para Engenharia de Software (INES); foi assessor da secretaria de política de informática do Ministério da Ciência e Tecnologia; foi membro do primeiro comitê gestor da Internet/br e presidente da Sociedade Brasileira de Computação; foi consultor do Banco Mundial e do Programa das Nações Unidas para o Desenvolvimento; recebeu, da Presidência da República, as comendas da Ordem Nacional do Mérito Científico (1999) e da Ordem de Rio Branco (2001); do Governo de Pernambuco o Grau Comendador do Quadro de Graduados Especiais da Ordem do Mérito dos Guararapes; já foi considerado, pela revista Info Exame, uma das cem pessoas mais importantes das tecnologias da informação no Brasil. Vem atuando na área da Computação, com ênfase em Engenharia de Software, trabalhando com uma vasta gama de temas: software reuse, web information systems, component-based software development, floss-D, social networks and their applications, software systems performance e métricas e qualidade em engenharia de software. Além disso, o mesmo coordenou e coordena vários projetos financiados que também demonstram sua capacidade de atração de recursos. Além da atuação acadêmica, o Prof. Silvio Meira possui uma forte atuação na indústria, garantindo não apenas a transferência de conhecimentos da academia para a indústria, mas também a atuação em conjunto destes em projetos de inovação, pesquisa e desenvolvimento.
Demais participantes do minicurso 2:
Danuza Ferreira Santana Neiva: possui graduação em Ciência da Computação pela Universidade Federal da Bahia (2005). Mestre em Ciência da Computação pela Universidade Federal de Pernambuco (2009), analista de tecnologia da informação da Empresa de Tecnologia e Informações da Previdência Social (DATAPREV), e pesquisadora do Reuse in Software Engineering (RiSE), desenvolvendo pesquisa aplicada na área de Reutilização de Software.
Ivan do Carmo Machado: Graduado em Análise de Sistemas pela Universidade do Estado da Bahia, UNEB (2007). Tem experiência na área de Engenharia de Software, Gestão de Pessoas e Gerenciamento de Projetos. Participou do Programa de Residência em Software da Universidade Federal de Pernambuco (2007), desenvolvido pelo CIn/UFPE com o apoio da Motorola, na área de Testes de Software Embarcado e Aplicações em Telefonia Móvel. Atualmente é mestrando em Ciência da Computação pelo Centro de Informática da Universidade
Federal de Pernambuco, e pesquisador do Reuse in Software Engineering (RiSE), com pesquisa ligada a área de Linha de Produtos de Software e Testes. É também membro da Sociedade Brasileira de Computação (SBC).
Luanna Lopes Lobato: possui graduação em Ciência da Computação pela Faculdades Integradas de Caratinga, MG (2004) e mestrado em Ciência da Computação, área Sistemas Distribuídos e Redes de Computadores, pela Universidade Federal de São Carlos, SP (2007).
Atualmente é estudante de doutorado pela Universidade Federal de Pernambuco (com data prevista para 2011), área Engenharia de Software, sob orientação do Prof. Dr. Sílvio Romero de Lemos Meira e co-orientação Dr. Eduardo Santana de Almeida, desenvolvendo pesquisa na área de Gerenciamento de Riscos em Linha de Produto de Software, apoiado pelo Reuse in Software Engineering (RiSE).
Marcela Balbino Santos de Moraes: possui graduação em Ciência da Computação pela Universidade Federal da Paraíba (2007), é aluna de mestrado em Ciência da Computação pela Universidade Federal de Pernambuco com início em (2008). Atualmente é pesquisador e membro do Reuse in
Software Engineering (RiSE) Labs, desenvolvendo pesquisa aplicada na área de Reutilização de Software, especificamente em Linhas de Produto de Software. É também membro colaborador do Instituto Nacional de Ciência e Tecnologia para Engenharia
de Software (INES).
Thiago Henrique Burgos de Oliveira: possui graduação em Ciência da Computação pela Universidade Católica de Pernambuco (2006), e mestre em Ciência da Computação pela Universidade Federal de Pernambuco (2009), com período sanduíche no instituo Fraunhofer IESE (2008). Atualmente é engenheiro de sistemas do Centro de Estudos e Sistemas Avançados do Recife (C.E.S.A.R), tendo como especialidade as atividades de gerência de configuração,
e também cientista do Reuse in Software Engineering (RiSE), desenvolvendo pesquisa aplicada na área de gerenciamento da evolução em linhas de produto de software.
Vanilson André de Arruda Burégio: Possui graduação (2003) e mestrado (2006) em Ciência da Computação pela Universidade Federal de Pernambuco. Atualmente é doutorando em Ciência da Computação também na UFPE e professor de disciplinas do curso superior de análise e
desenvolvimento de sistemas da UNIBRATEC e do curso de pós-graduação em banco de dados da AESO. É membro do Reuse in Software Engineering (RiSE) e desenvolve pesquisa aplicada na área de Reutilização de Software envolvendo diversos
aspectos como ambientes e ferramentas para reuso, arquitetura de software e linhas de produto. Vanilson Burégio trabalhou no Centro de Estudos e Sistemas Avançados do Recife (C.E.S.A.R.) como Engenheiro de Sistemas e Arquiteto de Software entre 2001 e 2006 e é programador Java e desenvolvedor de componentes Web certificado pela Sun (Sun Java Certified Programmer e Sun Java Certified Web Component Developer).