BİLGİ  TABANLI  BİR YÖNETİM  SİSTEMİNDE  KAVRAMSAL

MODELLEMENİN  ÖNEMİ

 

Zeynep ALTAN

İstanbul Üniversitesi, Mühendislik Fakültesi

Bilgisayar Mühendisliği Bölümü

34850,  Avcılar, İstanbul

zaltan@istanbul.edu.tr

 

 

I. GİRİŞ

Bilindiği gibi bir yazılım geliştirme sistemi veriler ve bu veriler üzerine gerçekleştirilen  süreçler şeklinde iki temel kavramdan oluşmaktadır. Bu nedenle bir yazılım modelinin  geliştirilmesi sırasında problemin ayrıştırılması veri  ya da süreç faktörünün önemine göre gerçekleştirilir. Süreçleri temel alan programlama modelleri   C, Pascal gibi yapısal programlama dillerinin birer kara kutu gibi işleyen fonksiyonlarını kullanırlar. Oysa veriler temel alınarak programlama tasarımı yapan nesneye dayalı programlama yöntemlerinde, bilgi tabanlı sistemlerde olduğu gibi, sistemin hangi  süreçleri ne tür veriler üzerinde uyguladığı araştırılır.

      Gerçek dünya uygulamaları  esas olarak iki kısımdan oluşmaktadır:

     Varlıkların simgelenişinin  incelendiği nesneye yönelik veri

modellerinin    desteklenmesi,  

     Mevcut nesneye-yönelik veri tabanı sistemleri ile tam olarak

desteklenmeyen varlıklar arası ilişkilerin simgelenmesi.

 

       Nesneye yönelik veri  tabanlarının gelişimi hem nesneye yönelik programlama dillerinin hem de anlamsal veri modellerinin gelişmesi ile  güçlenmiştir. Aslında nesneye yönelik veri tabanının yapısal bileşenlerinin anlamsal veri modelleri ile ortak yönleri olmasına rağmen, ilişkilerin ele alınış tarzı daha çok nesneye yönelik programlama dillerdeki gibi  gerçeklenir. İlişkileri  nesneleri kullanarak modellemek   her zaman kolay  olmayabilir.

Nesneye yönelik veri tabanı sistemlerinde varlıklar arası ilişkiler:

     Nesne yapısının bir parçasını oluşturan nesne  özelliklerinin

simgelendiği iç-varlık ilişkisi; örneğin  kitap  ile kitabın başlığı arasındaki ilişki,

     Varlıklar arası ilişkilerin daha zayıf olduğu ara-varlık ilişkisi; örneğin

kurum ile kurumda çalışanlar ilişkisi

şeklinde nesne özelliklerine göre  sınıflandırılabilir [2]. Bu iki tanım arasındaki farkı şöyle de açıklayabiliriz:    

     İç-varlık  ilişkisi varlıklarla bir anlam taşırken, ara-varlık

ilişkileri  varlıklardan ayrı  simgelenirler.

     Varlıkların  öncelikli özelliklerinin  ara-varlık ilişkilerinden ayırt

edilmesi nedeni ile, iç-varlık ilişkileri ile oluşturulan veri tabanı  oldukça esnek; yani  modülerdir.

     Ara-varlık ilişkilerinde ise nesne özellikleri bazı karmaşık ilişkileri

tam olarak gerçekleştiremez; örneğin yuvalanmış ilişkilerin sıradüzensel olarak  örgütleşmesi  nedeni ile, işlenmeleri oldukça güçtür. Bir düzeydeki bir varlık bir sonraki düzeydeki bir dizi varlık ile ilişkilendirilebilir.

     Ara varlık ilişkilerinin  tanımlanması ve işlenmesi SQL benzeri

yüksek düzeyli çalışmalarla desteklenebilir.

      Avrupa kökenli O2, Amerika kökenli GemStone ve ONTOS nesneye yönelik veri tabanı yönetim sistemleri:

1.      Uygulama dilleri ve  platform farklılıkları, 

2.      Temel veri  tanımlama ve yönetim özellikleri,

3.      Aktif/pasif nesnelerin kullanımı

4.      Çoklu miras ilişkisini destekleme,

5.      Birleşik nesne özellikleri destekleme,

6.      Dinamik şema gelişim özellikleri,

