Anda di halaman 1dari 9

Aplicao dos conceitos de comunicao do

SMP2 para integrao de modelos legados em ambiente de simulao.

Por Miguel Adrian Carretero

Problema

Re-uso de modelos legados como entidades independentes em ambiente de simulao.

Desafio
Integrar por comunicao de rede os

modelos legados ao ambiente de simulao por interfaces padronizadas pelo SMP2.

Conceito do SMP2
Catalogue (Types & Models)
Instantiation + Configuration

Assembly

Definies em XML

Model Library (.lib, .dll, .exe) Modelos legados


Design-Time

Model Configuration (in memory)

Run-Time

Platform Specific Model (PSM)

Platform Independent Model (PIM)

Soluo
Rede Local/Wan/Internet/Intranet

Modelo A

Simulador
CORBA
Definio XML (Catalogue)

Interface

Modelo B

Modelos legados

Modelo C

Resultado
Definio dos arquivos de configurao dos modelos em XML; Interfaces de comunicao pela rede nos modelos legados; Uso das interfaces padronizadas no ambiente de simulao; Integrao de modelos legados no caracterizados por uso de orientao a objetos

Configurao XML
<?xml version="1.0" encoding="UTF-8"?> <Assembly:Assembly xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Assembly="http://www.esa.int/2005/02/Smdl/Assembly" xmlns:types="http://www.esa.int/2005/02/Core/Types" xmlns:xlink="http://www.w3.org/1999/xlink" Id="Modelo_de_Teste" Name="Modelo de Teste" Creator="teste" Date="2011-0809T19:47:25.207Z" Title="Modelo de Teste" Version="1.0"> <Implementation>00000000-0000-0000-0000-000000000000</Implementation> <ModelInstance Id="SCD1" Name="SCD1"> <Description></Description> <Implementation>ce937dd8-a4e1-4632-8af5-6d775f8a5285</Implementation> <Link xsi:type="Assembly:InterfaceLink" Id="SCD1.ISCD1" Name="ISCD1"> <Description></Description> <Metadata xsi:type="types:Attribute" Id="SCD1.ISCD1.host" Name="host"> <Description></Description> <Type xlink:title="AttributeType IsConst" xlink:href="http://www.esa.int/2005/02/Smp#Smp.Attributes.IsConst"/> </Metadata> </Link> <Link xsi:type="Assembly:EventLink" Id="SCD1.get_p_dados_estacao" Name="get_p_dados_estacao"> <Description></Description> <Metadata xsi:type="types:Attribute" Id="SCD1.get_p_dados_estacao.info_estacao" Name="info_estacao"> <Description></Description> <Type xlink:title="AttributeType Operator" xlink:href="http://www.esa.int/2005/02/Smp#Smp.Attributes.Operator"/> </Metadata> </Link> <Link xsi:type="Assembly:FieldLink" Id="SCD1.dados_estacao" Name="dados_estacao"> <Description></Description> <Source xlink:title="ModelInstance SCD1" xlink:href="#SCD1"/> </Link> </ModelInstance>

Interfaces dos modelos


Modelo de rbita: Orientado a objeto usando CORBA

Modelo do Solar Array: programa Fotran usando wrapper CORBA


module SOLAR { interface ISOLAR;

module SCD1 { interface ISCD1;

interface ISCD1 { string Get_p_dados_satelite(); string Get_p_dados_estacao(); string Get_p_dados_pcd(); string Get_p_dados_pcd_visivel(); string Set_p_nome_satelite(in string v_nome); }; };

interface ISOLAR { string Get_p_dados_solar(); string Set_p_sair(); }; };

Modelo no orientado a objeto


!+ PROGRAM SolarPowerArray ! ---------------------------------------------------------------------! PURPOSE - Solar power array model USE Subs IMPLICIT NONE ! ! ! COMMON /FTAC/C(25,25),CAP(25),Q(25),T(25) T=initial TEMPERATURE OF ARRAY (R) COMMON /ORBC/A,E,RA,PHI,OMEGA

!... parameters INTEGER,PARAMETER:: IN=1, OUT=2, DBG=3 REAL,PARAMETER:: AEARTH = 4.90745E+11 ! semi-major axis (ft) REAL,PARAMETER:: BEARTH = 0.3 ! earth albedo REAL,PARAMETER:: EEARTH = 0.86 ! earth emittance REAL,PARAMETER:: EE = 0.016718 ! eccentricity REAL,PARAMETER:: WS = 4.387E+30 ! weight (mass) of sun in pounds REAL,PARAMETER:: WE = 1.317E+25 ! weight (mass) of earth in pounds REAL,PARAMETER:: RE = 2.08982E7 ! radius of earth REAL,PARAMETER:: RS = 2.28228E9 ! radius of sun REAL,PARAMETER:: SIGMA = 1.714E-9 REAL,PARAMETER:: TSUN=10467.0 ! temperature of sun R ............................ title1=' ' title2=' ' title3=' ' c2=0.0 c4=0.0 cap=0.0 q=0.0 t=0.0 jrks=1 ! t(2)=479.0 ! temperature of earth (R) ! t(3)=10467.0 ! temperature of sun (R) ! t(4)=4.97 ! temperature of cosmic background radiation (R) xeo(:)=0.0 xo(:)=0.0

Modelo do Solar Array: module SOLAR { interface ISOLAR;

interface ISOLAR { string Get_p_dados_solar(); string Set_p_sair(); }; };

Simulador