1. Extending the R programming language to create
and manage Boolean models encoded as BDDs
Sergio Bra Guti´errez
M´aster Universitario en Ingenier´ıa de Software y Sistemas Inform´aticos
Universidad Nacional de Educaci´on a Distancia
05 de julio de 2017
2. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Soluci´on tradicional para construir un conjunto de n
productos
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
3. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Soluci´on tradicional para construir un conjunto de n
productos
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
4. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Soluci´on tradicional para construir un conjunto de n
productos
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
5. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Soluci´on tradicional para construir un conjunto de n
productos
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
6. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Soluci´on tradicional para construir un conjunto de n
productos
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
7. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Soluci´on tradicional para construir un conjunto de n
productos
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
8. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Soluci´on tradicional para construir un conjunto de n
productos
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
9. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Soluci´on tradicional para construir un conjunto de n
productos
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
10. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Soluci´on tradicional para construir un conjunto de n
productos
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
11. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Soluci´on tradicional para construir un conjunto de n
productos
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
12. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Ingenier´ıa de las L´ıneas de Producto Software
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
13. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Casos de estudio
Motorola
CelsiusTech Systems
Hewlett Packard
Naval Undersea Warfare Center
Lockheed Martin and U.S. Navy
General Dynamics and U.S. Army
U.S. National Reconnaissance Office
...
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
14. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Modelos de caracter´ısticas
Gran complejidad
Alto n´umero de caracter´ısticas
Relaciones muy complicadas
Mobile Phone
Calls GPS Screen
Basic Colour High resolution Camera MP3
Media
Mandatory
Optional
Alternative
Or
Requires
Excludes
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
15. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
¿C´omo construir SPLs?
Mapeo de relaciones entre caracter´ısticas y operaciones l´ogicas
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
16. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
BDDs
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
17. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
BDDs
Reducción
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
18. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Ordenaci´on BDD
Los BDDs son muy sensibles a la ordenaci´on de sus nodos
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
19. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
¿C´omo trabajar con BDDs?
Librer´ıas C
Ventajas
Capacidad de c´omputo
Prop´osito espec´ıfico:
Funciones orientadas a
satisfacer una necesidad
Eficiencia del c´odigo
producido
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
20. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
¿C´omo trabajar con BDDs?
Librer´ıas C
Ventajas
Capacidad de c´omputo
Prop´osito espec´ıfico:
Funciones orientadas a
satisfacer una necesidad
Eficiencia del c´odigo
producido
Inconvenientes
Escasa capacidad de
explotaci´on estad´ıstica
Prop´osito espec´ıfico:
Poca versatilidad
Capacidad gr´afica poco
eficiente
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
21. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
¿C´omo trabajar con BDDs?
R
Ventajas
Herramienta muy
poderosa a nivel
estad´ıstico
Facilidad para a˜nadir
funcionalidades
adicionales
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
22. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
¿C´omo trabajar con BDDs?
R
Ventajas
Herramienta muy
poderosa a nivel
estad´ıstico
Facilidad para a˜nadir
funcionalidades
adicionales
Inconvenientes
No incluye posibilidad de
trabajar con BDDs
Ineficiente en funciones
de prop´osito general
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
23. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Necesidad detectada
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
24. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Necesidad detectada
SPL
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
25. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Necesidad detectada
SPL Modelo de
características
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
26. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Necesidad detectada
SPL Modelo de
características
Función lógica
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
27. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Necesidad detectada
SPL Modelo de
características
Función lógica
BDD
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
28. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Necesidad detectada
SPL Modelo de
características
Función lógica
BDD
Librerías C
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
29. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Necesidad detectada
SPL Modelo de
características
Función lógica
BDD
Librerías CR
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
30. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Necesidad detectada
SPL Modelo de
características
Función lógica
BDD
Librerías CR
¿?
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
31. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Arquitectura propuesta
Propuesta
Dise˜no y desarrollo de un wrapper que permita encapsular llamadas
a librer´ıas con las que gestionar BDDs desde R
BuDDy
CUDD
Function1 C++
Function2 C++
FunctionN C++
C++ Facade
Wrapper
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
32. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
API dise˜nada
Creaci´on y personalizaci´on de BDDs
init bdd, set max node num, set cache ratio, reset bdd
Creaci´on y gesti´on de variables
new variable, new variable from expression, add cnf var,
restrict bdd
Operaciones de consulta
print bdd, get bdd library, get node num, is initialized,
print variables, expression to string
Operaciones sobre BDDs
apply bdd, done bdd, reorder bdd, same bdd
Operaciones de E/S
read bdd, save bdd
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
33. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
rbdd en acci´on
Mobile Phone
Calls GPS Screen
Basic Colour High resolution Camera MP3
Media
Mandatory
Optional
Alternative
Or
Requires
Excludes
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
34. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
Conclusiones
Objetivos alcanzados:
1 Creaci´on de una librer´ıa capaz de crear y gestionar BDDs
2 Interfaz amigable, bien documentada
Se han dise˜nado una serie de casos de uso y discutido sus
resultados
1 Propagador de se˜nal
2 Cobertura de decisiones
3 Modelos de caracter´ısticas
4 Estudio de la reordenaci´on de los nodos en BDDs
Soluci´on libre: el c´odigo y ejemplos de uso est´an en
repositorios p´ublicos → cualquiera puede modificar el c´odigo
en funci´on de las necesidades
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia
35. Ingenier´ıa de las L´ıneas de Producto Software
Diagramas de Decisi´on Binario
R como entorno de c´omputo y gr´afico
Soluci´on dise˜nada
Conclusiones y l´ıneas futuras
L´ıneas futuras
A˜nadir m´as gestores de BDDs
M´as operaciones sobre los BDDs
Publicaci´on de la librer´ıa en el CRAN
Interfaz orientada a objetos
Sergio Bra Guti´errez Universidad Nacional de Educaci´on a Distancia