Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas...
Transcript of Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas...
![Page 1: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/1.jpg)
Objetos, aspectos y algo más: nuevas tendencias en programaciónULISES JUÁREZ MARTÍNEZ, PHD
TECNM / INSTITUTO TECNOLÓGICO DE ORIZABA
![Page 2: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/2.jpg)
AgendaMotivación
Objetos◦ Objetos funcionales
Aspectos◦ Relaciones referenciales
Programación naturalística◦ Tipos naturalísticos
Lenguajes naturalísticos◦ Pegasus
◦ Sicut Naturali (SN)
Conclusiones
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 2
![Page 3: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/3.jpg)
Motivación
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 3
![Page 4: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/4.jpg)
Ordenación de una lista1 void bubbleSort(int[] arr) {
2 int n = arr.length;
3 int temp = 0;
4 for(int i = 0; i < n; i++) {
5 for(int j = 1; j < (n-i); j++) {
6 if(arr[j-1] > arr[j]) {
7 temp = arr[j-1];
8 arr[j-1] = arr[j];
9 arr[j] = temp;
10 }}}}
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 4
![Page 5: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/5.jpg)
Ordenación de una lista“Repeat the following, until the list is
sorted: Go through the list from the
beginning till the end. Whenever the
actual element is bigger than the
following exchange them. If during a pass
no exchange occurred, the list is
sorted.”
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 5
![Page 6: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/6.jpg)
ObjetosEL PROBLEMA SE MODELA CON ENTIDADES DEL MUNDO REAL
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 6
![Page 7: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/7.jpg)
Ventajas de los objetosEncapsulación◦ Protección de datos
Herencia◦ Reutilización de clases
Polimorfismo◦ Diferente comportamiento con el mismo nombre
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 7
![Page 8: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/8.jpg)
Desventajas de los objetosConcurrencia◦ Los objetos no son concurrentes
Herencia◦ No es posible limitarla o desactivarla
Composición◦ Asociada al acoplamiento
◦ Preferible la agregación – inyección de dependencias
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 8
![Page 9: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/9.jpg)
Desventajas de los objetosRequerimientos no funcionales◦ No se cuenta con el soporte adecuado para su encapsulación y
reutilización
◦ Se dispersan entre los objetos
◦ Interfieren con la funcionalidad básica del sistema
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 9
![Page 10: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/10.jpg)
Objetos funcionalesProgramación funcional◦ Técnica de programación donde los sistemas se construyen
utilizando funciones matemáticas
◦ Paradigma declarativo – enfoque en el “qué”
◦ Sistemas robustos con facilidad de prueba y mantenimiento
Objetos + funciones = objetos funcionales◦ Scala, Java, Javascript, Python, etc.
Presentan las mismas ventajas y desventajas
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 10
![Page 11: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/11.jpg)
AspectosREUTILIZACIÓN DE REQUERIMIENTOS NO FUNCIONALES
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 11
![Page 12: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/12.jpg)
Aspectos en forma visual
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 12
Puntos de unión
Módulosreutilizables Cortes
(crosscutting)
Avisos
![Page 13: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/13.jpg)
Evolución de sistemas
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 13
Entrelazado (weaving)= Sistema completo
Sustituir/agregar aspecto
Evolución del sistema (estática y/o dinámica)
![Page 14: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/14.jpg)
Avisos en el lenguaje AspectJ
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 14
before
call
after
call
before
execution
after
execution
around
call
around
execution
![Page 15: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/15.jpg)
Código de aspectos1 public aspect Cronometraje {
2 private long inicio, fin;
3 pointcut ataque():
4 execution(void Catapulta.lanzarRocas());
5 before(): ataque() {
6 inicio = System.nanoTime();
7 }
8 after(): ataque() {
9 fin = System.nanoTime();
10 System.out.println("Tiempo de ataque: " +
11 fin - inicio) + " nanosegundos");
12 }}
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 15
![Page 16: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/16.jpg)
Ventajas de los aspectosReutilización de requerimientos no funcionales◦ Incremento en la modularidad de sistemas orientados a objetos
◦ Facilidad de razonamiento en cada parte del problema
Complementan el modelo de objetos◦ Se conoce como paradigma ortogonal
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 16
![Page 17: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/17.jpg)
Desventajas de los aspectosNo es un paradigma independiente◦ Requiere de objetos para generar el comportamiento deseado
◦ Todo queda representado en clases (bytecode)
Problemas de fragilidad◦ El código de aspectos es dependiente del código de objetos
◦ Dependencia sintáctica
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 17
![Page 18: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/18.jpg)
(des)Ventajas sintácticas de los aspectos“Para todos los métodos que lanzan rocas registrar el tiempo de ejecución”
3 pointcut ataque():
4 execution(* *.lanzarRocas(..));
5 before(): ataque() {
6 inicio = System.nanoTime();
7 }
8 after(): ataque() {
9 fin = System.nanoTime();
“Registrar el tiempo de ejecución cuando se lancen rocas”
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 18
Referencia temporal
Referencia estructural
Referencia estructural
![Page 19: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/19.jpg)
Relaciones referenciales de los aspectosRelación estructural◦ before
◦ after
◦ around
Relación temporal◦ Todos o algunos: *, lanzar*
◦ Argumentos: (..), (*,..), (int, *, ..)
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 19
![Page 20: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/20.jpg)
Relaciones referenciales de los aspectosRelación temporal – primitivas de corte en AspectJ◦ execution, call
◦ get, set
◦ initialization, staticinitialization, preinitialization
◦ handler
◦ args, this, target
◦ within, withincode
◦ if, cflow, cflowbelow
◦ adviceexecution
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 20
• Esos mecanismos también están cercanos al lenguaje natural (naturalísticos)
• Usar ese tipo de relaciones referenciales al escribir en español, inglés, portugués o hebreo
![Page 21: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/21.jpg)
Programación naturalísticaESCRIBIR PROGRAMAS CON AYUDA DEL LENGUAJE NATURAL
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 21
![Page 22: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/22.jpg)
Tipos naturalísticosAntecedentes◦ Objetos, funciones, lógica y aspectos
◦ Reflejan una faceta de cómo piensan las personas
◦ Permiten comunicar información al igual que el lenguaje natural
◦ Programación lógica◦ Se basa en la lógica de primer orden
◦ Usa la lógica para el planteamiento de problemas y el control sobre las reglas de inferencia para alcanzar la solución automática
◦ Lenguaje Prolog
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 22
![Page 23: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/23.jpg)
Tipos naturalísticosDefinición◦ Un tipo naturalístico es un conjunto de cualidades que todas las
instancias deben cumplir para pertenecer a ese tipo◦ Una instancia es “de un tipo” o no
◦ Conjunto de cualidades – representables por predicados lógicos
◦ Instancias – “del” tipo respectivo
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 23
![Page 24: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/24.jpg)
Tipos naturalísticosUna instancia puede ser de cierto concepto◦ “una casa”
Propiedades◦ “grande” o “hermoso”
Restricciones adicionales◦ “Una casa con una puerta de madera marrón”
◦ “Una casa que se encuentra junto al río”
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 24
![Page 25: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/25.jpg)
EjemplosNATURALÍSTICO
Jerarquía◦ (a house) is (a building)
Propiedades/atributos◦ (the house) is red
◦ beautiful modern house
◦ not beautiful modern house
JAVA
◦ class House extends Building {}
◦ assert house.color == Color.RED;
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 25
![Page 26: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/26.jpg)
EjemplosNATURALÍSTICO
Cuantificación◦ three houses◦ two or more houses◦ (a house) has (residents and an owner)
Condiciones◦ a beautiful modern house (where (some window) is open)◦ two integers ((which) are divisible by (10))
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 26
![Page 27: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/27.jpg)
Lenguajes naturalísticos
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 27
![Page 28: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/28.jpg)
PegasusEs un lenguaje de programación natural◦ La codificación es posible utilizando lenguaje natural en alemán,
inglés, chino, hindi, español, ruso y otros idiomas
Utiliza:◦ Concepto de idea
◦ Diccionario como elemento de memoria
◦ Biblioteca para el significado y conocimiento semántico
◦ Generador de código Java
◦ Base de datos grande para conocimiento léxico
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 28
![Page 29: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/29.jpg)
PegasusEjemplos◦ “Delete contact data of an employee five years after this employee
has left the university.
◦ “Take the row Σ(1/n2). Print “convergence”, if the row is convergent.”
◦ “In X, Y, and Z there are coal-fired power stations. In every city there is a transformer station. Connect the power stations with the nearest high voltage power line. Then start them running.”
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 29
![Page 30: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/30.jpg)
Sicut Naturali (SN)Es un lenguaje de programación naturalístico de propósito general◦ Desarrollado en el I. T. Orizaba
◦ Tesis doctoral
◦ Basado en un modelo conceptual◦ Define los elementos mínimos para un paradigma naturalístico
◦ Permite el desarrollo de lenguajes naturalísticos de propósito general
◦ El compilador genera bytecode para la JVM◦ Utiliza Scala y AspectJ
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 30
![Page 31: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/31.jpg)
Sicut Naturali (SN)Modelo conceptual◦ Elementos mínimos
◦ Substantivo (singular y plural), adjetivo, verbo y circunstancia (eventos)
◦ Sintagma (oraciones complejas)
◦ Anáfora (referencia a elementos descritos previamente)
◦ Elementos opcionales◦ Deixis completa (referencia a elementos descritos antes y después del texto)
◦ Indicadores (abstracciones)
◦ Tipificación basada en propiedades (agregar nuevas propiedades)
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 31
![Page 32: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/32.jpg)
Sicut Naturali (SN) – Ejemplos◦main Sumatoria:
an Integer Number with 10 as value.
an Integer Number with 25 as value.
an Integer Number with 34 as value.
add the second Number to the first Number.
System prints it and newline.
add the first Number to the third Number.
System prints it.
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 32
35
69
![Page 33: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/33.jpg)
Sicut Naturali (SN) – Ejemplos◦main Plurales:
number are Numbers.
plural add 5 to numbers.
plural add 6 to numbers.
plural add 9 to numbers.
plural add 1 to numbers.
plural add 0 to numbers.
plural add 3 to numbers.
repeat the next instruction for each
element of numbers as number.
System prints number and end.
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 33
5
6
9
1
0
3
![Page 34: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/34.jpg)
Conclusiones
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 34
![Page 35: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/35.jpg)
Los objetos tienen limitaciones
La programación orientada a aspectos ayuda y complementa a los objetos
La sintaxis derivada de programas de aspectos son la base para expresar ideas en forma cercana a un idioma
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 35
![Page 36: Objetos, aspectos y algo más: nuevas tendencias en ... · Objetos, aspectos y algo más: nuevas tendencias en programación ULISES JUÁREZ MARTÍNEZ, PHD TECNM / INSTITUTO TECNOLÓGICO](https://reader035.fdocuments.net/reader035/viewer/2022071007/5fc4ab44386ac754430b63ed/html5/thumbnails/36.jpg)
Programación naturalística◦ Nuevo enfoque que permite programar utilizando formas
controladas de un lenguaje natural
◦ Pegasus es un lenguaje naturalístico que utiliza diversas tecnologías para lograr programar de forma natural
◦ SN es un lenguaje naturalístico de propósito general basado en un modelo naturalístico que no requiere de tecnologías adicionales
◦ Fuerte interés en especificación de requerimientos◦ La especificación es el programa a ejecutar
6/17/2019 TECNM/ITO - ULISES JUÁREZ MARTÍNEZ, PHD 36