7.      Veri depolama yönetimi,

8.      Bildirim değiştirebilme özelliği,

9.      Uygunluk ve sorgu yönetimi

10.  Veri tabanı erişim hızı ve güvenlik

11.  Kullanıcı arayüzleri

gibi  özellikleri ile farklılık gösteren,   C++ programlama dilinde  (GemStone ilave olarak Smalltalk ‘u da desteklemektedir) geliştirilmiş ticari nesneye yönelik veri tabanı yönetim sistemleridir [1].

 

II. KAVRAMSAL MODELLEMENİN ÖNEMİ

Nesneye yönelik bir dil gibi kavramsal modelleme dili de bir gerçek dünya varlığı ile ilgili tüm bilgiyi davranışı ile birlikte nesnenin kendisinde  kuşatır. Kavramsal modelleme dilleri gerçek dünya varlıklarını bilgisayar modelindeki nesneye doğrudan eşleştirmesi nedeni ile, bu  tür sistemlerin tasarımı ve yaşama geçirmesi oldukça kolaydır.  İlk nesneye yönelik standart dillerden olan Smalltalk,  örnek değişkenlerinin  özelliklerle yer değiştirmesi ile kısıtların bütünlüğünü ve ilişkilerin diğer nesnelerle semantiğini kuşatmıştır.

 

      İlişkisel  veri  modeli  pek çok   gerçek  dünya  veritabanı  yönetiminde  için  standart  olarak uygulanmaktadır. Geliştirilecek modelin, örneğin bir bilgi modelinin, veri tabanları ile varlıklar arasındaki ilişkilerin değerlerinin tutulduğu tablolarla  uyumlu olup olmadığı  araştırılır. Bu  yaklaşım , yüzyıllardan  beri  insanların  bilgi  dizilerini  tutmakta kullandığı  iki boyutlu  tablolara  çok  benzeyen  tek  ifadeli  yapısı ile oldukça  güçlüdür. Sonucun olumlu olması için de  veri güvenilirliği ve başarım oranı yüksek uygulamaların geliştirilmesi gerekir. Bu nedenle ilişkisel veri tabanı teknolojisi karmaşık bilgi sistemlerinin isterlerini tam olarak karşılayamaz. Oysa nesneye yönelik veri tabanı tasarımı ile  son derece  karmaşık bilginin  hızlı bir şekilde yönetilmesi mümkündür. Herhangi bir gerçek dünya varlığının tanımlanması için gerekli olan bilginin,  Pascal ‘da  kayıtlarla  ve  C’ de  yapılarla   tek bir depolama nesnesinde depolanabilmesine rağmen,  bu varlığın  çeşitli mesajlara karşı göstereceği davranış ve ilişkilerinin  diğer nesneler üzerindeki etkileri ve kısıtlarının   programın tümüne yayılması  zorunluluğu vardır .

 

      Bilindiği gibi veri tabanı kendi içinde verinin anlamı hakkında hiç bir şey saklayamaz. Bu da veri tabanı uygulamalarında sınırlama oluşturmuştur.  Oysa anlambilimsel veri modeli verinin yapısının geliştirilmesini sağlayarak uygulamalardaki kısıtları ortadan kaldırmıştır [7]. Anlambilimsel  veri modelleri kavramsal modellemenin üst seviyesinde geliştirilir, tasarımın gerçekleştirme aşaması ile bir bağlantısı yoktur.  Bu tür modellemede ifade kolaylığı, basitlik, kesinlik ve simgesellik temel ilkelerdir. Anlambilimsel ağlarda düğümler  nesneleri simgelerken, bağlantılar veya yaylar bağıntıları simgeler.  Anlambilimsel modellerin olumlu yönleri kolay anlaşılabilirliği, mirası desteklemesi, bilgiyi incelemenin doğal yolu olması iken; olumsuz yönleri de istisna durumlarını modellemedeki zorluk, yordamsal bilgiyi simgelemedeki güçlük, düğümleri ve bağıntıları tanımlamak için bir standart geliştirilmemiş olmasıdır.  Aslında  ticari  veri tabanı yönetim sistemleri anlambilimsel veri modelleme kavramları kapsamında değildir. Çünkü bu tür modelleme ile birbirinden farklı veya çelişkili yorumlar ortaya çıkabilir. Ayrıca anlambilimsel içeriğin ilişkisel bir yaşama geçirmede korunması da oldukça güçtür.  Veritabanında bilginin birden fazla anlamının sunulmasını mümkün kılan anlambilimsel veri modelleri  çeşitli veri soyutlamaları ile  geliştirilebilir.

 

