KABAN-2.XOODQÕFÕ$ra %LULPLYH*HoHUOHPH$OW\DSÕVÕ
$WDNDQùLPúHN øEUDKLP'HPLU=DKLU7H]FDQ 78%ø7$.%ø/*(0ø/7$5(1$QNDUD
e-posta:
atakan.simsek@tubitak.gov.tr ibrahimdemir.mail@gmail.com zahir.tezcan@tubitak.gov.tr
Özetçe.SimülasyonSURMHOHULJLELYHULOHULQ|QHPDU]HWWL÷LVLVWHPYHDUD\]SD UDPHWUHOHULQLQ NDUPDúÕN ROGX÷X YH SDUDPHWUHOHULQ ELU ELULQL HWNLOHGL÷L X\JXOD malarda, verilerin sistematik ve etkin bir geçerleme sürecine tabi WXWXOPDVÕYD]
JHoLOPH] ELU |QNRúXOGXU 9HUL SDUDPHWUHOHULQGH \DSÕODQ ELU \DQOÕúOÕN VLVWHPLQ
\DQOÕú oDOÕúPDVÕQD VHEHS YHUPHNWH YH X\JXODPDQÕQ NDUPDúÕNOÕ÷Õ LOH GR÷UXVDO RUDQWÕGDKDWDQÕQND\QD÷ÕQÕEXOPDYHKDWDo|]PH PDOL\HWLQHVHEHSROPDNWDGÕU Bu \D\ÕQGD, projelerdeki girdiX]D\ÕQÕKDWD\DVHEHEL\HWYHUPHPHNLoLQGLQDPLN RODUDNJHoHUOH\HQJHoHUOHGL÷LYHULLoLQRWRPDWLNDUD\]UHWHQUHWWL÷Larayüz- GHSURJUDPÕQGR÷UXúHNLOGHNXOODQÕPÕQÕ]RUXQOXNÕODQJHoHUOHPHVLVWHPLVD\H sinde).$%$1DOW\DSÕSURMHOHULanlatÕOPDNWDGÕU.XUXPXPX]GD\ÕOODUFDNXOOD QÕODQ .$%$1-1 DOW\DSÕVÕ, projelerdeki tecrübeler ve ihtiyDoODU GR÷UXOWXVXQGD JHOLúWLULOLSKABAN-2 projesi KDOLQLDOPÕúWÕU %X\D\ÕQLNLVLQLGHNDSVDPDNWDGÕU Anahtar Kelimeler: Dinamik geçerleme, YHUL JYHQLOLUOL÷L Rtomatik arayüz ROXúWXUPD, semantikGR÷UXODPD
1 *ø5øù
9HULNDOLWHVLQLQYHGR÷UXOX÷XQXQ|QHPDU]HWWL÷LSURMHOHUGHNXOODQÕFÕGDQWXWDUOÕYHUL JLUGLVLVD÷ODPDNKD\DWL|QHPHVDKLSWLU.DUPDúÕNJLUGLX]D\ÕRODQSURMHOHUGHNXOODQÕFÕ ne kadar yetkin bile olsa dikkatsizlik sonucu ya da KHVDS KDWDODUÕQGDQ GROD\Õ \DQOÕú veri girdisi SURJUDPÕQKDWDOÕVRQXoUHWLPLQHya daoDOÕúPDPDVÕQDVHEHSYHUHELOPHN WHGLUdDOÕúPDVUHVLVDDWOHUya da günlerle ifade edilen projelerde herELUKDWDOÕoDOÕú WÕUPD FLGGL ]DPDQ YH PDOL\HW SUREOHPOHUL oÕNDUDELOPHNWHGLU 'DKD GD N|WV H÷HU KDWDOÕJLUGLNPHVLfark edilmezseYHEXDQDOL]LQVRQXoODUÕLQVDQKD\DWÕQÕLOJLOHQGLUHQ güvenlik-kritik projelerde NXOODQÕODFDNVD LQVDQ KD\DWÕQÕ WHKOLNH\H DWDFDN VRQXoODU RUWD\DoÕNDELOPHNWHGLU
Uzun soluklu projelerde, genellikle ister GRNPDQÕ QHNDGDUL\LWDQÕPODQPÕúROXUVD ROVXQLKWL\DoPDNDPÕQÕQLVWHNOHUL]DPDQODúHNLOOHQebilmektedir. 'H÷LúHQLVWHUOHUNDS VDPÕQGD DUD\]Q \HQLGHQ WDVDUODQPDVÕ LKWL\DFÕ GR÷abilmektedir. Yeni girdilerin HNOHQPHVL SDUDPHWUH JUXSODUÕQÕQ GH÷LúPHVL HQ D]ÕQGDQ SDUDPHWUHOHULQ \HULQLQ GH
÷LúPHVL SURMHOHUGH VÕN NDUúÕODúÕODQ GXUXPODU DUDVÕQGDGÕU %X GXUXPODUGD oR÷X NH]
JHoPLúWH \DSÕODQLúOHULQLQELUNÕVPÕQÕQ NXOODQÕODPDPDVÕ YH]DPDQ-maliyet yükü gibi sonuçlar RUWD\DoÕNPDNWDGÕU.
<XNDUÕGD EDKVHGLOHQ SUREOHPOHUe o|]P ROPDVÕ DGÕQD 7h%ø7$.-ø/7AREN ola- UDNELUDOW\DSÕSURMHVLJHOLúWLULOPLúWLU.$%$1-1 ismi verilen bu projede dinamik veri geçerleme ELOHúHQL YHRWRPDWLNDUD\]ROXúWXUPD ELOHúHQL EXOXQPDNWDGÕU.%XDOW\DSÕ
\ÕOODUFD GH÷LúLNbenzetim projelerinde NXOODQÕOPÕúWÕU =DPDQOD \HQL LVWHNOHU ROXúPXú YH JHOLúHQ WHNQRORML VD\HVLQGH \HQL NDELOL\HWOHU HNOHQPH LPNkQODUÕ RUWD\D oÕNPÕúWÕU Bu sebeple KABAN-SURMHVLJHOLúWLULOPLúWLU%X\HQLSURMHVD\HVLQGHKHPGDKD|QFH NXOODQÕODQSURMHQLQWHFUEeOHULQGHQID\GDODQÕOPÕúKHPGHGDKDNXOODQÕúOÕGDKDNDbili-
\HWOLELUDOW\DSÕSURMHVLROXúWXUXOPXúWXU
%X\D\ÕQÕQ JHULNDODQÕDúD÷ÕGDNLJLELG]HQOHQPLúWLUøNLQFLE|OPGHEXSUREOHP lere o|]PRODUDNEDúNDVLVWHPOHUve QDVÕOo|]POHUNXOODQÕOPÕúonlar incelenecektir.
Üçüncü bölümde bizim çözümümüz olan KABAN-1 VLVWHPLQLQ DQD ELOHúHQOHUL YH
\DSÕVÕ DQODWÕODFDN $\QÕ E|OPGH EXQD HN RODUDN KABAN-1 sisteminin eksiklikleri LUGHOHQLSo|]PRODUDNJHOLúWLULOen KABAN-VLVWHPLQGHEXHNVLNOLNOHUQDVÕOJLGHULO GL÷LNRQXVXLQFHOHQHFHNWLUDördüncü bölümde sonuçlar üzerindeNRQXúXODFDNWÕU
2 ø/*ø/ød$/,ù0$/$5
9HULQLQ EWQON YH GR÷UXOXN DU] HWPHVL QHUHGH\VH EWQ SURMHOHUGH LVWHQLOHQ Eir
|QNRúXOGXU(÷HUJYHQOLN-kriWLNSURMHOHUGHQEDKVHGHUVHNEX|QNRúXOoRNGDKDKD\DWL ELU|QHPJ|VWHUPHNWHGLUdQN\DQOÕúJLUGLQLQNXOODQÕOGÕ÷ÕELUVHQDU\RGD\DQOÕúoÕNWÕ üretilebilir YH GDKD N|WV LQVDQ KD\DWÕQD PDO RODELOHFHN KDWDODU \DSÕODELOLU %XQD HQJHO ROPDN DGÕQD JLUGL X]D\ÕQÕQ GR÷UXOX÷XQX JHoHUOH\HQ VLVWHPOHU JHOLúWLULOPLúWLU
“Commons Validator”[2], “DataSift”[3] ve “iScreen”[4] bu ED÷ODPGD|UQHNYHULOHEL lecek sistemlerdir. %X VLVWHPOHU D\UÕQWÕOÕ RODUDN LQFHOHQPLú DUWÕODUÕ HNVLOHUL GHWD\OÕ úHNLOGHDQDOL]HGLOHUHNNHQGLJHOLúWLUGL÷LPL]DOW\DSÕlarGDEXWHFUEHOHUGHQID\GDODQÕO PÕúWÕU 7h%ø7$.-ø/7$5(1 WDUDIÕQGDQ JHOLúWLULOHQ .$%$1 VLVWHmlerini bu sistem- OHUGHQ D\ÕUDQ WHPHO |]HOOLNOHU LVH NXUDO LIDGH JF GLQDPLN JHoHUOHPH NDELOL\HWL YH otomatik arayüz üretme kabiliyetidir [1].
.XUDOLIDGHJFJHoHUOHPHVLVWHPOHULQLQRPXUJDVÕQÕROXúWXUPDNWDGÕU. Bu sebeple KABAN sistemlerinin NXUDO WDQÕPODPD DOW\DSÕVÕ LoLQ WLWL]OLNOH GDYUDQÕOÕSakademik oHYUHOHUGH NXOODQÕODQ NXUDO WDQÕPODPD GLOOHUL LQFHOHQPLú YH EXQODU DUDVÕQGD HQ LOHUL ROGX÷X J|]OHPOHQHQ 1[%UH>@ &/,;>13], RuleML[14,15], ARML[12], Star- burst[11], Ariel>@ GHWD\OÕ úHNLOGH DQDOL] HGLOPLúWLU øOJLOL oDOÕúPDODUÕQ DUWÕODUÕ YH HNVLOHULLUGHOHQHUHN.$%$1NXUDOoDOÕúPDGLOLEXYHULOHUÕúÕ÷ÕQGDWDVDUODQPÕúWÕU
3 g1(5ø/(1dg=h0
<XNDUÕGD EDKVHGLOHQ SUREOHPOHUH o|]P ROPDVÕ LoLQ JHOLúWLULOHQ .$%$1 DOW\DSÕ projeleri, JLUGLX]D\ÕQÕGLQDPLNELUúHNLOGHJHoHUOHPH\HWDELWXWPDNWDGÕU*HOLúWLULOHQ DOW\DSÕYHUL\DSÕODUÕLoLQDUDOÕNGH÷HUNRQWUROIRUPDWNRntrolü gibi basit geçerleme- leri yapabilmenin \DQÕ VÕUD; ELUGHQ ID]OD YHUL \DSÕVÕ DUDVÕQGDNL VHPDQWLN ED÷ODQWÕ\Õ koQWUROHGHUHNYHUL\DSÕODUÕQÕED÷OÕROGX÷XJLUGLOHULQ GH÷HUOHULQHJ|UHGLQDPLNGR÷UX
ODPD LúOHPL GH \DSDELOPHNWHGLU .$%$1 sistemlerinin kabiliyetleri sadece bunlarla GDVÕQÕUOÕGH÷LOGLU(÷HUELUJLUGLQLQGH÷HULninEDúNDJLUGLOHUHED÷OÕúHNLOGHKHVDSODQ PDVÕ JHUHNL\RUVD VLVWHP EXQX GLQDPLN YH RWRPDWLN ELU úHNLOGH KHVDSOD\ÕS DUD\]GH LOJLOL\HUHNR\DELOHFHNNDELOL\HWHVDKLSWLU(÷HUED÷OÕROXQDQSDUDPHWUHQLQGH÷HULde-
÷LúLUVHDOW\DSÕODUÕPÕ]EXKHVDSODPDODUÕ \HQLGHQ\DSÕSKHU]DPDQGR÷UXGH÷HULJ|VWH UHFHNúHNLOGHWDVDUODQPÕúWÕU
*HOLúWLUGL÷LPL]DOW\DSÕODUÕQELUGL÷HU|]HOOL÷LGH\XNDUÕGDEDKVHGLOHQJHoHUOHPHVLV WHPLQLQ DUD\]Q RWRPDWLN RODUDN ROXúWXUPDVÕGÕU %|\OHOLNOH DUD\]ya da girdi X]D\ÕVÕNVÕNGH÷LúHQSURMHOHUGH\HQLGHQDUD\]WDVDUÕPPDOL\HWLQGHQNXUWDUPDNWDGÕU
$UD\]Q RWRPDWLN ROXúWXUXOPDVÕ VLVWHPLQ VD÷ODGÕ÷Õ ELU HN |]HOOLN ROPDVÕ LWLEDUL\Oe istem dâhilinde ilgili \DSÕODQGÕUPD GRV\DVÕ VD\HVLQGH DUD\] WDVDUÕPÕQD PGDKDOH edilmesine imkânVD÷ODQPDNWDGÕUøVWHNdâhilindeDUD\]UHWLPLGHYUHGÕúÕEÕUDNÕOÕS JHOLúWLULFLWDUDIÕQGDQJHOLúWLULOHQDUD\]VLVWHPHNROD\ELUúHNLOGHEWQOHúWLULOPHVLQH imkân vermektedir. %XE|OPQ JHUL NDODQÕQGDo|]PRODUDNUHWWL÷LPL]LNLDOW\DSÕ SURMHVLDQODWÕODFDNWÕU
3.1 KABAN-1
Editör Veri Modeli
Editör Konfigürasyonu
Veri Tipi 7DQÕPÕ (XML Schema) .XOODQÕFÕ$UDELULPL(KAB)
KabanCode Generator
Geçerleyici Konfigürasyonu
ùHNLO 1.KABAN-1 0LPDUL7DVDUÕP
ùHNLO de J|UOG÷ ]HUHKABAN-1 DOW\DSÕVÕ[1] temel olarak üç ana parçadan ROXúPDNWDGÕUBu ELOHúHQOHUL DOWEDúOÕNODUGD GHWD\OÕRODUDNLQFHleyecek olursak:
3.1.1 KabanCode Generator %LOHúHQL:
0DQWÕNRODUDN0LFURVRIW9LVXDO6WXGLRLoLQGHEXOXQDQ“XSD.exe” LOHD\QÕROPDVÕ QDUD÷PHQ“XSD.exe” GHEXOXQDQELUHNVLNOL÷LQWDPDPODQPDVÕPDNVDGÕ\ODJHOLúWLULO PLúWLU“XSD.exe” de eksiklik sadece LVWH÷HED÷OÕ DODQODULoLQ³6SHFLILHG´DODQÕQÕROXú WXUPDVÕGÕU KABAN-1 VLVWHPLQLQ \DSÕVÕ JHUH÷L KHUKDQJL ELU DODQÕQ LoLQGHNL GH÷HULQ WXWDUOÕ ELU GH÷HU ROXS ROPDGÕ÷ÕQÕQ ELOLQPHVL JHUHNPHNWHGLU %X \]GHQ JHOLúWLULOHQ KabanCodeGenerator, tüm alanlar için “Specified” isminde tipi “bool” olan bir alan ekler. KABAN sistemLQGHYHUL\DSÕODUÕXML úHPD WLSLQGHWDQÕPODQPDNWDGÕU.DEDQ CodeGerator ELOHúHQL ³;ml Schema” QHVQHOHULQL RNX\DUDN & VÕQÕI NWSKDQHOHULQL ROXúWXUXU
3.1.2 Veri Modeli %LOHúHQL:
Bu ELOHúHQ VÕQÕINWSKDQHOHULQLRNX\DUDNYHULPRGHOOHULQLROXúWXUXU9HULPRGHOOH ri KL\HUDUúLN ELU \DSÕGD ROXúWXUXOGX÷XQGDQ EX \DSÕ YHUL PRGHO D÷DFÕQGD VHUEHVWge- zinmeLPNkQÕ YHUPHNWHGLU%XWDVDUÕP.$%$1-1’in geçerleme kabiliyetinin gücünü DUWÕUPDNWDGÕU.DUPDúÕNJHoHUOHPHOHUGHYHULPRGHOD÷DFÕLOJLOLDODQODULoLQJH]LOHUHN dinamik KHVDSODPD\DSÕODELOPHNWHGLU
*HoHUOHPH NXUDOODUÕ 9HUL 0RGHOL ELOHúHQLne bir \DSÕODQGÕUPD GRV\DVÕ VD\HVLQGH
\NOHQPHNWHGLU%XGRV\D\ÕJHOLúWLULFLELUVHIHUOLNROXúWXUPDNWDYHJHoHUOHPHNXUDOOD UÕGH÷LúWL÷LQGHVDGHFHLOJLOLDODQÕQÕQJHoHUOHPHNXUDOÕQÕGH÷LúWLUHUHk sistemi yönetmek- tedir. Bu dosyD;0/WDEDQOÕ YHGR÷UXOX÷X;0/úHPD WDUDIÕQGDQGR÷UXODQDFDNúHNLO GH WDVDUODQPÕúWÕU, bu sebeple kopyala-\DSÕúWÕU DUD\D HODPDQ HNOHPH DUDGDQ HOHPDQ VLOPHLúOHPOHULNROD\OÕNOD \DSÕODELOPHNWHGLU
KABANDOW\DSÕSURjelerininJHoHUOHPH VLVWHPLQLQJFNXUDOWDQÕPODPDúHPDVÕ QÕQLIDGHJFQHGD\DQPDNWDGÕU.$%$1JHoHUOHPHVLVWHPLEDVLWDUDOÕNJHoHUOHPH OHULQGHQ NDUPDúÕN ED÷ÕQWÕVDO JHoHUOHPHOHUH NDGDU NXOODQÕFÕ\D OD]ÕP RODELOHFHN oRN JHQLú ELU DUDOÕN VXQPDNWDGÕU +HU Qe kadar NXUDO WDQÕPODPD DOW\DSÕVÕQÕQ JHOLúWLULFL\H OD]ÕPRODELOHFHNEWQJHoHUOHPHWLSOHULQLNDSVDGÕ÷ÕGúQOVHGHKHUihtimaleNDUúÕ .$%$1VLVWHPL&GLOLQGH\D]ÕOPÕúNRGEOR÷XQXJHoHUOHPHVLVWHPL\OeEWQOHúPH sine imkân VD÷OD\DFDN DOW\DSÕ\Õ GD LoLQGH EDUÕQGÕUPDNWDGÕU 8\JXODPD NXOODQÕFÕVÕ LVWHGL÷LDQJHoHUOHPHLoLQ&EOR÷XQXNXOODQDELOPHNWHGLU
<XNDUÕGD, KABAN-VLVWHPLQGHQDOÕQDQ SDUDPHWUHGH÷HUOHULELUELULQHED÷OÕbir ge- oHUOHPH|UQH÷L YHULOPHNWHGLU %X|UQHNWHELU QLYHUVLWHVÕQÕIÕQGDNLERú|÷UHQFLkon- WHQMDQÕQÕQ VÕQÕIÕQNDSDVLWHVLQGHQ |÷UHQFLOLVWHVLQGHNL|÷UHQFLVD\ÕVÕQÕQoÕNDUÕOPDVÕLOH KHVDSODQPDVÕQÕWDQÕPOD\DQJHoHUOHPHSDUoDFÕ÷ÕJ|UQPHNWHGLU
(÷HUELUYHULPRGHOLQHED÷OÕJHoHUOH\LFLde hata hesapODQÕU LVHD÷Do\DSÕVÕVD\HVLQGH EXKDWDHQWHSHHOHPDQDNDGDUoÕNDUÕODELOLU%XQXQVD\HVLQGHHQGLSHOHPDQGD(belki GH R VÕUDGD DUD\]GH J|UQPH\HFHN NDGDU DúD÷ÕGD EXOXQDQ ELU HOHPDQGD ELOH KDWD ROVDEXKDWD\XNDUÕNDGDUWDúÕQDFD÷ÕQGDQNXOODQÕFÕX\DUÕOPÕú YHNXOODQÕFÕQÕQJ|]QGHQ NDoPDPÕúolur.
3.1.3 Editör Modülü
Editör ELOHúHQL ilgili \DSÕODQGÕUPD GRV\DVÕQÕRNX\DUDNRWRPDWLNDUD\]ROXúWXUPD LúOHYLQL J|UPHNWHGLU %X VD\HGH DUD\] VÕN VÕN GH÷LúHQ SURMHOHUGH DUD\]Q WHNUDU
tekrar \DSÕOPDVÕ PDOL\HWLQLQ |QQH JHoLOmektedir. Arayüz \DSÕODQGÕUPD dosyDVÕ da XML WDEDQOÕ ELU GRV\DGÕU EX VHEHSOH GRV\D JQFHOOHPH LúOHPOHUL NROD\OÕNOD \DSÕOD bilmektedir.
<XNDUÕGDNLNRGEOR÷XQGDJUXSKDOLQGHJ|VWHULOPHVLJHUHNHQELU\DSÕYHRQXQDOWSD rametrelerini gösteren bir \DSÕODQGÕUPD SDUoDVÕJ|UQmektedir. BuraGDGDJ|UOG÷
JLEL NXOODQÕFÕQÕQ VDGHFH JHQHO GD÷ÕOÕPÕ vermesi KABAN sistemleri için yeterlidir.
$PDNXOODQÕFÕNHQGLLVWHNOHULGR÷UXOWXVXQGDGDKDGHWD\OÕWDQÕPODPDNLVWHUVH\DSÕODQ GÕUPDdos\DVÕQGDWDQÕPODQDQGL÷HUSDUDPHWUHOHULGHNXOODQDELOLU(÷HUNXOODQÕFÕEXQ ODUÕQGD\HWHUOLROPDGÕ÷ÕQÕGúQUVH&NXOODQDUDNeditörüWDQÕPOD\DELOLU.$%$1
&VÕQÕIODUÕQÕHGLW|UELOHúHQLQGH GLUHNNXOODQDELOHFHNúHNLOGHWDVDUODQPÕúWÕU
ùHNLO2.(GLW|UGL]LOLP|UQH÷L
ùHNLOGe KABAN-1 editörELOHúHQLQLQ JLUGLOHULDUD\]GHQDVÕOGL]GL÷LQLQELU|UQH÷L J|VWHULOPHNWHGLU5HVPLG|UWSDUoD\DE|OHUVHNVROVWNÕVÕPGD3RLQWLVPLQGHELUVÕQÕI WDQÕPODQPÕúYHEXVÕQÕIÕQLNLDOWJLUGLVLEXOXQPDNWDGÕU5HVPLQVD÷VWNÕVPÕQGD3RLQW VÕQÕIHOHPDQODUÕQÕQJHUoHNDUD\]GHNDUúÕOÕ÷ÕJ|VWHULOPHNWHGLU5HVPLQVRODOWNÕVPÕQ GD NXOODQÕFÕ NRQWUROQGH \DWD\ DNÕúNDQ GL]LOLPL UHVPLQ VD÷ DOW NÕVPÕQGDise resmin GLNH\DNÕúNDQGL]LOLPLJ|VWHULOPHNWHGLU *HOLúWLULFLEXGL]LOLPOHULoLQGHLVWHGL÷L\HUOH úLPL\DSÕODQGÕUPD GRV\DVÕQGDVDGHFHELUNDoSDUDPHWUHGH÷HULQLGH÷LúWLUHUHNHOGHHGH bilir.
ùHNLO3.KABAN-1 sistemi örnek ekran görüntüsü
ùHNLO3 de KABAN-1 VLVWHPL NXOODQÕODUDN ROXúWXUXODQbir demo projesinin ekran J|UQWV YHULOPLúWLU. 'H÷LQLOHQ SURMHGH oRN EDVLW KDOL\OH ELU QLYHUVLWHQLQ |÷UHQFL LúOHULSURJUDPÕ\DSÕOPD\DoDOÕúÕOPÕúWÕU$UD\]WDPDPHQRWRPDWLNUHWLOPLúKHUKDQJL ELUHNWDQÕPODPD\DSÕOPDPÕúWÕU%XUDGD³&RXUVHV7DNHQ´sekmeJUXEXDOWÕQGD³*UD de” girdisinde ELU NÕUPÕ]ÕOÕN EXOXQPDNWDGÕU %X NÕUPÕ]ÕOÕN SDUDPHWUHQLQ geçerleme- sinde KDWD ROGX÷XQXgöstermektedir. Sekme alanÕQÕQ EDúOÕ÷ÕQGD YH OLVWHQLQ ]HULQGH NÕUPÕ]ÕOÕNROPDVÕGDDOWSDUDPHWUHOHULQELULQGHKDWDROGX÷XQXEHOLUWPHNWHGLU(÷HUELU SDUDPHWUHGHKDWDYDUVDRSDUDPHWUHGHQHQWHSHSDUDPHWUH\HNDGDUJHoHUOHPHD÷DFÕQ GDNLKHUDODQLoLQKDWDÕúÕ÷Õ\DNÕOÕU7DELNLEX|zellik seçmelidirYHNDSDWÕODELOLU%X
|]HOOL÷LQDPDFÕKHUKDQJLELUDODQGDNLJHoHUOHPHKDWDVÕQÕQJ|]GHQNDoPDPDVÕYHVLV WHPLQ EWQ SDUDPHWUHOHULQ JHoHUOHPH\L JHoWL÷LQL JDUDQWL HWPHNWLU +DWD\Õ PHVDMÕQÕ J|UPHNLoLQNXOODQÕFÕQÕQIDUHLOHNÕUPÕ]Õ\HULQ]HULne gelmesi gerekmektedir.
3.2 KABAN-2
=DPDQLoLQGHNXOODQÕODQSURMHOHUGH\HQL LVWHNOHUROXúPXú YH.$%$1-DOW\DSÕVÕQGD EXLKWL\DoODUÕQJLGHULOPHVL]RUODúPD\DEDúODPÕúWÕU%XVHEHSOH.$%$1-1 projesinde- NLWHFUEHOHUNXOODQÕODUDN\HQLELUDOW\DSÕSURMHVLJHOLúWLULOPLú|QFHNLLOHD\QÕoDOÕúPD PDQWÕ÷ÕQDVDKLSROGX÷XLoLQ.$%$1-úHNOLQGHLVLPOHQGLULOPLúWLU
3.2.1 0LPDUL<DSÕ
ùHNLOKABAN-0LPDUL<DSÕ
KABAN-2 projesi KABAN- SURMHVLQLQ JHOLúPLú KDOLGLU EX VHEHSOH .$%$1-1 SURMHVLQGHDQODWÕODQKHUNDELOL\HWLGHVWHNOH\HFHNúHNLOGHWDVDUODQPÕúWÕUdDOÕúPDPDQ WÕ÷ÕYHNDELOL\HWDoÕVÕQGDQD\QÕ|]HOOLNOHUHVDKLSROGX÷XQGDQ\XNDUÕGDDQODWÕODQNDELOL yetler bu böOPGHWHNUDUDQODWÕOPD\DFDNWÕU
KABAN- SURMHVLQLQ PLPDUL \DSÕVÕ .$%$1- GHQ IDUNOÕ ELU J|UQPH VDKLSWLU çünkü MVVM deseni ]HULQH LQúD HGLOPLúWLU *HOLúWLULOHQ“view model” NRGODUÕ MVVM uyumludur. *HOLúWLULFL 90/ GRV\DVÕ NXOODQDUDN YLHZ PRGHOOHUL WDQÕPOD\D ELOPHNWHGLU*HoHUOHPHNXUDOODUÕ.9)GRV\DODUÕYDVÕWDVÕ\ODWDQÕPODQDELOPHNWHDUD\]
de otomatik “Xaml” GRV\DODUÕ VD\HVLQGH ROXúWXUXOPDNWDGÕU 90/ YH .9) GRV\DODUÕ EL]LP WDUDIÕPÕ]dan gHOLúWLULOHQ GRV\D IRUPDWODUÕGÕU “Xaml” GRV\DODUÕ GD .$%$1-2 projesine EWQOHúLN oDOÕúDQELUX\JXODPDVD\HVLQGHRWRPDWLNROXúWXUXOPDNWDGÕU.
KABAN- SURMHVL oDOÕúPD DPDFÕ DoÕVÕQGDQ .$%$1- LOH D\QÕ NÕVWDVODUD sahiptir, DPDFÕ GLQDPLN JHoHUOHPH \DSPDN YH RWRPDWLN DUD\] UHWPHNWLU 0LPDUL \DSÕVÕ YH NXOODQGÕ÷ÕteknolojilerIDUNOÕGÕUEXVHEHSOH.$%$1-HJ|UHGDKDKÕ]OÕoDOÕúPDNWDGÕU YHJHOLúWLULFLDoÕVÕQGDQNXOODQÕPÕGDKDNROD\ODúWÕUÕOPÕúWÕU
3.2.2 Geçerleme Optimizasyonu
KABAN-1 VLVWHPLDUD\]GHNLKHUKDQJLELUSDUDPHWUHQLQGH÷HULGH÷LúWL÷LQGHRala- QD ED÷OÕ EXOXQDQ SDUDPHWUHOHULQLQ GH÷HULQL JHUoHN ]DPDQOÕ \HQLGHQ KHVDSOD\DFDN úHNLOGH WDVDUODQPÕúWÕU 6LVWHP büyük benzetim projelerindeSDUDPHWUH VD\ÕVÕ ! WHVW HGLOPLúWLU JHUoHN ]DPDQOÕ GH÷HU GH÷LúLNOL÷LQLQ NXOODQÕFÕQÕQ IDUN HGHPH\HFH÷L kadar küoN ]DPDQ GH÷LúLPLQGH \DSÕOGÕ÷Õ J|UOPúWU IDNDW GRV\DGDQ VHQDU\R \N leme, listelere büyük veri ekleme ya daVLOPHJLELLúOHPOHUGHNXOODQÕFÕQÕQfark edebil- GL÷L ELUJHFLNPH\DúDQGÕ÷ÕJ|]OHPOHQPLúYHVLVWHPLQHQX\XPOXOX÷X açÕVÕQGDQLQFH OHQPLúWLU6RQXoRODrak KABAN-DOW\DSÕVÕQGDVÕUDODQPÕúoL]JH \DSÕVÕQÕQVLVWHPLON D\D÷DNDONWÕ÷ÕQGDVLVWHPWDUDIÕQGDQROXúWXUXOPDVÕQDYHGH÷LúHQGH÷HUOHUHJ|UHED÷ÕP OÕOÕNODUÕQ EXoL]JH\DSÕVÕQDEDúYXUXODUDN\HQLGHQKHVDSODQPDVÕQD NDUDUYHULOPLúWLU
Örnek verilecek olursa:
ùHNLO 5.'LNoJHQWDQÕPÕ ùHNLO¶GHverilenGLNoJHQWDQÕPÕQDgöre:
- x > 0 [xPozitif]
- y > 0 [yPozitif]
- z > 0 [zPozitif]
- ] ¥[ð\ð>SLVDJRU@
- (x+y) > z & |x-y| < z & (x+z) > y & |x-z| < y & (z+y) > x & |z-y| < x [üçgen]
NXUDOODUÕEHOLUOHQHELlir. Bu kurallar çerçevesinde geçerlemeler:
- x.Geçerli = xPozitif & üçgen [xKural]
- y.Geçerli = yPozitif & üçgen [yKural]
- z.Geçerli = zPozitif & üçgen [zKural]
olarak belirlenebilir.
ùHNLO6.gUQHNdL]JH<DSÕVÕ HEHYH\QoRFXNKL\HUDUúLVL
ùHNLO7.6ÕUDODQPÕúoL]JH
ùHNLO¶GHoL]JHQLQ|UQHNELUVÕUDODQPDVÕYHULOPLúWLU%XVÕUDODPD]HULQGHQJLGLOH FHN ROXUVD \ GH÷HULQGH KHUKDQJL ELU GH÷LúPH ROGX÷XQGD ].XU G÷PQH NDGDU G
÷POHU NRQWURO HGLOHFHN YH ED÷ÕPOÕ RODQ GH\LPOHU LúOHQHFHNWLU[ GH÷HULQGH GH÷Lúme ROGX÷XQGDLVH[.XU¶DNDGDURODQ G÷POHULQFHOHQHFHNWLU
dL]JHVÕUDVÕROXúWXUXOXUNHQWRSRORMLNVÕUDODPD\DSÕOPÕúYH|\OHROXúWXUXOPXúWXUBu oL]JH NXOODQDUDN VDGHFH LOJLOL ED÷ODQWÕODU \HQLGHQ NRQWURO HGLOGL÷LQGHQ YH JHUHNVL]
NRQWUROOHUD]DOWÕOGÕ÷ÕQGDQVLVWHPLQKÕ]ODQPDVÕVD÷ODQPÕúWÕU
%LU EDúND JHOLúLP LVH JHoHUOHPH NXUDOODUÕQÕQ LúOHQPHVLQGH \DSÕOPÕúWÕU .$%$1-1 VLVWHPLQGH JHoHUOHPH NXUDOODUÕ ;0/ GRV\DVÕ úHNOLQGH WXWXOPDNWD YH VHULOHúWLUPH Lú OHPL\DSÕOPDNWDGÕUøKWL\DoKDOLQGH³5HIOHFWLRQ´NXOODQÕODUDN YHULD÷DFÕJH]LOPHNWH\
di. KABAN-VLVWHPLQGHJHoHUOHPHNXUDOODUÕ.9)GRV\DODUÕQGDWXWXOPDNWDYHVLVWHP D\D÷D NDONPDGDQRWRPDWLNELUX\JXODPDPÕ]VD\HVLQGH&NRGODUÕQDG|QúPHNWHGLU
%X VHEHSOH JHoHUOHPH LúOHQLUNHQ ³5HIOHFWLRQ´ NWSKDQHVL \HULQH GLUHN NRG EORNODUÕ NXOODQÕOPDNWDGÕU <DSWÕ÷ÕPÕ] LQFHOHPHOHUGH VDGHFH EX LúOHPLQ VLVWHPL \DNODúÕN5-10 katKÕ]ODQGÕUGÕ÷ÕJ|]OHPOHQPLúWLU
3.2.3 .RQILJUDV\RQ'RV\DODUÕ
KABAN-1 sisteminde \DSÕODQGÕUPD GRV\DODUÕ NXOODQÕFÕQÕQ UDKDWOÕNOD GH÷LúWLUHELO PHVLYHEXGH÷LúLNOLNOHULQoRNLúJFoÕNDUPDPDVÕDGÕQDXMLWDEDQOÕWDQÕPODQPÕúWÕU Her ne kadar XMLGRV\DODUÕLOHX÷UDúPDN\D]ÕOÕPFÕODULoLQNROD\ROVDGDGL÷HUGLVLS OLQOHUGHQ NXOODQÕFÕODU LoLQ DOÕúPD VUHFL R NDGDU NROD\ ROPDPDNWDGÕU. Bu sebeple bu dosyaODU GDKD NROD\ QDVÕO ROXúWXUDELOHFH÷LQLQ \|QWHPOHUL DUDúWÕUÕOPÕú ve alternatif çözüm EXOXQPXúWXU(GLW|U\DSÕODQGÕUPD GRV\DVÕQÕQ\HULQHELUX\JXODPDNXOODQÕOPD VÕQDNDUDUYHULOPLúWLU%XX\JXODPD;DPONRGXUHWPHNWHGLUYH.$%$1-2 sistemi bu
;DPO NRGODUÕQÕ Nullanarak arayüz üretmektedir. ùHPD GRV\DVÕQGDQ YHUL \DSÕODUÕ RNXQGXNWDQVRQUDEXX\JXODPDDoÕOPDNWDYHKHUYHULWLSLLoLQNXOODQÕFÕ\DLOJLOLNXWX FX÷DNXOODQÕFÕLVWH÷LQLJLUPHVLQHimkân vermektedir.
ùHNLO8 deEXX\JXODPDQÕQGHPRSURMHVLLoLQDUD\]J|UOPHNWHGLUBu vesileyle editörWDUDIÕLoLQ\DSÕODQGÕUPD GRV\DVÕROXúWXUXOPDVÕLúlemLNROD\ODúWÕUÕOPÕúWÕU
ùHNLO 8.KABAN-2 Arayüz Editörü
%LUEDúND\DSÕODQGÕUPD GRV\DVÕGDJHOLúWLULFLWDUDIÕQGDQLOJLOLJHoHUOHPHOHULWDQÕP ODPDNLoLQNXOODQÕOPDNWDGÕUBuna çözüm olarak yeni bir betik(script) GLOLJHOLúWLULOPLú ve bu betik GLOL LoLQ GHUOH\LFL WDQÕPODQPÕúWÕU <HQL GLO PPNQ ROGX÷XQFD KHUNHVLQ anlayaELOHFH÷L NDGDU EDVLW ELU úHNLOGH WDQÕPODQPD\D oDOÕúÕOPÕú YH HQ VÕN NXOODQÕODQ JHoHUOHPH WLSOHULQL HQ VDGH YH HQ KÕ]OÕ \D]ÕPÕQÕ NROD\ODúWÕUDFDN úHNLOGH WDVDUODQPDVÕ JD\HVL JGOPúWU(ùHNLO ). <D]ÕP NROD\OÕ÷ÕQÕ VD÷ODPDN DGÕQD \DUGÕP FÕ,QWHOOLVHQVH |]HOOL÷L HNOHQPLúWLU .XOODQÕFÕQÕQ \D]GÕ÷Õ NHOLPHOHU RWRPDWLN RODUDN WDPDPODQPDNWDGÕU
ùHNLO 9.KABAN-2 Geçerleme Dili
ùHNLO10.KABAN-*HoHUOHPH'LOL%1)WDQÕPÕ
ùHNLOGD \HQLJHOLúWLULOHQGLOLQ%1)gösterimindeWDQÕPÕQÕQELUNÕVPÕgörülmek- tedir.'HUOH\LFLEXWDQÕPDEDNDUDNGRV\DQÕQGR÷UXOX÷XQXYHGHUOHQHELOGL÷LQLNRQWURO HWPHNWHGLU(÷HUGRV\Dda bir hata yoksa dosya derlenip&NRGXQDG|QúPHNWHGLU
4 SONUÇ
KABAN-1 ve KABAN-2 sistemleri benzetim projeleri gibi hem veri girdisinin çok YHNDUPDúÕNROGX÷XKHPGHYHULEWQO÷QQ YHGR÷UXOX÷XQXQ |QHPDU]HWWL÷LSUR MHOHUGH RODVÕ Lú \NQ HQ D]D LQGLUPH oDEDVÕ LOH UHWLOPLú DOW\DSÕ SURMHOHULGLU KABAN-1 SURMHVL7h%ø7$.-ø/7$5(1EQ\HVLQGHoRNVD\ÕGDSURMHGHNXOODQÕOPÕú YH JYHQLOLUOL÷LQL oRN NH] NDQÕWODPÕú ELU SURMHGLU .$%$1-1 SURMHVLQGH L\LOHúWLUPH
|QHULOHUL LQFHOHQPLú YH .$%$1- SURMHVL JHOLúWLULOPLúWLUBu vesileyle hem sistem KÕ]ODQGÕUÕOPÕúKHPGHNXOODQÕPNROD\OÕ÷ÕDUWPÕúWÕUKABAN projeleri özünde birbirin- GHQ ED÷ÕPVÕ] ELU JHoHUOHPH YH HGLW|U ROXúWXUPD DOW\DSÕVÕQÕ EDUÕQGÕUPDNWDGÕU øVWH÷H J|UHVDGHFHJHoHUOHPHNÕVPÕWHNEDúÕQDNXOODQÕODELOPHNWHGLU.
0úWHUL LVWHNOHUL ]DPDQOD GH÷LúHQ JHOLúHQ X]XQ VROXNOX SURMHOHU J|VWHUPLúWLU ki .$%$1NXOODQÕPÕSURMHOHULQJHOLúWLUPHPDOL\HWLQGHYH]DPDQÕQGDkazanç VD÷ODPÕú WÕU+HUDOW\DSÕSURMHVLQGHROGX÷XJLELLONNXOODQÕPÕQGDELU|÷UHQPHmaliyetine gerek- sinim duyulPDVÕQD UD÷PHQ VRQXoWD E\N UHVPH EDNÕOGÕ÷ÕQGD SURMHOHULQ GDKD KÕ]OÕ WDPDPODQPDVÕQÕVD÷ODGÕ÷ÕNXUXPXPX]GDHGLQLOPLúELUWHFUEHGLU
5 KAYNAKLAR
[1] Demir I, Tezcan Z, Alpdemir M.N, KABAN : Simulasyon Verileri Geçer- OHPHYH2WRPDWLN.XOODQÕFÕ$UDELULPL2OXúWXUPD$OW\DSÕVÕ86026
[2] Commons Validator, http://jakarta.apacheçorg/commons/validator, Apache Software Foundation, 2006
[3] DataSift: Data Validation and Transformation Framework, http://www.datasift.org, The Auel Project, 2004
[4] Shallman, D., i-screeen: The Java Object Validation Framework, http://i- screen.org/, 2006
[5] %DOFÕ2´9HULILFDWLRQ9DOLGDWLRQDQG7HVWLQJ´LQ+DQGERRNRISimulation, Eds. Jerry Banks, John Wiley & Sons, 1998
[6] Petrakos, G.A. and Farmakis, G.E., “A Declarative Approach To Data Va- lidation Of Statistical Data Sets, Based On Metadata”, http://citeseer.ist.psu.edu/ pet- rakos00declarative.html, 2000
[7] XML Schema Part 0: Primer, W3C Recommendation, Second Edition, http://www.w3.org/XML/Schema, 28 October 2004
[8] Dossot David, NxBRE .Net Business Rules Engine, 2006
[9] Hanson Eric N.,Rule Condition Testing and Action Execution in Ariel,In Pro- ceeding of ACM SIGMOD Conference, 1992
[10] Hanson Eric N.,The Design and Implementation of the Ariel Active Database Rule System, IEEE Transactions on Knowledge and Data Engineering archieve, Vo- lume 8 Issue1, Pages 157-172,1996
[11] Widow Jennifer, The Starbust Active Database Rule System, IEEE Transacti- ons on Knowledge and Data Enginnering, 1996
[12] Cho Eunsuk, Park Insuk, Hyun Soon J.,Kim Myungchul, ARML: an Active Rule Markup Language for Sharing Rules among Active Information Management Systems, First International Workshop on RuleML, 2002
[13] 0DUFRQL0LFKHDO1HQWZLFK&KULVWLDQ&/,;/DQJÕDJH6SHFLILFDWLRQ9HUVLRQ 1.0, 2004
[14] Boley Harold, Tabet Said, Wagner Gerd, Design Rationalite of RuleML: A Markup Language for Semantic Web Rules, Semantic Web Working Symposium, 2001
[15] Boley Harold, Tabet Said, Wagner Gerd, Design Rationalite of MOF- RuleML: The Abstract Syntax of RuleML as a MOF Model, OMG Meeting, 2003