Title: Modelado Orientado a Objetos
1Modelado Orientado a Objetos
- La meta de esa presentación es la derivación de
los requerimientos de un entorno de programación
para el modelado orientado a objetos de sistemas
fÃsicos y una discusión de como estos
requerimientos pueden llevarse a cabo en la
práctica. - La presentación ofrece un primer vistazo a las
propiedades y capacidades de Dymola, un entorno
de programación creado explÃcitamente para el
modelado de sistemas fÃsicos complejos de una
forma orientada a objetos. Dymola ofrece al
usuario una interfaz gráfica. - Algunas de las propiedades del idioma usado para
la representación alfanumérica archivando los
modelos gráficos, llamado Modelica, también se
introducen.
2Contenido
- La causalidad de las ecuaciones del modelo
- El modelado gráfico
- La estructura de los modelos en Modelica
- La topologÃa de los modelos en Modelica
- Las reglas de herencia
- El modelado jerárquico
3La Causalidad de las Ecuaciones del Modelo
4Requerimientos Básicos de Modelado OO
- Debe ser posible de representar objetos fÃsicos
por objetos matemáticos gráficos. - Debe ser posible de conectar objetos gráficamente
uno con otro. - Debe ser posible de obtener una descomposición
jerárquica de modelos. Para ello es importante
que mallas de objetos matemáticos acoplados
gráficamente pueden representarse de nuevo por
objetos matemáticos gráficos.
5Un Ejemplo
model Circuit1 SineVoltage U0(V10,
freqHz2500) Resistor R1(R100)
Resistor R2(R20) Capacitor C(C1E-6)
Inductor L(L0.0015) Ground Ground
equation connect(U0.p, R1.p)
connect(R1.n, C.p) connect(R2.p, R1.n)
connect(U0.n, C.n) connect(Ground.p, C.n)
connect(L.p, R1.p) connect(L1.n,
Ground.p) connect(R2.n, L.n) end Circuit1
?
Dymola
Modelica
6Información Gráfica (Anotación)
package CircuitLib annotation (Coordsys(
extent0, 0 504, 364, grid2, 2,
component20, 20)) model Circuit1
annotation (Coordsys( extent-100, -100 100,
100, grid2, 2, component20, 20))
Modelica.Electrical.Analog.Sources.SineVoltage
U0(V10, freqHz2500) annotation
(extent-80, -20 -40, 20, rotation-90)
Modelica.Electrical.Analog.Basic.Resistor
R1(R100) annotation (extent -40, 20 0, 60,
rotation-90) Modelica.Electrical.Analog.Basi
c.Capacitor C(C1E-6) annotation (extent-40,
-60 0, -20, rotation-90)
Modelica.Electrical.Analog.Basic.Resistor
R2(R20) annotation (extent0, -20 40, 20)
Modelica.Electrical.Analog.Basic.Inductor
L(L0.0015) annotation (extent40, 20 80, 60,
rotation-90) Modelica.Electrical.Analog.Basi
c.Ground Ground annotation (extent0, -100 40,
-60) equation connect(U0.p, R1.p)
annotation (points-60, 20 -60, 60 -20, 60,
style(color3)) connect(R1.n, C.p)
annotation (points-20, 20 -20, -20,
style(color3)) connect(R2.p, R1.n)
annotation (points0, 0 -20, 0 -20, 20,
style(color3)) connect(U0.n, C.n)
annotation (points-60, -20 -60, -60 -20,
-60, style(color3)) connect(Ground.p, C.n)
annotation (points20, -60 -20, -60,
style(color3)) connect(L.p, R1.p)
annotation (points60, 60 -20, 60,
style(color3)) connect(L.n, Ground.p)
annotation (points60, 20 60, -60 20, -60,
style(color3)) connect(R2.n, L.n)
annotation (points40, 0 60, 0 60, 20,
style(color3)) end Circuit1end CircuitLib
7Modelos en Modelica
- Un modelo en Modelica consiste en la descripción
de la estructura del modelo y la descripción de
como es empotrado en su entorno
model nombre del modelo Descripción de su
empotramiento equation Descripción de su
estructura end nombre del modelo
8Estructura de Modelos en Modelica
- La estructura de modelos en Modelica consiste o
en un conjunto de ecuaciones o en la descripción
de su topologÃa o en una combinación de los dos
tipos de descripciones. - La descripción de la topologÃa de un modelo
normalmente se efectúa rastreando iconos de
modelos de las bibliotecas de modelos gráficos y
colocándolos en la ventanilla de modelado gráfico
de Dymola. Estos modelos se conectan gráficamente
uno con otro en la ventanilla de modelado
gráfico. - La versión alfanumérica del modelo consiste en la
declaración de sus submodelos (empotramiento), la
declaración de sus conexiones (estructura) y la
declaración de la información gráfica (anotación).
9TopologÃa de Modelos en Modelica
model MotorDrive PI controller Motor
motor Gearbox gearbox(n100) Shaft
Jl(J10) Tachometer wl equation
connect(controller.out, motor.inp)
connect(motor.flange , gearbox.a)
connect(gearbox.b , Jl.a) connect(Jl.b
, wl.a) connect(wl.w ,
controller.inp) end MotorDrive
10Resistores en Modelica
model Resistor "Ideal resistor" Pin p, n
Voltage u parameter Resistance R equation
u p.v - n.v p.i n.i 0 Rp.i
u end Resistor
11Semejanza Entre Diferentes Elementos
model Resistor "Ideal resistor" Pin p, n
Voltage u parameter Resistance R equation
u p.v - n.v p.i n.i 0 Rp.i
u end Resistor
model Capacitor "Ideal capacitor" Pin p, n
Voltage u parameter Capacitance C
equation u p.v - n.v p.i n.i 0
Cder(u) p.i end Capacitor
12Modelos Parciales y Herencia
13Descomposición y Abstracción
14Formalismos de Modelado Heterogéneos
15Simulación y Animación
Ventanilla de Modelado
Ventanilla de Animación
16Referencias
- Brück, D., H. Elmqvist, H. Olsson, and S.E.
Mattsson (2002), Dymola for Multi-Engineering
Modeling and Simulation, Proc. 2nd International
Modelica Conference, pp. 551-8. - Otter, M. and H. Elmqvist (2001), Modelica
Language, Libraries, Tools, Workshop, and
EU-Project RealSim, Modelica web-site.