ECOSSISTEMAS DE SOFTWARE

Propaganda
ECOSSISTEMAS
DE
SOFTWARE
Alunos: Felyppe Rodrigues da Silva (Mestrado)
Gabriella Castro Barbosa Costa (Doutorado)
Professor: Toacy Cavalcante de Oliveira
Disciplina: Reutilização de Software
AGENDA
1. Introdução
2. Motivação
3. Ecossistemas de Software x Ecossistemas Naturais
4. Tipos de Ecossistemas
5. Exemplos
6. Modelos
7. Vantagens
8. Desvantagens e Dificuldades
9. Principais Conferências / Periódicos
10. Principais Pesquisadores
11. Possíveis Extensões
12. Referências Bibliográficas
2
1. INTRODUÇÃO

Terminologia:

Software Ecosystems (Ecossistemas de Software – ECOSs)

Digital (Business) Ecosystem / D(B)E

SECO (Software Ecosystem)

Mobile Learning Ecosystems (MLES) / Mobile Ecosystem

FOSS Ecosystem / Open Ecosystem
3
BARBOSA et al., 2013
1. INTRODUÇÃO


Por mais esperta, criativa e inovadora que uma
organização de software possa ser, existem mais pessoas
mais espertas, criativas e inovadores fora desta
organização, do que dentro dela.
SANTOS, 2013
A essência do conceito de ECOSs encoraja um conjunto de
desenvolvedores externos a utilizarem uma plataforma de
software pertencente a um grupo de organizações, e a
contribuírem para o desenvolvimento do produto.
CAMPBELL et al., 2010

Software Ecosystem: A set of actors functioning as a unit
and interacting with a shared market for software and
services, together with the relationships among them.
JANSEN, 2009
4
1. INTRODUÇÃO

Evolução da pesquisa em Ecossistemas de Software
5
BARBOSA e ALVES, 2011
1. INTRODUÇÃO

Evolução da pesquisa em Ecossistemas de Software
6
MESSERSCHMITT e SZYPERSKI, 2003
1. INTRODUÇÃO

Evolução da pesquisa em Ecossistemas de Software
MANIKAS e HANSEN, 2013
7
1. INTRODUÇÃO
8
Figura 1: Trajetória da Reutilização de Software em “4 gerações” SANTOS, 2013
1. INTRODUÇÃO
4ª Geração: Sistemas Baseados em ECOSs

LPS dentro de uma organização:



Com a evolução de seu escopo, as suas fronteiras
começam a se expandir naturalmente, ou pelo menos
serem reavaliadas
Estratégias de inovação aberta passam a ser
fundamentais para a sua sobrevivência
A plataforma de uma organização pode estar
disponível para partes externas a esta e, uma vez que
ela decide abrir a sua fronteira, ocorre a transição de
LPS para ECOS
9
GOLDMAN e GABRIEL, 2005
2. MOTIVAÇÃO

Razões para uma organização se mover em
direção à abordagem de ECOS:
1.
2.
Percepção de que a quantidade de funcionalidades
que a empresa precisa desenvolver para satisfazer
as necessidades dos clientes é muito maior do que
ela pode construir
A tendência à customização em massa direciona a
demanda por investimento em P&D para aplicações
de software de sucesso, de modo que estender o
produto com o apoio de atores externos à
organização parece ser um mecanismo efetivo
10
BOSCH, 2009
3. ECOSSISTEMAS DE SOFTWARE X ECOSSISTEMAS NATURAIS
Ecossistemas
de Negócios
Ecossistemas
Naturais
Ecossistemas
de
Software
11
3. ECOSSISTEMAS DE SOFTWARE X ECOSSISTEMAS NATURAIS
 Ecossistema
de Software Sustentável

Pode aumentar ou manter sua comunidade de
usuários / desenvolvedores durante longos
períodos de tempo

Pode sobreviver a mudanças, tais como novas
tecnologias ou novos produtos que podem
alterar a população
12
DHUNGANA et al., 2010
3. ECOSSISTEMAS DE SOFTWARE X ECOSSISTEMAS NATURAIS
 Recursos