III. NESNE MODELLEME TEKNİĞİ: VERİ SOYUTLAMALARI

Veri soyutlamaları ile gerçek dünya, varlıklar ve varlıklar arasındaki ilişkiler şeklinde çeşitli bakış açılarına göre  tanımlanabilir [4].

 

     Alt tip-üst tip ilişkilerini simgeleyen kapsama, 

     İki veya daha fazla nesne arasındaki  ilişkiye  izin vererek daha

yüksek seviyede bir nesne oluşturan kümeleşme,

     Öğelerin koleksiyonunu daha yüksek seviyede bir küme olarak

tanımlayan   birliktelik   

incelenen sistemin yapısını simgeleyen   nesneye yönelik modelleme metodolojisidir.

 

      Kapsama soyutlaması genellikle “is-a” ifadesi ile gösterilir. İlişkilerde “A is-a B” dir. A özel bir varlık tipi,   B ise genel nesne tipi ile ilgilidir. Kapsama soyutlaması bir çok çeşide ayrılabilir:

     Sınıflandırma, varlık oluşumu ve onun uygun varlık tipi arasında bir

kapsama soyutlamasıdır. Örneğin; “Ayşe sekreterdir”. Varlık tipinden varlık oluşumuna  doğru  ters ilişki   de  tanımlanabilir.

     Genel varlık tipi birbiriyle çakışmayan özel varlık tiplerinin birleşimi

olarak tanımlandığında bu soyutlama  genelleştirme oluşturur. Özel varlık tipleri genelin bir parçasıdır. Örneğin;  öğrenci  lisans  ve yüksek lisans öğrencilerin genelleştirmesidir.

     Özelleştirme ise genelleştirmenin tersidir. Genel varlık tipi

olayları bağımsız  altsınıflar şeklinde görüntüleyen  bazı ayırt edici karakteristikler içerir. Örneğin; mezun öğrenciler öğrencilerin özel bir halidir.

     Tek bir genellemeye birden fazla özel varlık  tipi ilişkilendirildiğinde,

özel    varlıklar arasındaki ilişkiyi kontrol etmek  gerekir. Örneğin özel varlık tipi numarasının  genel varlık tipi için tanımlanması gerekebilir. Çalışanlar isimli genel varlık tipinin;  sekreter, mühendis, yönetici, tam zamanlı ve yarı zamanlı çalışanlar varlık tiplerini içerdiği kabul edilsin.  Bunların bir grubu   tam zamanlı ve yarı zamanlı çalışanlar varlıkları olarak tüm çalışanları içerirler ve örtüşme oluşturmazlar. Bir başka grup ise  teknisyen, sekreter ve mühendis  olarak tüm çalışanları  içermemesine rağmen örtüşme de oluşturmaz. Fakat  bu iki grup arasında örtüşme  olabilir. Örtüşme olduğunda özel varlıklar arasında alt küme sıradüzeni  oluşur.

 

      Kümeleşme, nesneler arasındaki  ilişkinin daha yüksek düzeyde bir nesne olarak ele alındığı soyutlamadır. Küme oluşturulurken kümeyi oluşturan nesnelerin özgül özellikleri bastırılır. Örnek olarak “rezervasyon”  otel, insan ve tarihin  kümeleşmiş halidir. Nesnenin kendine ait özelliği olabileceği gibi başka  ilişkiler de içerebilir. Üç tür kümeleşme tanımlanabilir:

     Bir özellik diğer özelliklerin birleşimi olabilir. Mesela “adres “

özelliği numara, cadde, posta kutusu, posta kodu özelliklerinin bir kümeleşmesidir.

     Bir varlık,  varlık ve /veya özelliklerin bir toplaşımı olabilir. Örneğin

komite  bir varlık olarak , bir özellik olan isimden, bir varlık olan başkandan, bir varlık olan sekreterden, varlık takımı olan öğelerden meydana gelebilir.

     Bir ilişki, varlık ve özelliklerin bir toplaşımı olabilir. Örneğin; görev

