Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
XML tehnologija i primjena u sustavima
procesne informatike
Damir Kirasić[email protected]
Sveučilište u ZagrebuFakultet elektrotehnike i računarstva
© FER Zagreb - MIPRO 2005 2
Sadržaj
1.
Osnovni pojmovi2.
Neke primjene XML-a u energetici
1.
IEC 618502.
CIM/XML
3.
ETSO Scheduling
System
© FER Zagreb - MIPRO 2005 3
1 Osnovni pojmovi
•
XML je kratica od “Extensible
Markup Language”
•
Doslovno prevedeno: “Proširivi jezik za označavanje”
•
XML koristimo za označavanje strukture dokumenata i podataka.
•
XML je jedan od mnogih jezika za označa- vanje: RTF, HTML, SGML,...
© FER Zagreb - MIPRO 2005 4
XML primjer<?xml
version="1.0" ?>
<SCL><Substation
Ref="SS1">
<VoltageLevel
Ref="D1" Volatage="220kV"><Bay
Ref="Q1">
. . .</Bay>
</VoltageLevel></Substation>
</SCL>
© FER Zagreb - MIPRO 2005 5
XML Primjer
•
Gornji primjer slijedi normu IEC 61850-6: Substation
automation
system
configuration
description
language.•
Skraćeno se ova norma često naziva: SCL (Substation
Configuration
Language).
=> Zajedno sa XML-om naučit ćemo nešto malo o SCL-u.
© FER Zagreb - MIPRO 2005 6
XML - definicije
•
XML je tekst format.•
XML je proširivi jezik za definiranje strukture podataka i dokumenta.
•
XML je predložak, obrazac za opisivanje više srodnih dokumenata.
•
XML je tekstualni način zapisivanja podataka –
neovisan o tipovima računala
ili programske podrške -
otvorena norma.
© FER Zagreb - MIPRO 2005 7
XML preporuka
•
Svi detalji XML-a su definirani u preporuci (oni normu nazivaju "recommendation") od 32 stranice koju je napisao W3C konzorcij.
•
Početna adresa konzorcija:http://www.w3.org
•
XML preporuka:http://www.w3.org/TR/2004/REC-xml-20040204/
•
Preporuka se poziva i na druge standarde: Unicode, ISO/IEC 10646, ...
© FER Zagreb - MIPRO 2005 8
Oznake i sadržaj
•
XML dokument je niz Unicode znakova.
•
XML dokument ima sadržaj i oznake (eng. tag)
<Private>Proizvoljni sadržaj</Private>
oznaka sadržaj oznaka
© FER Zagreb - MIPRO 2005 9
Elementi
•
Najčešći dijelovi XML dokumenata su elementi.
•
Elementi imaju:–
početnu oznaku <Private>
–
sadržaj
tekst ili podelementi–
završnu oznaku </Private>
•
Prazni element: <Private/>
© FER Zagreb - MIPRO 2005 10
Elementi i podelementi
•
Elementi mogu imati podelemente
<Bay><Device> ... </Device>
<LNode> ... </LNode><Connection> ... </Connection><Private>x=1 y=2</Private>
<Device> ... </Device></Bay>
© FER Zagreb - MIPRO 2005 11
Elementi i podelementi
•
Ako unutar nekog elementa započinje podelement, on mora i završiti unutar istog elementa.<a>....<b>... </a>....</b> KRIVO !!!
•
XML dokument mora imati samo jedan korijenski element.
•
Ova dva pravila (i još
nekoliko drugih) definiraju "dobro formiran"
XML dokument.
© FER Zagreb - MIPRO 2005 12
Atributi
•
Elementi mogu imati atribute.
<Substation
Ref="SS1"><VoltageLevel
Ref="D1" Volatage="220kV">
<Bay
Ref="Q1">. . .
</Bay></VoltageLevel>
</Substation>
© FER Zagreb - MIPRO 2005 13
Atributi
•
Atribut ima oblik ime="vrijednost"•
Vrijednost atributa mora biti unutar navodnika.
•
Element može imati više atributa ali unutar jednog elementa ne smije biti više atributa s istim imenom.
© FER Zagreb - MIPRO 2005 14
Ostali XML dijelovi
•
XML deklaracija<?xml
version="1.0" encoding="UTF-8" ?>
•
Komentari<!--
Sadržaj komentara -->
•
Procesorske naredbe<?xml-stylesheet
type="text/xml" href=""?>
© FER Zagreb - MIPRO 2005 15
Ostali XML dijelovi
•
CDATA sekcija<![CDATA[
Proizvoljni sadržaj koji možesadržavati znakove koje inačene možemo koristiti kao sadržajelemenata. Npr. < > & ' "
]]>
•
Document
type
definition
(DTD)
© FER Zagreb - MIPRO 2005 16
XML oznake
•
Oznake koje koristimo u XML-u nisu unaprijed definirane.
•
Korisnici XML-a moraju sami definirati oznake i njihovo značenje.
•
Ili mogu koristiti oznake koje je netko ranije definirao.
•
Za razmjenu dokumenata između dvije strane mora postojati dogovor, konvencija o korištenju zajedničkih oznaka.
© FER Zagreb - MIPRO 2005 17
Opis oznaka
•
Zajednički dogovor o oznakama i njihovom značenju se opisuje sa:–
Document
Type
Definition
(DTD) ili sa
–
XML Schema•
Ovo su dva mehanizma za točno definiranje skupa oznaka koje možemo koristiti u XML dokumentu.
•
Time definiramo novi jezik, novu gramatiku za razmjenu dokumenata.
© FER Zagreb - MIPRO 2005 18
DTD - Primjer<!--
DTD primjer, djelomicni
SCL, datotka
scl.dtd
-->
<!ELEMENT SCL (Substation|IED|LNodeType|Communication)+><!ELEMENT Substation
(LNode*,VoltageLevel+,Private*) >
<!ATTLIST Substation
Ref
CDATA "">. . .<!ELEMENT Bay
(Text?,LNode*,Device+,Private?)>
<!ELEMENT Device
(Text?,LNode*,Connection*,Private*)><!ATTLIST Device
Ref
CDATA #REQUIREDType
NMTOKEN #REQUIRED
>...
© FER Zagreb - MIPRO 2005 19
Što XML nije?
•
Iako se naziva “jezik”, XML nije programski jezik kao npr. Java ili C#.
•
Dokument napisan u XML-u se ne može izvoditi –
on ne radi ništa.
•
XML je “tekst format”
i kao takav predstavlja pasivnu stvar.
•
XML je novisan
o tipu računala, operacijskom sustavu ili Internetu.
© FER Zagreb - MIPRO 2005 20
XML – razmjena podataka
•
XML je prvenstveno zamišljen kao fleksibilno sredstvo za razmjenu podataka između računala (programa).
•
XML možemo koristiti kao format zapisa podataka
(koji nisu namijenjeni razmjeni).
•
XML premošćuje nekompatibilne, hetero- gene sustave na Internetu i intranetu.
© FER Zagreb - MIPRO 2005 21
Obrada XML-a
•
XML je prvenstveno namijenjen strojnoj, programskoj obradi.
•
Za prikaz XML-a koristimo CSS ili XSLT.•
Korisničke aplikacije je jednostavno napraviti jer je najteži dio posla (parsiranje) već napravljen kroz biblioteke.
•
Imamo velik izbor oruđa (XML DB, XSLT, XPath, XQuery,...) i biblioteka programa.
© FER Zagreb - MIPRO 2005 22
Sažetak
•
XML dokument je obični tekst s umetnutim oznakama koje oko sebe imaju < >.
•
Temeljni dijelovi XML dokumenta su elementi i atributi.
•
Elementi imaju početnu i završnu oznaku.•
Elementi mogu sadržavati podelemente i/ili atribute.
•
Gramatiku određujemo s DTD ili Schema
© FER Zagreb - MIPRO 2005 23
2 Neke primjene XML-a
•
IEC 61850•
Common
Information
model -
CIM
•
ETSO Scheduling
System (ESS)
•
Sve promatramo kao primjena XML-a na određeno područje.
•
Ne znam detalje iz područja energetike (slabi inženjeri i jaki inženjeri).
© FER Zagreb - MIPRO 2005 24
2.1 XML i IEC 61850
•
IEC 61850
je norma koja treba omogućiti interoperabilnost
inteligentnih elektroničkih
uređaja (eng. IED) unutar rasklopnih postrojenja (eng. substation).
•
IEC 61850 definira:–
značenje (semantiku) imena i podataka (npr. značenje za prekidač, uklopno
stanje (eng. position),
...–
konfiguracijske podatke
–
razmjenu run-time podataka
© FER Zagreb - MIPRO 2005 25
IEC 61850-6
•
IEC 61850-6
je dio IEC 61850.•
Definira "Substation
Configuration
description
Language" -
SCL.•
SCL koristi objektni model koji sadrži:–
funkcionalnu strukturu
–
IED strukturu–
komunikacijsku strukturu
© FER Zagreb - MIPRO 2005 26
IEC 61850-6
•
U SCL modelu se pojavljuju objekti kao što su: Substation, Bay
(hrv. vodno polje),
Voltlevel, PrimaryDevice, IED, LNode, AccessPoint, Bus,...
•
SCL koristi UML za grafički opis modela i XML za tekstualni opis modela.
•
XML ima ugrađenu relaciju "sadrži": objektA sadrži objektB
(element-
podelement), ali ne i druge relacije.
© FER Zagreb - MIPRO 2005 27
<?xml
version="1.0" ?>
<SCL><Substation
Ref="SS1">
<VoltageLevel
Ref="D1" Voltage="220kV">
<Bay
Ref="Q1">
<Device
Ref="QA1" Type="CBR">
<LNode
Ref="1" LNClass"CSWI" />
<Connection
TNodeRef="L1" />
<Private
Type="FerLayout">a=3 b=4</Private>
</Device>. . .
</Bay></VoltageLevel>
</Substation><Communication><ConnectedAP Ref="S" IEDRef="D1Q1KA1">...</ConnectedAP>
</Communication><IED Ref="D1Q1KA1"> ... </IED>. . .
</SCL>
ovo je relacija koja nije tipa "sadrži"
© FER Zagreb - MIPRO 2005 28
IEC 61850-6
•
Prethodni primjer skraćeno prikazuje jednu moguću konfiguracijsku datoteku u SCL formatu.
•
Norma jednoznačno definira značenje elemenata <Substation>, <Bay>, <Device>,...
•
Ali definira i dozvoljenu sintaksu.
© FER Zagreb - MIPRO 2005 29
IEC 61850-6
•
Sintaksa SCL-a je definirana DTD-om (ili XML Schemom?).
•
DTD opisuje:–
koji se elementi mogu pojaviti,
–
dozvoljeni redoslijed elemenata,–
moguće atribute elemenata,
–
koje podelemente može imati element...
© FER Zagreb - MIPRO 2005 30
2.2 Common
Information
Model -
CIM
•
Za međusobno komuniciranje sudionika na području energetskih sustava nužne su zajedničke konvencije, modeli, zajednički rječnik.
•
Jedan od pokušaja u tom području je CIM -
Common
Information
Model.
•
Autor CIM-a je EPRI -
Electric
Power Research
Institute, ali je sada dio IEC
61970.
© FER Zagreb - MIPRO 2005 31
CIM
EnergyManagement
System
A
EnergyManagement
System
B
CIM/XML
© FER Zagreb - MIPRO 2005 32
CIM - UML
•
CIM je apstraktan okvir za definiranje modela energetskih sustava.
•
Originalno, CIM je definiran kao niz UML dijagrama
koji opisuju:
•
entitete•
atribute
•
relacije između entiteta
© FER Zagreb - MIPRO 2005 33
CIM - XML
•
CIM definira "strukturu i značenje podataka koji opisuju entitete u energetskim sustavima".
•
Za razmjenu
podataka koristi se CIM/XML.•
CIM/XML
je jezik za opis CIM modela u
XML formatu.
© FER Zagreb - MIPRO 2005 34
CIM - XML
•
Izravno zapisivanje CIM-a u XML-u je nezgodno (prema nekim autorima) jer:–
treba opisivati relacije između entiteta
–
se CIM još
uvijem mijenja–
dopisivanja vanjskih podataka je teško
•
Teško je definirati DTD ili XML Schemu
za “goli”
CIM/XML.
=> probleme rješava RDF
© FER Zagreb - MIPRO 2005 35
CIM - RDF
•
RDF -
Resource
Description
Framework
je XML jezik za opisivanje entiteta (sredstava), njihovih svojstava i odnosa između njih.
•
RDF ima mogućnosti:–
opisivanja odnosa između objekata,
–
definiranja promjenjivog CIM-a,–
opis dodatnih, vanjskih podataka,
–
...
© FER Zagreb - MIPRO 2005 36
CIM razine
XML
CIM
RDF Programi
© FER Zagreb - MIPRO 2005 37
CIM - Primjer<cim:Substation ID="ID1"
cim:PowerSystemResourceName="East"><cim:MemberOfCompany resource="#ID3"/><cim:Contain>
cim:Breaker ID="ID2"cim:PowerSystemResourceName="11023"cim:Manufacturer="Admirable Electric"cim:NormalOpen="true"/>
</cim:Contain></cim:Substation><cim:Company ID="ID3" CompanyName="ABC" >
<cim:CompanyDescription>Government organization</cim:CompanyDescription>
</cim:Company>
© FER Zagreb - MIPRO 2005 38
CIM/RFD Schema
•
CIM/XML je formalno definiran RDF Schemom
(u RDF Schemu
su još
dodana
neka proširenja).
•
RDF i CIM koriste "namespaces" -
to su XML popisi imena => imena oznaka sada imaju dva dijela <rječnik:ime ...>
•
Time izbjegavamo preklapanje imena.
© FER Zagreb - MIPRO 2005 39
2.3 ETSO Scheduling System
•
ETSO -
European
Transmission
System Operators.
•
Zadaća za ETSO Task
Force
14 je "definirati norme za Electronic
Data
Interchange
(EDI) u području europskog tržišta električne energije ...".
© FER Zagreb - MIPRO 2005 40
ESS
•
ETSO Scheduling
System (EES) definira format poruka između sudionika tržišta.
•
EES je posebno namijenjen za "day
ahead schedules" poruke i to za fazu planiranja.
•
ETSO "balancing
process
phases":–
planning
–
operation–
settlement
© FER Zagreb - MIPRO 2005 41
ESS Primjer
•
Polazna poveznica za ETSO: http://www.edi.etso-net.org
•
Primjer: schedule-xml.xml•
Dozvoljeni formati poruke su definirani sa DTD-om schedule-xml.dtd
•
Još
su definirane poruke:–
"acknowledgement"
–
"anomaly"–
"confirmation"
© FER Zagreb - MIPRO 2005 42
KRAJ
Puno uspjeha XML-om