G.1 Módulos prin ipais do ARCOS Management Tool
2.3 Formas distintas para leitura e es rita de dados no DAIS
ODAISServer éumsingleton 11
[22℄queestádisponíveldurantetodootempoemqueoserviçoestá
ativoerepresenta o ponto ini ial de ontato om lientes DAIS. A partirdesse objeto, o liente DAIS
pode realizaras demais operações e adquirir referên ias para os outros objetos. Ao implementar um
servidorDAISodesenvolvedor deveorganizarosdadosaseremexpostossobaformadeuma árvore,e
estaéarmazenadanaestruturainternadoobjetoDAISServer. Ousodeumaárvoreparaarmazenamento
dosdadosexpostoséjusti ado pelo fato de onstituir uma estruturabastante exível,adequada para
a representação de dados em um vasto onjunto de sistemas industriais. Essa árvore pode indi ar a
disponibilidadenãosódedadosdoambiente(temperatura,pressão,nível,et ),mastambéminformações
adi ionaistais omoomodelodosensorousualo alizaçãogeográ a.
Antesdeini iarqualqueroperaçãonoservidorDAISo lientepre isasoli itara riaçãodeumobjeto
que geren ia todo o i lo de uso do servidor por aquele liente em parti ular. Esse objeto se hama
11
DAISDataA essSession e é riado atravésda invo ação do método reate_data_a ess_session() do
objeto DAISServer. Esse objeto de sessão é mantido ativo até que o liente en erre a sessão DAIS,
invo andoométododestroy() doobjeto DAISDataA essSession.
Oobjeto DAISNodeHome provêosmétodos ne essáriospara a onstruçãoe visualização daárvore
DAISdeumservidor.Esseobjetoéumsingleton queexistedurantetodaaexe uçãodoserviçoDAISe
éobtidoatravésdainvo açãodométodonode_home() doobjeto DAISDataA essSession. ODAISNo-
deHomedisponibilizamétodosparaaobtençãodonóraizdaárvoreDAIS(get_root())eparaaobtenção
detodososlhosdeumdeterminadonó(nd_by_parent()). Comessesdoismétodos,umaimplementa-
çãore ursivapermitequeum lienteDAISvisualizetodaaárvorededadosdisponibilizadapeloservidor.
Alémdisso,métodospara a onstruçãodaárvoreDAIS,tais omooadd_node(),sãotambém denidos
peloDAISNodeHome.
Comoobjetivodeevitarinvo açõesremotasdemoradas,poten iais ausadorasdeimprevisibilidades
temporais,oresultadodométodond_by_parent()éumobjetodotipoDAISNodeIterator. Esseobjeto
permiteare uperaçãogradativae ontroladadoslhosdeumdeterminadonódaárvoreDAIS. A ada
invo açãodométodonext_n()doDAISNodeIterator,nomáximoosn (parâmetrodométodo)próximos
lhosdonóem questãosãoretornados,numa abordagem omumente onhe ida omo Lazy Load. Esses
iteratorsnão apresentammétodospararetro essoeexistemnoservidoratéqueoseumétododestroy()
sejainvo ado.
NoDAIS, aunidadedeaquisiçãodedadosé hamadadegrupo. Ao riarumgrupo,o lienteDAIS
informaquaisnósdaárvoreDAISperten emaestegrupo,alémdeinformarparâmetrostemporais, omoa
freqüên iadeaquisição. A riaçãodegruposdeaquisiçãoérealizadapeloobjetoDAISGroupHome,obtido
atravésdainvo açãodo métodoget_home() doobjeto DAISDataA essSession. Cada sessão( liente)
presentenoservidorDAISestáasso iadaaumainstân iaparti ulardoDAISGroupHome,possibilitando
que ada liente espe ique seus grupos parti ulares de aquisição. O objeto DAISGroupHome existe
enquanto existir oobjeto DAISDataA essSession asso iado. Além dos grupo parti ulares riados por
ada liente,aespe i açãotambémprevêa riaçãodegrupopúbli osdedados, omunsavários lientes
deummesmoservidorDAIS.
Novosgruposde dadossão riadosatravésdainvo açãodométodo reate_data_a ess_group() do
objeto DAISGroupHome. Para ada grupo riado, o DAISGroupHome instan ia um objeto do tipo
DAISGroupManager eretorna estareferên ia para o liente. O objeto DAISGroupManager on entra
todas as operações de aquisição e alteração dos dados industriais. Esse objeto permite a in lusão de
folhas DAIS naquele grupo em parti ular (método reate_entries()), indi ando quais dados deverão
ser adquiridos. A entrega de dados DAIS é realizada através de invo ações periódi as a métodos de
objetosde allba k,forne idospelo liente 12
. Atravésdométodo llb k()doobjetoDAISGroupManager,
12
o liente é apaz de passar para o servidor a referên ia para este objeto de allba k. A es rita de
dados nos dispositivos é realizada através dos métodos syn _read() e asyn _read(), disponibilizados
pelo DAISGroupManager. Um grupo de aquisição, e onseqüentemente o objeto DAISGroupManager
asso iado,existeatéqueométododestroy()doDAISGroupManager sejaexe utado.
Paraumdeterminadogrupo,épossível onsultarasfolhasDAIS jáinseridasnaquele grupoatravés
dainvo açãodométodo reate_group_entry_iterator(). Numaabordagemsimilarositeratorsdenósda
árvoreDAIS,essemétodoretornaumobjetodotipoDAISGroupEntryIterator,quepossibilitaa onsulta
gradativae ontroladadasfolhasDAISparti ipantesdogrupo. Essesiteratorsnãoapresentammétodos
pararetro essoeexistemnoservidoratéqueoseumétododestroy()sejainvo ado.
Agura2.15resumeoproto oloutilizadonoDAISpara a riaçãodegruposdeaquisiçãodedados.
Apóstodasessasoperações,ométodoon_data hange() doobjeto de allba k éinvo adonafreqüên ia
informadadurantea riaçãodogrupo,atualizandoo liente sobreasmudançasdosdadosdesejados.
Aespe i açãoDAISédivididaemtrêsgrandesgruposdefun ionalidades: DAISServer,DAISData
A ess eDAISAlarmsandEvents. ODAIS Server espe i aasoperaçõesne essáriasparaa riaçãode
sessões,gruposdedadoseasdemaisoperaçõesde omuni ação omo liente. ODAISDataA ess provê
osme anismosne essáriosparaaentregaperiódi adedados,denição dataxadeaquisiçãoeespe i a
a interfa e de allba k utilizada pelo liente para a re epção de dados. O DAIS Alarms and Events
espe i ainterfa esparaadeniçãoere epçãodedadosadvindosdealarmeseoutroseventosdosistema
industrial. Segundo a espe i ação, uma implementação DAIS para ser onsiderada em onformidade
omopadrão:
deveimplementaroDAIS Server;
deveimplementaroDAIS DataA ess OUoDAISAlarmsandEvents;
podeimplementaroDAISDataA ess EoDAIS AlarmsandEvents.
Outrospadrõesparaaquisiçãodedadosforampropostosnosúltimos tempos. Dentreeles,desta a-seo
OPC(OLE for Pro ess Control)[28℄. Apesardagrandea eitação naindústria, oOPCapresenta omo
desvantagemasualimitaçãoaousoemplataformasproprietárias,restringindooes opodeinteroperabi-
lidadedesejado. OOPCéuma padronizaçãoqueinuen iousobremaneiraoprojeto doDAIS,visando
ARCOS - ARquitetura para COntrole e
Supervisão
A
pesarde todososbenefí iostrazidos omaadoçãodosmi ro- ontroladoreseCLP's, omodelo deprogramaçãoutilizadoporestassoluçõesselimitaaprogramas í li osemono-programados,desenvolvidosemlinguagensdedifí ilmanutenção,tais omoLADDER,Assembly ouC.Autilizaçãode
paradigmasjá onsolidadosdaCiên iadaComputação, omoaorientaçãoaobjetos,aindaéumdesao.
Oalto ustodassoluçõesbaseadasemCLP's,aliadoàne essidadedeumambiente omputa ionalmais
exível e que possibilite soluções mais modernas, tem re entemente justi ado o desenvolvimento de
pesquisas interessadas na utilização de omponentes COTSde hardware e de software, diminuindo os
ustosefavore endoquestõesdeinteroperabilidadeedemanutenção.
3.1 Objetivos do ARCOS
Vistosob esteprisma, aevoluçãoe modernizaçãodossistemas industriaisde tempo-realéumpro esso
quedependedadisponibilizaçãodeambientesdehardware,softwaree omuni açãoquesejampoderosos,
exíveis,defá ilmanutençãoeinteroperáveis,aomesmotempoemquemantenhamas ara terísti asjá
presentesnossistemasindustriaisatuaistais omorobustez,tolerân iaafalhaseprevisibilidade. Inserida
nessepro esso,aCiên iadaComputação,eemparti ularaengenhariadesoftware,estudame anismos
emetodologiasquepossibilitama onstruçãodosambientesde softwareaseremutilizadosnossistemas
industriaismodernos. Poroutrolado,a res ente omplexidadeinseridanopro essodedesenvolvimento
enopapeldesempenhadopelosoftwaredemandaaprospe çãodete nologiaseferramentasqueauxiliem
ogeren iamentodesta omplexidade.
OARCOS(ARquiteturaparaCOntroleeSupervisão),plataformadesoftwarepropostaeimplemen-
tadanestetrabalho,éumframework (videseção2.3)parasistemasdeS&Cquefa ilitaodesenvolvimento
desistemasindustriaismodernosequaisforamasde isõestomadas,noprojetodoARCOS,parasuperá-
lospar ialoutotalmente.
Desao 1: adoção de um modelo de programação exível e poderoso. A demanda por
sistemasindustriaisdistribuídos,inteligenteseadaptativostemsidoograndefatorquemotivaaadoçãode
umanovainfra-estruturadesoftwareehardwarenaindústria. Autilizaçãodemi ro- ontroladores,CLP's
elinguagenstais omo LADDER eAssembly é umaentravepara a onstruçãode sistemas omograu
de omplexidadegeradopelosrequisitosatuais. A orientaçãoaobjetoseaste nologiasde omponentes
edemiddleware representamalternativasjá onsolidadasemáreastais omoosSistemasdeInformação,
onstituemsoluçõesapropriadasparaoatendimentosdosrequisitosatuaisdaindústria [30,43,44,108,
109℄eforamaste nologiasdebasepara oprojetodoARCOS.
Desao 2: suporte à distribuição e à interoperabilidade. Autilização dasredes de omuni-
açãode dadosna indústria foi motivada por três fatoresprin ipais: inerente dispersãogeográ a das
manufaturas,reduçãodos ustosdemanutençãoainda ausadapelo grandenúmerodeosligandosen-
soreseatuadoresaosCLP's,ene essidadedeintegração do hão-de-fábri a omosníveissuperioresda
manufatura( ontroledistribuídoesistemasdeplanejamentoegeren iamentodaprodução). Autilização
depadrõesabertospara omuni açãoindustrialfavore eaintegraçãodesoluçõesadvindasdediferentes
forne edores. Entretanto,paraarealintegraçãodamanufaturafaz-sene essárioautilização depadrões
abertosem todas as amadasdos sistemas,desde a omuni ação dedados até osproto olos utilizados
noníveldeapli ação. Conformeapresentadonasub-seção2.1.1,oCORBAéasoluçãopara omputação
distribuídaqueprovêmaiorsuporteàheterogeneidade,nosentidoemquepossibilitaa omuni açãoen-
treobjetosindependentedalinguagemdeprogramação,sistemaopera ionalearquiteturasdehardware
e omuni ação utilizados. Devido à heterogeneidade inerente e res ente dos ambientes industriais, o
CORBAfoiadotado omoomiddleware desuporteàdistribuiçãoutilizadonoprojetodoARCOS.Além
disso,oCORBA vemsendo adavez maisutilizado omo soluçãodeintegraçãoemsistemas industriais
[95,88℄.
Desao3: melhoriadaprodutividadeedamanutençãodesistemasindustriais.OCORBA
2.xsemprefoi onhe ido omoumate nologiadedifí ilutilização,deinteresseex lusivodeinstituições
depesquisa epormuitasvezes onsideradade adente. Apesardaexistên iade soluçõesreaisnaindús-
tria baseadas em CORBA 2.x [88℄, as limitações apresentadas na sub-seção 2.1.1 ontribuíram para a
disseminaçãodeste pre on eito. Comolançamentodaespe i açãoCORBA3edoCCM, essaslimita-
çõesforameliminadas,atravésdadeniçãodo ontainer exe utor de omponentes(o desenvolvedornão
ne essitamais implementar todo oservidor, somente o omponente em questão) e do usode arquivos
XML,ao invésde ódigo-fonte,paraindi ar autilização deserviçosnão-fun ionais. OCCM éummo-
delode omponentes que,em onjunto omuma boa implementação e boas ferramentas, onstituium
em onjunto omapoten ialreutilizaçãopropor ionadapelaabordagemdosframeworks, ara terizamo
ARCOS omoumambiente produtivoparaodesenvolvimentodesistemas industriaismodernos.
Desao 4: utilização de um me anismo exível para omputação distribuída. O alto
a oplamento das unidades de implementação, em sistemas omplexos, éum dos prin ipais fatores que
di ultama manutenção ereutilização destas soluções. A implementaçãode unidades auto- ontidase
ompapéisbem denidos, em onjunto om um me anismoexívelpara denição de rela ionamentos
entreessasunidades éaprin ipal abordagemutilizadapelate nologiade omponentes. Apossibilidade
de indi ação desses rela ionamentos ( onexões) atravésde des ritores XML poupa o desenvolvedor de
odi açõesexplí itasesujeitas aerros. Além disso,um novomodelodemanutençãoe dereutilização
éinstalado neste ambiente dedesenvolvimento. Componentes de software defeituosos podem ser subs-
tituídosou reparadose reintegrados. Demandasatuais da indústria, tais omo asCélulasFlexíveis de
Manufatura(FMC - Flexible Manufa turingCells)[35℄, requeremapossibilidadedealteraçãofa ilitada
dospro essos, onstituindoum bom alvopara apli açãodate nologiade omponentes, ejusti andoa
es olhapeloCCMnoprojetodoARCOS.
Desao5: utilizaçãodeumme anismoexívelpara omuni açãodistribuída. Naindústria
é omumasituaçãoondeumsensorpre isaenviarumainformaçãoparadiversossistemas,tais omoum
ontrolador,umsupervisórioouumsistemadearmazenamentohistóri o. Ane essidadedeummodelode
omuni açãodo tipomuitos-para-muitos,desa oplado,não-bloqueantee omexibilidadede in lusãoe
retiradadeprodutorese onsumidoresmotivouautilizaçãodoServiçodeEventosnoprojetodoARCOS.
Essemodeloexívelde omuni ação,em onjunto omomodeloexívelde omputaçãopropor ionado
pelas onexõesde omponentesCCM,possibilitaareutilizaçãodoARCOSemum onjuntodeapli ações
industriaisdeS&C.
Desao 6: suporte à interoperabilidadenaaquisição de dados. Aexistên iadediversaste -
nologiasdeaquisiçãodedados,tais omoCLP'sepla asdeaquisiçãoatravésdaportaparalela,semprefoi
umfator agravadordaefetivaintegraçãoeinteroperabilidadedeplantasindustriais. Odesenvolvimento
de sensores inteligentes, passíveis de serem one tados diretamente em uma redeindustrial, amenizou
esse problema no sentido em que eles estão em onformidade om padrões de omuni ação em rede.
Entretanto, paraaintegraçãoplena,éne essárioautilizaçãodepadronizaçõesnosproto olosutilizados
pelas apli açõesquemanipulamtais dados. OOMG deneespe i açõesbaseadasnoCORBA,dedi-
adasàpadronizaçãodeinterfa esvoltadasparadomíniosdeapli açãoespe í os,tais omotelefoniae
ontroledetráfegoaéreo. ODAIS (Data A quisition fromIndustrial Systems)[69℄é umaespe i ação
CORBAquepadronizaasinterfa esutilizadaspara onsultaeaquisiçãodedadosindustriais. Aodispo-
nibilizaruma implementação reutilizávelde umservidor DAIS, oARCOSrealiza adisponibilizaçãode
dados, oletadosda planta, para qualquer liente em onformidade omopadrão DAIS.Apesar deser
àmanipulação de dados industriais e apresenta possibilidades de integração omoutros padrões, mais
onsolidadosporémnãobaseadosnoCORBA, omoporexemplooOPC(OLEfor Pro essControl)[28℄.
Desao 7: espe i ação das restrições temporais e garantia da previsibilidade. O on-
servadorismo da indústria, em relação à adoção de soluções modernas de software, é justi ado pela
imprevisibilidadeebaixarobustezapresentadaspelosistemas omputa ionais onven ionais(sistemasde
informação). Odesenvolvimentodeambientesprevisíveisetolerantesafalhaséfator ru ialparaaapli-
açãodessasnovassoluçõesnoambiente industrial. Diversos estudosre entes, naáreade Tempo-Real,
propõemteoriasete nologiaspara levaraprevisibilidadede exe uçãoede omuni açãoaosambientes
omputa ionaismulti-programados. O ACE (ADAPTIVE Communi ation Environment) [90℄, o TAO
(TheACEORB)[91℄eoCIAO(Component-IntegratedACEORB)[65,103℄sãoexemplosdete nologias
ativase omreaisapli açõesnodesenvolvimentodesistemasdetempo-real[88℄. AutilizaçãodoCIAOna
implementaçãodoARCOSéjusti adapelofatodeserumasoluçãobaseadaemte nologiasjá onsolida-
dasnodesenvolvimentodesistemasdetempo-real,alémde onstituiratualmenteaimplementaçãomais
ompletadoCCM,se omparada omoutrasimplementaçõestais omooMICO-CCM[79℄eOpenCCM
[1℄.
Desao 8: onguração e implantação fa ilitada. Além dosesforçosdispensadosnoprojetoe
implementação desistemas distribuídos,a onguraçãoeimplantaçãodestes sistemas, bem omo oge-
ren iamentodoseu orretofun ionamentoéumaatividadequeapresentaalgunsdesaos. Aimplantação
erealo açãode omponentes emdiversos nósda redeenvolveatividades omo onguraçãode ORB's,
ativaçãoe onexãode omponentese onguraçãodosserviçosutilizados. NoCIAO,essasatividadessão
realizadaspelo DAnCE (DeploymentAndConguration Engine)[31℄, apresentadonasub-seção2.5.1.1.
ODAnCErealizaa onguraçãoeimplantaçãoremotade omponentes,bem omotodasas ongurações
ne essáriaspara onexõeseusode serviçosnão-fun ionais,poupandoodesenvolvedor de tal atividade.
Comodeseja-sequeapli açõesbaseadasnoARCOSsebene iemdessas ara terísti as,oDAnCEfoio
me anismode onguraçãoeimplantaçãoadotadonesteprojeto.
Desao 9: suporte à adaptação dinâmi a. Os sistemas adaptativos [75℄ são ara terizados
pela apa idadedealterarasuaestruturaefun ionamentointernos,em funçãode eventos o orridosno
ambienteopera ionaldestessistemas. Essaadaptaçãoéimportanteemsistemasquetentamotimizaroseu
fun ionamento atravésdeutilização dediversas estratégias paraum mesmoobjetivo. Como exemplos,
pode-se itar a adaptaçãode um sistema embar ado om oobjetivode reduzir o onsumo de energia
oua adaptaçãode um sistema de ontrole de modo amelhorara qualidadedo produto sendogerado.
Paraproveradaptação,osistema omputa ionaldeveutilizarumaarquiteturadesoftwareexíveleque
permita essasmodi ações, até mesmo sem intervençãohumana esem interrupções nofun ionamento
da apli ação. O ReDaC, apresentado na sub-seção 2.5.1.2, é uma API disponibiliza pelo CIAO, que
ACE
n
2
Sub−sistema de comunicação
de Dados
Aquisição
Controle
Supervisão
framework proposto
Aplicação
Aplicação
Aplicação
1
TAO
CIAO
Sistema Operacional
...
Figura3.1: OARCOSesuaste nologiassubja entes
serviço. ComoReDaCépossívelsubstituir omponentes,redenir onexõesere onguraratributosde
montagensjáimplantadas, onstituindoumbomar abouçoparauma futuraimplementaçãodosuporte
àadaptaçãonoARCOS.Alémdisso,oReDaCfoiome anismoutilizadoextensivamentenoARCOSpara
a riaçãodenovasinstân iasde omponentes,operaçãoaserdetalhadanasub-seção3.3.3.
Desao 10: disponibilização de ferramentas amigáveis para o desenvolvedor e para o
usuárional da apli ação. Além de projetar eimplementar todaaarquiteturaserver-side parauso
emsistemasindustriais,oARCOSdisponibilizaaindaferramentasgrá asdeauxílioaousodoARCOS
edeutilização dosserviçosprovidospelo framework. Essasferramentaspermitemavisualizaçãográ a
de uma planta industrial, papel re onhe idamente desempenhado pelos sistemas SCADA (Supervisory
Control And DataA quisition), alémde auxiliaropro essode usodoARCOSpara odesenvolvimento
denovossistemasdeS&C.
A gura 3.1 apresenta as te nologias subja entes utilizadas pela plataforma ARCOS. Nas ama-
dasinferiores estão presentes osub-sistema de omuni ação em tempo-real e osistema opera ionalde
tempo-real,provendoosme anismosbási osquegarantemaprevisibilidadedosistema.Na amadainter-
mediária,en ontram-seaste nologiasdeimplementaçãodoARCOS(ACE,TAOeCIAO),responsáveis
pelo ambiente deexe uçãode omponentesdistribuídos. Fazendousodessastrêste nologias,oARCOS
deneserviçosreutilizáveisparaasatividadesdeaquisiçãodedados, ontroleesupervisão. Finalmente,
na amadasuperioren ontram-seasapli açõesindustriaisquereutilizamasoluçãoarquiteturaldenida
pelaplataformaARCOS.
Nas seções seguintes serão apresentados, de forma detalhada, o modelo arquitetural proposto pelo
frameworkARCOS,questõesté ni asdaimplementaçãorealizadaealgumas onsideraçõessobrearela-
çãodoARCOS omaspe tosteóri os fundamentais para odesenvolvimentode sistemas de tempo-real