ilişkisi,  hem çalışan ve proje varlık tiplerinin hem de başlangıç tarihi ve bitiş tarihi özelliklerinin  kümeleşmesi  olabilir.

      Kümeleşmenin bileşenleri  seviyelerde  tanımlanabilir. Örneğin, klima arabanın amaca uygun bileşeni (olması şart olmayan) iken,  motor belirleyici (karakteristik bileşenin tek başına kümeleşme oluşturması)  bileşenidir. Kümeleşmenin  bütünlüğünü sağlamak için, uygun olmayan bileşenler kaldırılmalı, tüm belirleyici bileşenler tanımlanmalı, herhangi bir belirleyici bileşen sadece bir defa  kullanılmalıdır.

 

      Birliktelik, öğe nesnelerin ayrıntılarının bastırıldığı, küme nesnesinin özelliklerinin ön plana çıkarıldığı soyutlama tipidir. Kümeleşme için tanımlanan  komite örneğindeki öğelik, kişi varlık tipinin  birlikteliğidir.  Birliktelik “komitenin öğelik bileşeni” şeklinde tanımlandığında  ilişki için de kullanılmış olur.  Birlikteliğin   öğelerinin tümü  aynı cinsten olmalıdır. Oysa kümeleşmenin bileşenleri çoğunlukla aynı cinsten değildir. Birliktelik soyutlaması ile sonlu sayıda öğe kullanılabilmesine rağmen, kümeleşmede bileşenlerin sayısı sabit olmalıdır.

 

        Farklı gerçek dünya kavramlarını modellemede kullandığımız ve yukarıdaki veri soyutlamalarına göre tanımlanan nesneler bir içerik sıradüzeni oluştururlar. Aşağıdaki şekilde  en genel şekilde çoklu içerik temsil edilmektedir.

 

Text Box:                                                            BİSİKLET

                           





TEKERLEK                                           FREN                                 VİTES                           ŞASİ






JANT     TEKERLEK    DIŞ LASTİK   MANİVELA  SUMEN    KABLO

                PARMAĞI
                                           

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Şekil 1: Bisiklet tasarımı için içerik sıradüzeni

 

Yukarıdaki tasarımda her bir bileşen bir nesne olarak modellenir ve bu bileşenlerin içerikleri aynı zamanda nesne içeriklerini oluşturur.  Bir simgelenişle sınıflara ait değişkenlerin tümü tanımlanmamış olabilir. Örneğin bisiklet sınıfı marka-ismi isimli bir değişken de içerebilir.

 

III. KAVRAMA YÖNELİK VERİTABANLARINDA BİR SORGULAMA ÖRNEĞİ

Kavrama yönelik veri tabanlarında sorgulamanın gerçekleşmesi duruma dayalı mantık yürüten sistemlerle gerçekleştirilebilir [6].  Bu sistemler bilgiyi hafızanın veya kullanılan kütüphanenin eski durumlarından çıkartarak amaç sorgusuna uygun verinin çıkarımı için bir mekanizma  oluştururlar. Belli bir veriyi arama kesin bir sorgulama olabileceği gibi bir amaç sorgulaması da olabilir. Kesin sorgulamalar kriterlere birebir uyan veriyi hedef alır. Örneğin “Balzac’ın eserleri nelerdir?” veya “8.15 uçağı ne zaman kalkıyor?. Sorgulamayı yapan kişi başka birinin eseri veya başka bir uçağın kalkış saati ile ilgilenmemektedir. Oysa amaç sorgulamaları o soruya yakın verileri hedef olarak tanımlar. Örneğin “kroner kalp yetmezliği riski düşük  olan hastalardan yüksek kolestrolü olanları listele” . Eğer hiç yoksa orta düzeydeki kolestrolü ve düşük kroner kalp riski olan hastalar da sorgulamayı yapanı ilgilendirebilir. Tipik amaç sorgulamaları kesin olmayan değerler içerebilir. Böyle sınırları belirsiz sorgulama gereksinmelerine mühendislik, tıp, yönetim gibi uygulamalarda  karşılaşılmaktadır. Kavramların oluşturulması ve duruma göre mantık yürütme sistemleri tıbbi teşhis, yatırım planlaması gibi bilgi yoğunluklu uygulama alanları için bilginin integrasyonunun doğru olarak sağlanması ile  doğru sonuçlar üretebilir.

 

      Duruma dayalı mantık yürütebilmek için tanımlanacak kavram modellerinin  bazı özellikleri gerçekleştirmesi  gerekir.  Klasik kavram modelinde kavramların gösterimi tüm sınıfın bir özet tanımını verir. Böylece hafızada tutulması gereken bilginin az olması sağlanır. Kavramın temsil ettiği özellikler gerekli özellikler iken, bunlar yan yana getirildiğinde  yeterli özellikleri oluştururlar. Bu nedenle de bu model ile  bir çok kavram için soyut özellik  tanımı yapılması güç olabilir. Kavramın tanımının gerekli ve yeterli özelliklerle sınırlanmadığı ve kavramın yine tüm sınıfın özet bir tanımı ile sunulduğu model, prototip kavram modelidir. Eğer kavram soyut bir özet olarak değil de bazı örnekleri ile  tanımlanıyorsa örnek kavram modeli oluşturur[3]. Bundan sonra sunulan kavramların veritabanında modellenmesi  seçilecek bir örnek tanımlama ve kavram sorgulama dilinde gerçekleştirilir. Böylece bilgi tabanlı yönetim sistemleri için duruma-yönelik mantık yürütme  ile yeni durumların yorumlanması ve yeni problemlerin çözümü elde  edilir.

 

 

