Este documento discute cuatro posibles soluciones para quien desarrollará las aplicaciones del futuro: 1) aumentar la productividad y reducir errores mediante ingeniería dirigida por modelos; 2) aprovechar al máximo la comunidad de código abierto; 3) permitir que los usuarios finales se conviertan en desarrolladores ocasionales; y 4) externalizar parte del trabajo a la inteligencia artificial.
4. 2 niñas
1 libro
0 árboles
180 artículos
3.5 M financiación
4 países
1 startup (A/B testing WP)
Muy pocas LOCs
Unos cuantos años
Flickr/FlazingoPhotos
6. Nuestra misión
Interested in the broad
area of systems and
software engineering,
especially promoting the
rigorous use of software
models and engineering
principles in all software
engineering tasks.
Flickr/clement127
20. • Grady Booch – history of softwre engineering
The entire history of software engineering is that of
the rise in levels of abstraction
- Grady Booch
OBJETIVO: Escribir cada
vez menos código
22. IDM (MDE en inglés) es la formalización/culminación de este proceso
23. Model
Rapid prototyping
Static analysis
Code generation
Automated testing
Refactoring/
Transformation
Documentation
[Illustration by Bernhard Rumpe]
IDM = Modelos como parte central de la
Ingeniería del Software
26. Un modelo
26
Ciudad de Nantes = “system” a
modelar
Un mapa es de hecho un modelo
del sistema
La leyenda del mapa es la
gramática / metamodelo
Existen diferentes tipos mapas:
transporte, alcantarillado,…
que dan “vistas” diferentes de
la ciudad
27. Muy parecido al mundo de la
programación
MDE Grammarware
MOF
(metametamodel)
UML
(metamodel)
ABank.uml
EBNF.g
Java.g
MyProgram.java
51. Bus Factor
“Number of key developers who would need to be
incapacitated (hit by a bus), to send the project into
disarray that it would not be able to proceed”
67. Project myProject {
Roles: Committers
Deadlines:
myDeadline : 7 days
Rules:
myMajorityRule :
Majority {
applied to Task
when TaskReview
people Committers
range Present
minVotes 3
deadline myDeadline
}
}
All the proposals for new development tasks will be
accepted or rejected in 7 days by the committers of the
project.
Verbalization
74. “the goal of the project is to
make the promise of
open data a reality by
giving non-technical
users tools they can use
to find and compose the
information they need”
87. Cognifying Software Development: 5 Examples
• Estimar productividad de los programadores
• Predecir componentes que van a fallar
• Bot que facilite el modelado sugiriendo buenas prácticas y
posibles fallos en el dominio
• Model inferencer para descubrir modelos implícitos en datos
semi-estructurados
• Generador de código que pase el “test de Turing de IDM”
88.
89. La ACM ha propuesto 7
principios para la
transparencia y
responsabilidad de los
algoritmos
RESPONSABILIDAD
Las instituciones son responsables de las decisiones tomadas por sus algoritmos,
aunque no sean capaces de explicar el cómo se ha llegado a esas decisiones