Professional Documents
Culture Documents
Diciembre 2014
TABLA DE CONTENIDOS
CAPITULO 1: INTRODUCCION
1.1.
1.2.
1.3.
1.4.
Motivacin
1.5.
Objetivo
1.7.
Organizacin de la Tesis
3
CAPITULO I: INTRODUCCION
1.1. Antecedentes Del Problema
El desarrollo de aplicacin web tiene dificultades debidas que no existe una conexin
o puente entre los requerimientos de negocio con el cdigo o la programacin que
permita mejorar el desarrollo de aplicaciones web, empleado una tcnica de
programacin eficiente. Estudios anteriores y recientes han demostrado que existen
varias tcnicas de programacin tales como la programacin orientada a objetos,
programacin orientada a aspectos, programacin orientada a caractersticas o la
programacin orientada a agentes, las cuales en muchos de los casos carecen de
suficiente informacin para utilizar la tcnica, difciles de comprender la tcnica o la
reutilizacin del cdigo, a pesar que a la fecha empresas generadores de software ha
realizado intentos fallidos al crear libreras con las tcnicas de programacin antes
mencionada.
Los conceptos de la programacin orientada a objetos tienen origen
en Simula 67, un lenguaje diseado para hacer simulaciones, creado por Ole-Johan
Dahl yKristen Nygaard, del Centro de Cmputo Noruego en Oslo. En este centro se
trabajaba en simulaciones de naves, que fueron confundidas por la explosin
combinatoria de cmo las diversas cualidades de diferentes naves podan afectar unas
a las otras. La idea surgi al agrupar los diversos tipos de naves en diversas clases de
objetos, siendo responsable cada clase de objetos de definir sus propios datos y
comportamientos, fueron refinados ms tarde en Smalltalk, desarrollado en Simula
en Xerox PARC (cuya primera versin fue escrita sobre Basic) pero diseado para
ser un sistema completamente dinmico en el cual los objetos se podran crear y
modificar en lugar de tener un sistema basado en programas estticos.
La programacin orientada a objetos se fue convirtiendo en el estilo de
programacin dominante a mediados de los aos ochenta, en gran parte debido a la
influencia de C++, una extensin del lenguaje de programacin C, su dominacin fue
consolidada gracias al auge de las Interfaces grficas de usuario, para las cuales la
4
programacin orientada a objetos est particularmente bien adaptada. En este caso, se
habla tambin de programacin dirigida por eventos.
Las caractersticas de orientacin a objetos fueron agregadas a muchos
lenguajes existentes durante ese tiempo, incluyendo Ada, BASIC, Lisp mas Pascal,
entre otros. La adicin de estas caractersticas a los lenguajes que no fueron
diseados inicialmente para ellas condujo a menudo a problemas de compatibilidad y
en la capacidad de mantenimiento del cdigo. Los lenguajes orientados a objetos
"puros", por su parte, carecan de las caractersticas de las cuales muchos
programadores haban venido a depender. Para saltar este obstculo, se hicieron
muchas tentativas para crear nuevos lenguajes basados en mtodos orientados a
objetos, pero permitiendo algunas caractersticas imperativas de maneras.
El Eiffel de Bertrand Meyer fue un temprano y moderadamente acertado
lenguaje con esos objetivos, pero ahora ha sido esencialmente reemplazado por Java,
en gran parte debido a la aparicin de Internet y a la implementacin de la mquina
virtual de Java en la mayora de navegadores.
PHP en su versin 5 se ha modificado; soporta una orientacin completa a
objetos, cumpliendo todas las caractersticas propias de la orientacin a objetos
Figura Nro. 01 Programacin Orientada a Objetos
Fuente: Ole-Johan Dahl yKristen Nygaard, del Centro de Cmputo Noruego en Oslo
5
La programacin orientada a aspectos AOP (Kiczales et al., 1997) ha propuesto como una
tcnica para la modularizacin, la explotacin, distribucin, seguimiento, seguridad, y
transaccional gestin se han presentado como ejemplo de transversalidad preocupaciones
atendidas por la AOP. Sin embargo, AOP podra conducir a problemas de
razonamiento modulares. Por ejemplo, con el fin de razonar acerca de las clases, los
desarrolladores pueden tener que considerar la implementacin de todos los aspectos
(Sullivan et al., 2005; Clifton y las levaduras, 2002; Steimann, 2006). De hecho,
haciendo referencia a las clases de ejecucin detallada de aspectos, se podra inhibir
el razonamiento modular y mutabilidad de compromiso, lo que requiere
modificaciones de clase para ser plenamente consciente de los aspectos que afectan a
la clase. Por ejemplo, el desarrollo de aplicaciones web necesita revisar todos los
aspectos para confirmar que un extraccin mtodo no dar lugar a la falta unir
puntos. Por lo tanto, construcciones destinadas a soportar la flexibilidad transversal
de la
La programacin orientada a agente (AOP) fue iniciada por Yoav Shoham, 1990
propuso un nuevo paradigma de programacin, basado en una vista social de la
computacin.
La
idea
clave
que
informa
7
Figura Nro. 01: Proyecto con Fracasos Motivos
56%
60%
50%
45%
40%
Encima del
Presupuesto
30%
Excedi Cronogrma
20%
Menos valor de lo
previsto
7%
10%
0%
Proyecto TI
8
1997). Un intento de hacer un pequeo cambio en el programa diseo puede requerir
varios cambios a un gran nmero de mdulos relacionadas.
FeatureIDE es compatible con varias tcnicas de aplicacin para FOSD (featureoriented software development), y otros pueden integrarse con bajos costos. La
interfaz de usuario y las tcnicas son fcil de implmentar. Por lo tanto, FeatureIDE
est especialmente calificado para la enseanza y para comparar las tcnicas de
implementacin de SPL(software product line ) con respecto a su aplicabilidad para
el desarrollo de SPLs. FeatureIDE experiment varios cambios desde el desarrollo
inicial en el 2004. En 2005, se present una versin prototipo de FeatureIDE. En ese
momento, FeatureIDE era slo un front-end para el lenguaje de programacin Jak de
la suite de herramientas. El desarrollo de este soporte de herramienta es costoso
para un lenguaje de investigacin.
La programacin orientada a aspectos podra conducir a problemas de razonamiento
modular. Por ejemplo, para razonar acerca de las clases, los desarrolladores tienen
que considerar la implementacin de todos los aspectos (Sullivan et al., 2005; Clifton
y fermentos, 2002; Steimann, 2006), de hecho, al referirse a los detalles de
implementacin de las clases en los aspectos, uno podra inhibir la mutabilidad
modular razonamiento y compromiso, que requiere modificaciones de clase, estos
deben ser plenamente consciente de los aspectos que afectan a la clase. Por ejemplo,
puede necesitar la
9
documentacin, material didctico, comunidad de usuarios y propiedades no
funcionales
Algunas estudios utilizan modelos de transformacin - MT,
empleado la
1.4. Motivacin
La fragmentacin es una novedoso tcnica de la programacin orientada a agente que
son asistidos con transformaciones de modelo original, con el fin de permitir a los
ingenieros desarrollar mejor la masa en forma automatizada. Algunos de estos
fragmentos tambin incluyen consejos explcitos para la incorporacin de
inteligencia artificial en el desarrollo. En los experimentos, dos procesos han sido
compuestos con estos fragmentos de mtodo para dos orientada al agente
metodologas diferentes (es decir Ingenias y Adelfe). Este artculo muestra cmo
estos procesos se utilizan respectivamente para desarrollar dos conocidos masa (es
decir, Delphi MAS y MAS horario). (A collection of method fragments automated
with model transformations in agent-oriented modeling: Ivan Garcia-Magario,
2013).
El aporte es un enfoque novedoso que incluye un patrn de organizacin de
interaccin para multi-agent Systems (masa) en gestin de crisis, abstrado de varios
estudios de caso existentes en el que los agentes siguen una secuencia de
interacciones y la organizacin debe optimizar el uso de los recursos humanos. El
modelo considera una organizacin emergente de compaeros que adoptan diferentes
10
roles segn las circunstancias. (Agent-oriented modeling and development of a
system for crisis management: Ivn Garca-Magario y Celia Gutirrez, 2013).
La motivacin sobre el problema de la informacin y la abundancia de servicios
disponible en el escenario de la Universidad, lo que puede ser un desafo para
satisfacer a intereses apropiado de usuarios. Como un entorno social que promete la
difusin del conocimiento, es adecuado aplicar el concepto de aplicacin
generalizada con el fin de mejorar la educacin. (Agent-based architectura for
context-aware and personalized event recommendation: Ana Rgia de M. Neves,
lvaro Marcos G. Carvalho, Clia G. Ralha, 2014).
El aporte del proyecto es rbFeatures, un lenguaje de programacin orientada a la
caracterstica implementado sobre el lenguaje de programacin dinmico Ruby. Con
rbFeatures, los programadores utilizan las lneas de productos de software, variantes
y caractersticas como entidades de primera clase. Esto permite que varios runtime
reflexin y modificacin de las capacidades, incluyendo la extensin de la lnea de
productos con nuevas caractersticas y la provisin de mltiples variantes.
(rbFeatures: Feature-oriented programming with Ruby: Sebastian Gnthe y Sagar
Sunkle, 2012.
Otro aporte de agente orientado a programacin, es un modelo de programacin y
plataforma de hormign llamado JaCaMo que integra tecnologas en todas las
direcciones de investigacin y resultados importantes, con el paradigma combinado,
que preferimos llamar '' programacin orientada a multi-agente'', el potencial de
sistemas multi-agentes como un paradigma de programacin. JaCaMo se basa en tres
plataformas existentes: Jason para la programacin de agentes autnomos, Moise
para organizaciones agente programacin y CArtAgO para programar los ambientes
compartidos. (Multi-agent oriented programming with JaCaMo: Olivier Boissier,
Rafael H. Bordini, Jomi F. Hbner, Alessandro Ricci, Andrea Santi, 2013).
11
Disear un modelo que contemplen las capas entidad como representacin de las tablas a
nivel de objetos.
Proponer una tcnica de programacin
Reducir el tiempo del desarrollo de aplicacin web.
1.8.
1.9.
Organizacin de la Tesis
BIBLIOGRAFIA
12
[1]A.Regia de M. Nieves, A. Carvalho, C. Ralha Agent-based architecture for contextaware and personalized eventRecommendation, Expert Systems with Applications
41(2014) 563-573.
[2] A. Ricci, M. Viroli, G. Piancastelli simpA: An agent-oriented approach for
programming concurrent applications on top of Java Science of Computer
Programming 76 (2011) 37-62.
[3]D.Krzywicki, F. Byrski, M. Kisiel Computing agents for decision support
systems, Future Generation Computer Systems 37 (2014) 390-400.
[4] D. Talaba, C. Antonya, "Design evaluation and modification of mechanical systems"
in virtual environments, Virtual Reality 11 (4) (2012) 275285.
[5] D. Weidlich, L. Cser, T. Polzin, D. Cristiano, H. Zickner, "Virtual reality approaches
for immersive design", in Annals of the CIRP 56 (1) (2010) 139142.
[6] H. Jordan, G. Botterweck, J. Noll, A. Butterfield A feature model of actor, agent,
functional, object, and procedural programming languages Science of Computer
Programming (2014) 167-6423.
[7] I. Garcia, Magarin A collection of method fragments automated with model
transformations in agent-oriented modeling, Engineering Applications of Artificial
Intelligence 26 (2013) 1131-1148.
[8] I. Garcia, C. Gutierrez Agent-oriented modeling and development of a system for
crisis management, Expert Systems with Applications 40 (2013) 6580-6592.
[9] I. Freitas, P. da Mota, P. Oleary, E. Santana, S. Romero Software product line
scoping and requirements engineering in a small and medium-sized enterprise:An
industrial case study, The Journal of Systems and Software 88 (2014) 189-206.
[10] O. Boissier, R.Bordini, J. Hubner, A. Ricci, A. Santi Multi-agent oriented
programming with JaCoMo, Science of Computer Programming 78 (2013) 747-761.
[11] S. Gunther, S. Sunkle. RBFeatures: Feature-oriented programming with Ruby,
Science of Computer Programming 77(2012) 152-173.