IV.   BİLGİNİN WWW ORTAMINDA  SAKLANMASI

Geliştirilen herhangi bir yazılım sisteminin sonuçlarının bir veri tabanı içerisinde tutulması geleneksel bir yaklaşımdır. Oysa hem dilbilimsel hem de kavramsal desteği olan bir programın   geliştirilmesi  bilgi bilgisayarı  doğurur. Böylece bir konu ile ilgili bilgi edinmek isteyen ve bu bilgileri düzenleyen  herhangi bir kimse, çevrimiçi metinlerden  pek çok bilgiyi kolaylıkla algılayabilir. Burada geliştiricinin  potansiyel bir ilk kullanıcı olduğu görülür.  HTML – tabanlı bir tasarım gerçekleştirildiğinde geliştirici  çok çeşitli dağıtık   belgeye ulaşabilir; uzman kontrolleri ve standartlara uyum ile büyük ölçekte paylaşılabilirlik  sağlanabilir. Uzman kişilerle karşılıklı konuşmanın   sağlanması tıp, hukuk gibi tüm alana-özel terimler içeren  çalışmalarda önemlidir. Böylece problemin modellenmesi için  ulusal ve uluslararası düzeylerde oluşturulacak komitelerin  sadece betimsel değil  tavsiye edilmiş bilgiyi sunması sağlanır. Uyumun sağlanması için kavramsal analiz çok önemlidir. İlgi  alanının anlaşılabilirliği, o alanın kavramlarının anlaşılabilirliğidir.

 

      Tasarlanan  programın yaşama geçirilmesi için kavramsal analizi destekleyen  örnek metne gereksinim vardır.  Böylece belirli bir özel alana ait kavramları içererek  oportünist olmayan bir yaklaşım sergileyen   bir örnek metin  düzenlenir. Burada yapılan işin  bilgi mühendisliği ile ortak yönleri oldukça fazladır. Fakat  örnek metnin oluşumu için gerekli olan belgelerin  farklı kaynaklardan sağlanabilmesi ve bunların bilgisayar tarafından  okunabilir forma  dönüşümü  gerekmesi nedeni ile, kolaylıkla  tercih edilen bir yöntem olmamasına rağmen sonuçları çok sağlıklıdır.

      Bilgi tabanlı bir yönetim sistemi oluşturulurken geleneksel veri tabanı yerine dilbilimsel bilgiyi de içeren kavramsal ilişkiler çeşitli sıradüzenlerde tanımlanabilir[5] . Yukarıda ayrıntılı olarak incelenmiş olan soyutlamalar burada da tanımlanır. Örneğin; genelleştirme-özelleştirme için “araba bir araç cinsidir”,  konu için“cebir matematiğin alt alanıdır” ve parçası olma (kümeleşme) için  “baş vücudun bir parçasıdır”. Bu aşamada geliştirici çok  sayıda tanımlanabilen  ayırt edici özelliğin,  çerçeve benzeri bir yapı oluşturarak  kavram ile birlikteliğini kurmalıdır. Örneğin  bilişim alanına yönelik bir  sözlüğünün  düzenlendiğini düşünelim. CD-ROM kavramı için  bir kişi “depolama kapasitesi: 700 MB” şeklinde bir ayırt edici özellik tanımlayabilir. Bir kavram genelleştirme-özelleştirme sıradüzeninin bir parçası ise, ayırt edici özellikler otomatik olarak genelden daha özel kavramlara miras yolu ile geçmelidir. Burada çoklu mirasın da gerçeklenmesi sağlanabilir. Çalışmanın  daha sonraki aşamalarında dağıtık olarak oluşturulmuş farklı bilgi tabanlarının birleştirilmesi ile , o konu ile ilgili araştırma yapan kişinin daha büyük bir bilgi tabanına ulaşması  mümkün olabilir.  Örnek olarak Avustralya’daki arabalar ile ilgili bir bilgi tabanının Kanada’daki kamyonlarla ilgili bir bilgi tabanı ile tümleştirilmesi  verilebilir.

      Böylece; özellikle WWW ortamında belirli bir alana-yönelik belgelerin toplanması ile bu belgeler içindeki potansiyel terimlerin tanımlarının, bu terimlerin dilbilimsel özelliklerinin de  mevcut olduğu kavramsal bilginin analizi ile yapılması, daha nitelikli ve daha hızlı çalışan alana-yönelik  çalışmalar  olarak sonuçlanacaktır .

 

 