Finitos

Ecossistemas Naturais: recursos críticos como
energia (alimentos), sais minerais (nutrientes),
ou água são implicitamente geridos pelas leis
da natureza

Ecossistemas de Software: os recursos críticos
são a arquitetura da plataforma, o código,
tempo, dinheiro, usuários, desenvolvedores etc.
Marcos regulatórios são necessários para a
gestão adequada desses recursos
13
DHUNGANA et al., 2010
3. ECOSSISTEMAS DE SOFTWARE X ECOSSISTEMAS NATURAIS
 População

Ecossistemas Naturais: é controlada pelo
incentivo para as pessoas para entrar ou sair
dos ecossistemas naturais

Ecossistemas de Software: incentivo para que
os usuários possam comprar / usar / estender
produtos do ecossistema de software
14
DHUNGANA et al., 2010
3. ECOSSISTEMAS DE SOFTWARE X ECOSSISTEMAS NATURAIS
 Interação
entre os Participantes

Competição

Simbiose / Colaboração
15
DHUNGANA et al., 2010
3. ECOSSISTEMAS DE SOFTWARE X ECOSSISTEMAS NATURAIS
 Transferência
de Energia

Ecossistemas Naturais: cadeias alimentares

Ecossistemas de Software: transferência e
tradução de conhecimento entre os diferentes
participantes dos ecossistemas de software
16
DHUNGANA et al., 2010
3. ECOSSISTEMAS DE SOFTWARE X ECOSSISTEMAS NATURAIS
 Adaptação
dos Indivíduos

Ecossistemas
Naturais:
adaptação
dos
indivíduos às mudanças em ecossistemas
naturais

Ecossistemas de Software: resposta das partes
interessadas para aceitar, rejeitar, ou
"aprender a gostar" de produtos de software
em um ecossistema de software
17
DHUNGANA et al., 2010
3. ECOSSISTEMAS DE SOFTWARE X ECOSSISTEMAS NATURAIS
18
DHUNGANA et al., 2010
4. TIPOS DE ECOSSISTEMAS
E
as interseções ?
Ecossistemas de
Negócios
?
Ecossistemas
Naturais
Ecossistemas
de
Software
19
4. TIPOS DE ECOSSISTEMAS
 Ecossistemas


Sociais
Pessoas se relacionando sem fins lucrativos
Nenhum produto é gerado, há apenas troca de
informações
20
4. TIPOS DE ECOSSISTEMAS
 Ecossistemas


de Negócios
Empresas que dependem de terceiros para
gerar seus produtos
Está diretamente relacionado com linha de
produto
21
4. TIPOS DE ECOSSISTEMAS
 Ecossistemas

de Software
Interação dos membros do ecossistema para
gerar um produto de software
22
4. TIPOS DE ECOSSISTEMAS
E
as interseções?

Ocorre quando um determinado tipo de
ecossistema assume uma abordagem que o faz
interagir com os demais

Exemplo

A Dell (Ecossistema de Negócios), quando lançou uma
enquete aos seus clientes perguntando sobre
melhorias em seus equipamentos, adotou uma
abordagem de Ecossistema Social
23
5. EXEMPLOS
 Ecossistema
SPB
24
http://www.softwarepublico.gov.br/5cqualibr/xowiki/Ecossistema
5. EXEMPLOS
 Ecossistema
SPB
25
http://www.softwarepublico.gov.br/5cqualibr/xowiki/Ecossistema
5. EXEMPLOS
 Ecossistema
SAP
26
http://www.softwarepublico.gov.br/5cqualibr/xowiki/Ecossistema
5. EXEMPLOS
 Ecossitema
Android

Interdependência entre usuários, desenvolvedores
e fabricantes de equipamentos

Um não pode existir sem o outro

Os usuários compram dispositivos e aplicações

Fabricantes de equipamentos vendem dispositivos, às
vezes junto com aplicações

