Escolar Documentos
Profissional Documentos
Cultura Documentos
Leite
Viana
dlv2@cin.ufpe.br
Agenda
Introduo
Contexto
e
MoGvao
Problema
Abordagem
Metodologia
Um
Mapeamento
SistemGco
de
Estudos
sobre
Linguagens
de
Domnio
Especco
Prximas etapas
Introduo
Cloud
-
SoRware
como
Servio
(SaaS)
Distribuio
e
Consumo
Aplicaes
Web
Maior
demanda
Necessidade
de
comparGlhar
dados
e
contedo
Integrao
MoGvao
Desenvolvimento
de
Aplicaes
Web
requer
muito
conhecimento
tcnico
e
tecnologias
diferentes[1]
Problema
Por
que
to
diccil
integrar
Aplicaes
Web?
Deve-se
considerar:
APIs
Web
de
diccil
aprendizado
A
maioria
dos
web
sites
no
fornecem[1].
REST,
SOAP,
XML-RPC,
XML,
JSON,
POST
Diferentes padres:
[1] Hao Han and Takehiro Tokuda. Towards Flexible and Lightweight Integration of Web Applications by End-User Programming, International Journal of Web Information Systems, Vol.6, No.4, pp.359-373, 2010
Martin P. Robillard, Robert DeLine: A field study of API learning obstacles. Empirical Software Engineering 16(6): 703-732 (2011).
Problema
Trove,
Startup
de
APIs,
divulgou
uma
pesquisa
sobre
os
custos
de
integrao
e
manuteno
de
APIs[1]:
Pobre Documentao Falta de exemplos de cdigo Falta de ambiente de teste Linha entre uso e abuso
[1] Trove, API Integration Pain Survey Results, Available at https://www.yourtrove.com/blog/2011/08/11/api-integration-pain-survey-results/, Accessed in February 2012.
Problema
Programmable Web, Survey Says Facebook API Has Most Headaches and Horror Stories, Available at http://blog.programmableweb.com/ 2011/08/11/survey-says-facebook-api-has-most-headaches-and-horror-stories/, Accessed in February 2012.
Pesquisa
Como
podemos
Abordagem
Linguagens
de
Domnio
Especco
(DSL)
Principal
ObjeGvo:
Ganhos
em
expressividade
e
facilidade
de
uso.
10
"Domain-specic
languages
(DSLs)
are
languages
tailored
to
a
specic
applica:on
domain.
They
oer
substan:al
gains
in
expressiveness
and
ease
of
use
compared
with
general-purpose
programming
languages
in
their
domain
of
applica:on"
Mernik, M., Heering, J., & Sloane, A. M. (2005). When and how to develop domain-specific languages. ACM Computing Surveys (CSUR), 37(4), 316344. ACM.
Domain-specic
language:
a
computer
programming
language
of
limited
expressiveness
focused
on
a
par:cular
domain
Martin Fowler. (2010). Domain-Specific Languages (pp. 0-321).
11
Riscos
e
Oportunidades
Oportunidades:
DSLs
incorpora
o
conhecimento
do
domnio
DSLs
aumenta
produOvidade,
manuteno,
conabilidade
e
portabilidade.
DSL
permite
o
reuso
do
conhecimento
Riscos:
Os
custos
de
projeto,
implementao
e
manuteno
de
uma
DSL.
Os
custos
de
educao
dos
usurios
de
DSL.
[1] Deursen, A. V., Klint, P., & Visser, J. (2000). Domain-Specific Languages : An Annotated Bibliography *. ACM Sigplan Notices, 35(June), 26-36.
12
Etapas
de
Desenvolvimento
1.
ANLISE
IdenGcao
do
problema
Reunir
todo
conhecimento
relevante
Agrupar
conhecimento
em
noes
semnGcas
e
operaes
Construir compilador
Implementar semnGca
2. IMPLEMENTAO
3. USO
Deursen, A. V., Klint, P., & Visser, J. (2000). Domain-Specific Languages : An Annotated Bibliography *. ACM Sigplan Notices, 35(June), 26-36.
13
Tipos
de
LDE
Grca
vs.
Textual
Interna
vs.
Externa
14
[1] (2011). MD*/DSL Best Practices Update March 2011. Update, (March). Retrieved from http://voelter.de/data/pub/ DSLBestPractices-2011Update.pdf
15
16
[1] (2011). MD*/DSL Best Practices Update March 2011. Update, (March). Retrieved from http://voelter.de/data/pub/ DSLBestPractices-2011Update.pdf
17
Dois experimentos que invesGgam diferenas na compreenso de notaes textuais e grcas para representar declaraes de deciso.
18
19
Results: Notao textual so mais fceis de compreender para os programadores e tcnicos por causa da grande quanGdade de experincia que os programadores tm com anotaes textuais em linguagens de programao [1]
20
Abordagem
L i n g u a g e n s
d e
D o m n i o
E s p e c c o
X
Desenvolvimento
Web
Textual
Interna
DSL
Uma
vantagem
dessa
abordagem
que
o
compilador
ou
interpretador
da
linguagem
de
base
reuOlizada
na
DSL.
Xtext
2.1
Integrao
avanada
com
o
Eclipse.
So\ware
Open
Source,
fruns
de
discusso.
Metodologia
Budgen, D., Turner, M., Brereton, P., & Kitchenham, B. (2008). Using mapping studies in software engineering. Proceedings of PPIG (Vol. 2008, pp. 195204).
22
Questes
de
Pesquisa
Principal:
1.
Como
criar,
aplicar
e
manter
Linguagens
de
Domnio
Especco?
RQ1.
Quais
so
os
processos,
mtodos
e/ou
tcnicas
uGlizadas
durante
o
trabalho
com
DSLs,
ou
seja,
criao,
aplicao,
evoluo
e
extenso
de
DSLs?
RQ2.
Quais
DSLs
foram
desenvolvidas
e
esto
disponveis
para
uso
ou
descrita
em
algum
Gpo
de
publicao?
Que
Gpos
de
projetos
tm
usado
essas
DSLs
e
por
quanto
tempo
essas
DSLs
foram
usados?
RQ3.
Que
ferramentas
so
uGlizadas
para
o
desenvolvimento
e
uso
de
DSLs
e
como
tais
ferramentas
apoiam
essas
aGvidades?
RQ4.
Como
as
DSLs
existentes
so
classicadas?
23
Strings
"Domain-specic
language
OR
"Domain-specic
modeling
language"
OR
"generaGve
programming
24
Critrios
de
Incluso
Livros,
arGgos,
relatrios
tcnicos,
literatura
cinzenta.
Nenhum
ltro
de
datas/perodo
Quando
vrios
arGgos
so
relatados
como
mesmo
estudo,
apenas
o
mais
recente
ser
includo.
25
Critrios
de
Excluso
ArGgos
no
escritos
em
ingls.
Literatura,
disponvel
apenas
na
forma
de
resumos
ou
apresentaes
em
Power
Point.
ArGgos
da
imprensa
Estudos
duplicados.
Estudos
incompletos.
ArGgos
que
no
so
diretamente
relacionados
Cincia
da
Computao
e
Engenharia
de
SoRware.
26
Returned Percentage Studies 260 720 931 490 70 120 10% 28% 36% 19% 3% 5%
65
In
progress
In
progress
In
progress
In
progress
In
progress
4357
1762
2595
27
Busca AutomGca
28
29
30
Number
In progress
11 26
7 17
4 9
24 4
31
O Projeto de uma linguagem especfica dividida em duas partes independentes: 1. Escolha da escrita dos programas (representao fsica). 2. Escolha das entidades abstratas.
32
Extrao
de
Dados/Facetas
QUALIS B1 B2 B2 A2
34
Prximas
etapas
1.
Terminar
de
ler
e
ltar
~900
arGgos
2.
Desenvolver
um
implementao
da
soluo
proposta
3.
Preparar
a
documentao
da
linguagem
4.
Denir
e
implementar
o
experimento
5.
Escrever
dissertao,
relatrios
e
arGgos.
35