V . SONUÇ

 Bilgi tabanlı sistemlerde  yazılımın geliştirilmesi aşamalarında  pek çok sorun ile karşılaşılabilir.  Analiz aşamasında  yazılımın hizmet edeceği unsurlar isterlere göre  çok iyi belirlenmelidir. Geniş kapsamlı olarak  toplanmış veriler, geliştirilecek yazılımı başarısızlığa sürükleyebilir. Bu nedenle de yazılımın geliştirilmesi esnasında  kavramsallaştırma  temel bir problem çözme aktivitesi olarak  tanımlanabilir. Kavramsal modellemenin en önemli özelliği  sistemin yüksek düzeyde simgelenişini sergilemesidir. Amaç ise,  istelerden cümleler çıkararak  bunları tasarım ve program aktiviteleri için uygun hale getirmektir. Veri soyutlamaları  şeklinde tanımlanan özelliklerin birçok ticari veritabanı yönetim sistemi tarafından desteklenmemesi nedeni  ile, pratikte uygulanabilirliği yüksek  düzeyde değildir. Fakat dilbilimsel ve kavramsal  tanımlar arasındaki  benzerlikten  yararlanarak  geniş kapsamlı ve bilgi tabanlı  veritabanı yönetim sisteminin oluşturulması  kolaylaşmıştır.

 

VI.  KAYNAKÇA

[1].Barillere B, Chan B., Goff J.M., Milcent M., Huuskonen P.,.Stampfli R,.Willmott C, “Corparison Between Gemstone, Ontos and O2,  Oriented Database Management Systems”,

1993,      http://light.web.cern.ch/Light/cortex/report/

[2] Beraha S.,  Su J.;  “Support for Modeling Relationships in Object-Oriented Databases”, Data& Knowledge Engineering  29 (1999) 227-257.

[3] Dubitzky W., Büchner A.G., Hughes J.G., Bell D.A,“Towards Concept-Oriented Databases”, Data&Knowledge Engineering 30 (1999) 23-55.

[4] Goldstein R.C., Storey V.C., “Data Abstractions:Why and How?”, Data&Knowledge Engineering  29 (1999) 293-311.

[5] Meyer I., Skuce D., Kavanagh J.,.Davidson L, “Integrating linguistic and conceptual analysis in a WWW-based tool for terminography,

http://www.qucis.queensu.ca/achallc97/papers/p021.html

[6] http://www-cia.mty.itesm.mx/~lgarrido/Repositories/CBR/reasoning.html  Case-Based Reasoning Repository

[7] http://www.chimu.com/publications/ , ChiMu Corporation.