Desenvolvedores compram dispositivos, em seguida,
fazem/ vendem aplicativos.
27
5. EXEMPLOS
 Eclipse

Não é apenas uma das principais IDEs Java

É considerado como um ecossistema composto
por vários projetos de diversas características

Em meados de 1998 a IBM investiu na criação
de um ambiente de desenvolvimento que fosse
eficiente para trabalhar com servlets e
desenvolveu o Websphere Studio

Evoluiu e em 2001 se tornou a base para o
lançamento da primeira versão do Eclipse.
28
http://www.yaw.com.br/artigos/view/eclipse-o-ecosistema-por-tras-do-ide/
5. EXEMPLOS
 Eclipse

A IBM abriu e doou o código do projeto para a
comunidade de fornecedores de ferramentas de
software

Foi formado um consórcio de empresas (IBM,
Borland, SuSe e outras) para controlar a
evolução do Eclipse e a ferramenta começou a
evoluir rapidamente

Em 2004, com objetivo de criar uma corporação
sem fins lucrativos e aumentar a participação
de parceiros e fornecedores de extensões, foi
criada a Eclipse Foundation
29
http://www.yaw.com.br/artigos/view/eclipse-o-ecosistema-por-tras-do-ide/
5. EXEMPLOS
 Eclipse

O ecossistema Eclipse é formado por mais 250 projetos.
EMF: é um framework de modelagem e geração de código
que permite a construção e integração de outras aplicações
baseados em um modelo de dados
 AJDT: conjunto de ferramentas para desenvolvimento com
AspectJ
 WTP:
plataforma composta por funcionalidades e
ferramentas para o desenvolvimento Web
 MotoDEV: adaptação sobre a plataforma Eclipse feita pela
Motorola para desenvolvimento Mobile, que hoje é chamada
Eclipse Mobile

30
http://www.yaw.com.br/artigos/view/eclipse-o-ecosistema-por-tras-do-ide/
5. EXEMPLOS
31
MANIKAS e HANSEN, 2013
6. MODELOS

Relembrando os slides anteriores, JANSEN et al.,
2009 definiu um Ecossistema de Software da
seguinte maneira:
“Um grupo de atores funcionando como uma
unidade e interagindo com um mercado
compartilhado para software e serviços, em
conjunto com a relação que os regem”.

Adotaremos esta definição daqui por diante em
virtude das notações que serão introduzidas.
32
6. MODELOS

a) Software Supply
relacionamentos.
Network
(SSN):

b) SECO: SSNs e seus relacionamentos.

c) SECOs: SECOs e seus relacionamentos.
Atores
e
seus
33
BOUCHARAS et al., 2009
6. MODELOS

Atualmente não existe uma modelagem formal e
padrão para SECOs, em virtude disso nos
deparamos muitas vezes com META-MODELOS
pouco intuitivos e divergentes.
34
6. MODELOS
35
PETTERSSON et al., 2010
6. MODELOS
36
SANTOS, 2013
6. MODELOS

BOUCHARAS et al., 2009 propõe duas formas de
modelagem distintas para SECOs a fim de criar
uma padronização que seja ao mesmo tempo útil
e simples. Uma das formas se baseia na menor
porção de camada do SECO e outra no produto
pelo qual o SECO existe:

Product Deployment Context (PDC): O ponto de
interesse do SECO (motivo pelo qual o SECO existe).

Software Supply Network (SSN): A camada mais
interna do SECO (atores e seus relacionamentos).
37
6. MODELOS

Product Deployment Context (PDC)

Nomenclatura
38
BOUCHARAS et al., 2009
6. MODELOS

Product Deployment Context (PDC)

Exemplo
39
BOUCHARAS et al., 2009
6. MODELOS

Software Supply Network (SSN)

Nomenclatura
40
BOUCHARAS et al., 2009
6. MODELOS

Software Supply Network (SSN)

Nomenclatura
41
BOUCHARAS et al., 2009
6. MODELOS

Software Supply Network (SSN)

