1
Sebastián DormidoDpto Informática y AutomáticaETS Ing. Informática, UNED
Fundamentos de EJS
Madrid 17-18 de mayo de 2012
Universidad Nacionalde Educacióna DistanciaMadrid
1. ¿Qué es Easy Java Simulations ?
2. Elementos básicos de Ejs
3. Un ejemplo sencillo de introducción
4. Evolución histórica de Ejs
Contenido
2
Universidad Nacionalde Educacióna DistanciaMadrid
Ejs es un software (generador de código Java)
diseñado para crear simulaciones dinámicas interactivas en Java.
• Desarrollado por el Prof Francisco Esquembre
• Código “open source”: http://fem.um.es/Ejs
13/56
1. ¿Qué es Easy Java Simulations (Ejs)?
Universidad Nacionalde Educacióna DistanciaMadrid
Ejs proporciona una implementación simplificada del paradigma Modelo-Vista-Control.
1. El modelo, describe el fenómeno bajo estudio
2. El control, define las acciones que un usuario puede efectuar sobre
la simulación
3. La vista, muestra una representación gráfica de los diferentes
estados que puede tener el fenómeno.
Control
Modelo Vista
tuxfx ,,
2. Elementos básicos de Ejs
3
Universidad Nacionalde Educacióna DistanciaMadrid
Empaquetar simulación
Versión y autores
Buscar en el código
Editar opciones
Grabar con un nombre distinto
Leer de una librería digital de Ejs
Interfaz de Ejs: Una estructura sencilla
Crear una simulación nuevaAbrir una simulación existente
Grabar a disco
Ejecutar la simulaciónTraducir la interfaz
Ventana en la que Ejsmuestra los mensajes al usuario
Información sobre la simulación
Botones para la selección del panel
Introducción, Modelo, Vista
2. Elementos básicos de Ejs
Universidad Nacionalde Educacióna DistanciaMadrid
El oscilador armónico simple:
12
21
xx
xx
21,,, xxdtt
Variables básicas
Modelo dinámico
3. Un ejemplo sencillo de introducción
00100 x,xxx
1x1
2x
2
1
xx
xx
Variables de estado
4
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
2000
Editor de ODEs (Euler, MidPoint y Runge Kutta)Usa los Physlets para visualizar modelos físicos
V. 1.2 VII- 2000v. 1.3 IX- 2000
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
2000
Incorpora 8 ejemplos
Elementos de la interfaz
5
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
2000
Editor de layouts
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
2000
Editor de VistasMezcla dos paneles en 2D y 3D con Physlets
6
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
2000 2001
V. 2.1VIII- 2001
Aparece en ingles y españolPrimer intento de código multiplataforma
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
2000 2001 2002
V. 3.0III- 2002
Gran cambio de diseño. La simplicidad como objetivo1ª versión con elementos OpenSourcePhysicsAparece una Introducción (Ahora Descripción)
7
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
2000 2001 2002
V. 3.0III- 2002
La vista empieza a parecerse a la actualIncluye ya la varita mágica y los editores
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
2000 2001 2002
V. 3.01V- 2002
Incluye un solver con paso adaptativoLas simulaciones se pueden ejecutar como Applets
8
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
2000 2001 2002
El ejemplo de los 4 tanquesSe presenta en la plenary lecture del IFAC B’02
V. 3.01V 2002
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
2000 2001 2002 2003
V. 3.02IV 2003
Conectividad con Matlab-Simulink
V. 3.47III 2008Ball and beam
Spider crane
9
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
2000 2001 2002 2003 2004
Primer editor de ODEs con eventos
V. 3.3II 2004
Péndulo interrumpidoColisión de partículas
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
2000 2001 2002 2003 2004
Primer editor de ODEs con eventos
V. 3.3II 2004
10
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
2000 2001 2002 2003 2004
Primer editor de ODEs con eventos
V. 3.3II 2004
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
2000 2001 2002 2003 2004 2005
V. 3.4III 2005
Organización de elementos de la vista en pestañas
11
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
Luna alredededor de la Tierra
Péndulo de Furuta
Simulaciones Java 3D
Universidad Nacionalde Educacióna DistanciaMadrid
Network
Interoperate Approach
a)
b)
c)
Enfoque de interoperación
4. Evolución histórica de Ejs
Java Internet Matlab (JIM): http://lab.dia.uned.es/rmatlab/
12
Universidad Nacionalde Educacióna DistanciaMadrid
EJS toolbar
opcionesEJS
Leer de librería digital
3. The concept of digital library
Creación de librerias digitales
4. Evolución histórica de Ejs
Universidad Nacionalde Educacióna DistanciaMadrid
Nuevos solvers y tipos de eventos
V. 4.3III-2010
4. Evolución histórica de Ejs
13
Universidad Nacionalde Educacióna DistanciaMadrid
Soporte de idiomas (internacionalizar simulaciones)
V. 4.3.1IX-2010
http://www.um.es/fem/EjsWiki/Main/Webcasts
4. Evolución histórica de Ejs
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
Elementos del modelo
V. 4.3.2II-2011
Forma simplificada de acceder a funciones de librerías Java
14
Universidad Nacionalde Educacióna DistanciaMadrid
Los elementos ExternalApps pueden manipular Matlab/Simulink,
Octave, Scilab y Sysquake de la misma forma
Elementos del modelo
V. 4.3.2II-2011
Forma simplificada de acceder a funciones de librerías Java
4. Evolución histórica de Ejs
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
Ecuaciones diferenciales con retardos
V. 4.3.3VIII-2011
15
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
Soporte de applets colaborativos y captura de videos
V. 4.3.5I-2012
Universidad Nacionalde Educacióna DistanciaMadrid
4. Evolución histórica de Ejs
Soporte para Moodle
V. 4.3.7V-2012
16
Universidad Nacionalde Educacióna DistanciaMadrid
Lenguaje de experimento
4. Evolución histórica de Ejs
Universidad Nacionalde Educacióna DistanciaMadrid
Lanzar una bola Tanque simple
Lenguaje de experimento
4. Evolución histórica de Ejs