Exemplo
BOUCHARAS et al., 2009
42
6. MODELOS
43
BOUCHARAS et al., 2009
7. VANTAGENS

Aumentar o valor da oferta do núcleo da LPS para usuários

Gerar atratividade em novos usuários

Aumentar a rigidez da plataforma, ou seja, tornar mais
difícil a mudança de plataforma

Acelerar a produção através da inovação aberta

Reduzir o custo total despendido pelo proprietário da
plataforma do ECOS por “comoditizar” funcionalidade ao
compartilhar a sua manutenção com parceiros no ECOS

Aumentar
o
valor
agregado
à
plataforma,
necessidade de gastos com desenvolvedores
sem
a
44
8. DESVANTAGENS E DIFICULDADES



Falta de uma modelagem padrão para SECOs
Grande parte das modelagens existentes
sãomuito informais, pouco intuitivas e não
oferecem muitos recursos para modelar toda a
complexidade existente em ECOS
Falta de uma ferramenta para a construção dos
modelos existentes
45
9. PRINCIPAIS CONFERÊNCIAS

ICSR - International Conference on Software Reuse

O ICSR é a conferência pioneira em sua área, teve início
em 1990 quando ainda atendia pelo nome de IWSR
(International Workshop on Software Reuse) vindo a
mudar para o nome atual em 1994 na edição que aconteceu
na cidade do Rio de Janeiro.

Durante a história da conferência, alguns artigos sobre
ecossistemas de software passaram por ela, no entanto, o
foco da conferência não é exclusivamente este. A
conferência se propõe a experimentar novas tecnologias e
ideias inovadoras na área de reutilização de software.

Este ano a conferência acontecerá em Pisa na Itália entre
18 e 21 de Junho e a submissão de artigos já foi encerrada.

Mais informações: http://softeng.polito.it/ICSR13/
46
9. PRINCIPAIS CONFERÊNCIAS

IWSECO - International Workshop on Software Ecosystems

O IWSECO está este ano em sua quinta edição e será realizado
Postdam na Alemanha. Teve início em setembro de 2009 na
Virgnínia (USA) e depois disso todas as suas edições aconteceram
na Europa.

O IWSECO apesar de nascer com base no ICSR, possui uma linha
de pesquisa mais didática, voltada para o entendimento da
realidade sobre ecossistemas de software. Alguns dos tópicos
comumente abordados na conferência são: Modelagem de SECOs,
Práticas importantes em SECOs, Experiências de mercado em
SECOs, Modelos de negócios, Criação de SECOs, Impactos
econômicos com base em SECOs, dentre outros.

Este ano a conferência acontecerá no dia 11 de Junho e a
submissão de artigos já foi encerrada.

Mais informações: http://iwseco.org/
47
9. PRINCIPAIS CONFERÊNCIAS

ICSOB - International Conferênce on Software Business

O ICSOB está este ano em sua quarta edição e apesar de
tratar também de ecossistemas de software, seu foco é
primordialmente em melhoria de técnicas de negócios com o
auxílio de softwares.

Este ano a conferência acontecerá em conjunto com o IWSECO
em Postdam na Alemanhã entre os dias 11 e 14 de Junho e a
submissão de artigos também já foi encerrada.

Mais informações: http://www.icsob.org/
48
9. PRINCIPAIS CONFERÊNCIAS

International
EcoSystems
Conference
on
Management
of
Emergent

International Conference on Digital Ecosystem Technologies

Software Product Line Conference

International Conference on Software Engineering

International Conference on Global Software Engineering

Workshop de Desenvolvimento Distribuído de Software

Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização

Simpósio Brasileiro de Engenharia de Software
Digital
PERIÓDICOS

Journal of Systems and Software

Information and Software Technology

IEEE Software Engineering Journal
49
10. PRINCIPAIS PESQUISADORES
50
10. PRINCIPAIS PESQUISADORES
51
10. PRINCIPAIS PESQUISADORES
52
10. PRINCIPAIS PESQUISADORES
53
10. PRINCIPAIS PESQUISADORES
54
10. PRINCIPAIS PESQUISADORES
55
11. POSSÍVEIS EXTENSÕES

Análise dos modelos propostos existentes e
definição de um modelo a ser usado para
especificação um determinado ecossistema.
56
12. REFERÊNCIAS BIBLIOGRÁFICAS





BARBOSA, O., SANTOS, R.P., ALVES, C., WERNER, C., JANSEN, S., 2013, “A
Systematic Mapping Study on Software Ecosystems through a Threedimensional
Perspective”. In: JANSEN, S., CUSUMANO, M. & BRINKKEMPER, S. (eds.),
Software Ecosystems: Analyzing and Managing Business Networks in the Software
Industry, pp. 59-81. Cheltenham, UK, and Northampton, MA, USA, Edward Elgar
Publishing.
BOSCH, J., 2009, “From Software Product Lines to Software Ecosystem”, In:
Proceedings of 13th International Software Product Line Conference, pp. 1-10, San
Francisco, CA, USA, August.
BOUCHARAS, V., JANSEN, S., BRINKKEMPER, S., 2009, “Formalizing
Software Ecosystem Modeling”, In: Proceedings of the 1st International Workshop
on Open Component Ecosystems, ACM SIGSOFT Symposium on the Foundations
of Software Engineering, pp. 41-50, Amsterdam, The Netherlands, August.
CAMPBELL, P.R.J., AHMED, F., BOSCH, J. & JANSEN, S., 2010, “2nd
International Workshop on Software Ecosystems (EcoSys)”, In: Proceedings of the
Fourth European Conference on Software Architecture, 2nd International
Workshop on Software Ecosystems, pp. 63-64, Copenhagen, Denmark, August.
DHUNGANA, D., GROHER, I., SCHLUDERMANN, E., BIFFL, S., 2010,
“Software Ecosystems vs. Natural Ecosystems: Learning from the Ingenious Mind
of Nature”, In: Proceedings of the 4th European Conference on Software
Architecture, 2nd International Workshop on Software Ecosystems, pp. 96-102, 57
Copenhagen, Denmark, August.
12. REFERÊNCIAS BIBLIOGRÁFICAS






GOLDMAN, R., GABRIEL, R.P., 2005, Innovation Happens Elsewhere.
Morgan Kaufmann.
JANSEN, S., FINKELSTEIN A., BRINKKEMPER, S., 2007, “Providing
transparency in the business of software: A modelling technique for software
supply networks”. In Proceedings of the 8th IFIP Working Conference on Virtual
Enterprises, pages 677-686.
JANSEN, S., FINKELSTEIN, A., BRINKKEMPER, S., 2009, “A Sense of
Community: A Research Agenda for Software Ecosystems”, In: Proceedings of the
31st International Conference on Software Engineering, New and Emerging
Research Track, pp. 187-190, Vancouver, BC, Canada, May.
MESSERSCHMITT, D. G., SZYPERSKI, C., 2003, “Software Ecosystem:
Understanding an Indispensable Technology and Industry”. The MIT Press.
PETTERSSON, O., SVENSSON, M., GIL, D., ANDERSSON, J., MILRAD, M.,
2010, “On the Role of Software Process Modeling in Software Ecosystem Design”,
In: Proceedings of the 4th European Conference on Software Architecture, 2nd
International Workshop on Software Ecosystems, pp. 103-110, Copenhagen,
Denmark, August.
SANTOS, R. P., 2013, Engenharia e Gerenciamento de Ecossistemas de Software.
Exame de Qualificação de Doutorado, COPPE/UFRJ, Rio de Janeiro, RJ, Brasil.
58
ECOSSISTEMAS
DE
SOFTWARE
Alunos: Felyppe Rodrigues da Silva (Mestrado)
Gabriella Castro Barbosa Costa (Doutorado)
Professor: Toacy Cavalcante de Oliveira
Disciplina: Reutilização de Software
Download