• Sonuç bulunamadı

Çevik Ontoloji Geliştirme 101: Yeniden Kullanım Tabanlı Çevik Bir Ontoloji Geliştirme Yöntemi

N/A
N/A
Protected

Academic year: 2021

Share "Çevik Ontoloji Geliştirme 101: Yeniden Kullanım Tabanlı Çevik Bir Ontoloji Geliştirme Yöntemi"

Copied!
12
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Çevik Ontoloji Geliştirme 101: Yeniden Kullanım

Tabanlı Çevik Bir Ontoloji Geliştirme Yöntemi

Cemil Abiş1, Görkem Giray, Murat Osman Ünalır1

1 Ege Üniversitesi, Bilgisayar Mühendisliği Bölümü, İzmir

91110019563@ogrenci.ege.edu.tr, gorkemgiray@gmail.com, murat.osman.unalir@ege.edu.tr

Özet. Ontolojilerin bilgisayar bilimleri alanında yaygınlaşmasıyla birlikte, loji geliştirme metodolojilerine yönelik çalışmalar da artmıştır. Genellikle onto-loji geliştirme deneyimlerinden ortaya çıkan bu metodoonto-lojiler, geliştirme süreç-lerini farklı bakış açılarıyla ele almıştır. Ancak yazılım mühendisliğinde olduğu gibi olgunlaşmış ve kabul görmüş bir süreçten bahsetmek hala mümkün değil-dir. Bunun yanı sıra ontoloji geliştirme metodolojilerinin çözüm sağlayamadığı yeniden kullanım gibi bazı konular, ontoloji mühendisleri için önemli bir sorun olmaya devam etmektedir. Bu çalışmada mevcut yöntemlerin eksiklikleri dikka-te alınarak, çevik ve yeniden kullanım tabanlı bir ontoloji geliştirme metodolo-jisi önerilmiştir.

Anahtar Kelimeler: Ontoloji, ontoloji geliştirme metodolojileri, ontoloji mü-hendisliği, ontoloji yeniden kullanımı, çeviklik.

Agile Ontology Development 101: A Reuse-based Agile

Ontology Development Methodology

Cemil Abiş1, Görkem Giray, Murat Osman Ünalır1

1 Ege University, Department of Computer Engineering, Izmir

91110019563@ogrenci.ege.edu.tr, gorkemgiray@gmail.com, murat.osman.unalir@ege.edu.tr

Abstract. With the spread of ontologies in the field of computer science, stud-ies on ontology development methodologstud-ies have increased. These methodolo-gies, which generally arise from ontology development experiences, have dealt with the development processes from different perspectives. However, it is still not possible to talk about a mature and generally accepted process as in soft-ware engineering. In addition, some issues, such as reuse, where ontology de-velopment methodologies cannot provide solutions, remain an important prob-lem for ontology engineers. In this study, an agile and reuse-based ontology

(2)

velopment methodology is proposed considering the shortcomings of the exist-ing methods.

Keywords: Ontology, ontology development methodologies, ontology engi-neering, ontology reuse, agility.

1

Giriş

Ontoloji geliştirme metodolojileri, ontoloji geliştirme sürecini kolaylaştıracak ve ba-şarıyı arttıracak bir dizi faaliyeti içeren yönergelerdir. Bu süreçlerin bazıları doğrudan bilgi mühendisliğini temel almakta, bazıları ise yazılım geliştirme sürecinin kabul gören adımlarını ontoloji mühendisliğine göre uyarlamaktadır [1,2]. Ancak ontoloji geliştirme alanında, yazılım geliştirme metodolojilerindeki gibi kabul görmüş ve ol-gunlaşmış bir metodolojiden hala bahsedilememektedir.

Ontoloji geliştirme metodolojilerinin en önemli problemlerinden biri, mevcut onto-loji kaynaklarının yeniden kullanılmasıdır. Yeniden kullanım adımı birçok metodolo-jide bulunsa da bunun nasıl yapılacağı konusunda yeterince detaylı bilgi yer alma-maktadır. Bunun yanı sıra yeniden kullanım sürecini destekleyecek araçların olmama-sı da önemli bir eksikliktir.

Bu çalışmada, mevcut metodolojilerin eksiklikleri değerlendirilerek, çevik ve yeni-den kullanım tabanlı bir ontoloji geliştirme süreci önerilmiştir. Bildirinin ikinci bölü-münde, bu konudaki temel kavramlar ve ilgili çalışmalara değinilecek ve eksiklikler üzerinde durulacaktır. Üçüncü bölümde önerilen yöntem detaylandırılacaktır. Dör-düncü bölümde ise ontoloji geliştirme süreci ve yeniden kullanımdaki araçlar ve bu çalışma kapsamında geliştirilen uygulamadan bahsedilecektir. Son bölüm, değerlen-dirme ve gelecek çalışmalar hakkındaki bilgileri sunacaktır.

2

Temel Kavramlar ve İlgili Çalışmalar

Yeniden kullanım tabanlı ve çevik ontoloji geliştirme amacının açık olarak anlaşıla-bilmesi için mevcut ontoloji geliştirme yöntemlerinin, yeniden kullanımın ve çevikli-ğin ontoloji geliştirme bağlamındaki öneminin ayrı ayrı anlaşılması gereklidir. Bu nedenle, bu bölümde ilgili konular hakkında bilgiler verilecektir.

2.1 Ontoloji Geliştirme Metodolojileri

Ontolojilerin bilgisayar bilimlerinde yer edinmesi ve yaygınlaşmasıyla birlikte ontolo-ji geliştirme metodoloontolo-jileriyle ilgili çalışmalar da hızlanmıştır. Genellikle geliştirilen ontolojilerden elde edilen deneyimleri esas alan yeni metodolojiler, ontoloji geliştir-menin başarıya ulaşmasını sağlayacak süreçleri ve aktiviteleri sunabilmeyi amaçla-mıştır. Ontoloji geliştirme süreçlerine yönelik yöntemler, metodolojiler, teknolojiler ve araçlar üzerinde yapılan bu çalışmalar, Ontoloji Mühendisliği olarak adlandırılan yeni bir mühendislik disiplinini ortaya çıkarmıştır [3].

(3)

Grüninger ve Fox [4], TOVE projesi kapsamında geliştirilen ontolojiler sonucunda elde ettikleri deneyimlerle bir metodoloji önermişlerdir. Bu metodoloji, literatürde ontoloji geliştirme ile ilgili yer alan ilk çalışmalardan biridir. Ontoloji geliştirmenin ilk adımı olarak amaç ve kapsam çalışması yapılarak kullanıcı hikayelerine dayanan senaryolar oluşturulmaktadır. Bu adımı biçimsel olmayan yeterlilik soruları takip etmektedir. Terminoloji ve aksiyomlar, birinci derece mantık (first-order logic) kulla-nılarak biçimsel hale getirilmektedir. Çalışmada, geliştirme sürecinin yaşam döngüsü ile ilgili bir detay verilmemiş ve ontoloji yeniden kullanımından bahsedilmemiştir. Ayrıca aktiviteler ile ilgili detaylar yer almamaktadır.

Uschold ve King [5], Enterprise Ontology [6] isimli ontolojinin geliştirim sürecin-de elsürecin-de ettikleri sürecin-deneyimler doğrultusunda bir süreç iskeleti önermiştir. Ana süreç, amaçların belirlenmesi, ontolojinin geliştirilmesi, değerlendirme ve dokümantasyon olmak üzere dört adımdan oluşmaktadır. Geliştirme aşamasında kavramsal modelin oluşturulması, bu modelin biçimsel bir dille kodlanması ve yeniden kullanım alt adımları yer almaktadır. Bu aktiviteler ile ilgili detaylı bilgi verilmemektedir. Ontoloji geliştirme süreci için bir yaşam döngüsü önerilmemiştir. Ayrıca, ontoloji yeniden kullanımından detay verilmeden bahsedilmektedir.

Methontology [1], önceki süreçlerden farklı olarak ontoloji geliştirme süreci için önerilen bir yaşam döngüsü üzerinde oluşturulmuştur. Prototipleme yaşam döngüsünü temel olan Methontology, içerdiği tüm aktiviteleri proje yönetimi, geliştirme ve des-tek olacak şekilde üç ana gruba ayırmıştır. Proje yönetimi, planlama, kontrol ve kalite yönetimi gibi aktiviteleri içermektedir. Geliştirme ile ilgili aktivitelerde, temel olarak kavramsal modelin oluşturulması ve ardından biçimsel modelin geliştirilmesi ile ilgili adımlar bulunmaktadır. Ontoloji yeniden kullanımı, destekleyici bir faaliyet olarak önerilmiştir ve ontoloji geliştirme sürecinin tüm adımlarında yer almaktadır.

Noy ve McGuinness, ontoloji geliştirme literatüründe yer alan önemli çalışmalar-dan biri olan Ontology Development 101’i önermişlerdir [2]. Bu çalışma, proje yöne-timi ve destekleyici aktiviteleri de içeren kapsamlı bir süreçten çok geliştirme faali-yetlerine odaklanan bir çerçeve şeklindedir. Özellikle vurgulanan nokta, ontoloji ge-liştirme sürecinin doğası gereği yinelemeli olması gerektiğidir. Nesneye dayalı tasa-rımın bazı prensipleri de temel alınarak çeşitli aktiviteler önerilmiştir. Ontoloji yeni-den kullanımına yer verilmiştir ve önemi vurgulanmıştır.

Diligent [7], ontoloji mühendisliğinin dağıtık, gevşek denetimli ve sürekli gelişen bir yapıda olması gerektiğini belirtmektedir. Bu yaklaşımda, ontolojinin bir başlangıç versiyonu tüm kullanıcılara sunulur ve kullanıcılar kendi yerelinde istediği değişikliği yapmakta özgürdür. Paylaşılan ontolojinin kalitesinden sorumlu olan merkezi bir yönetim bulunmaktadır. Bu yönetim, çekirdek ontolojide hangi değişikliklerin yapıla-cağına karar verir. Güncellemeler genellikle dağıtık bir şekilde çalışan kullanıcılar tarafından yapıldığından merkezi yönetim bu süreci gevşek bir şekilde yönetir. Kulla-nıcılar güncelleme yaptıkça da ontoloji gelişir. Ontoloji geliştirme süreci yinelemeli olarak gerçekleştirilir. Ancak yeniden kullanım ile ilgili bir detay yer almamaktadır.

Neon metodolojisi [8], diğer ontoloji geliştirme süreçlerinden farklı olarak katı bir şekilde tanımlanmış adımlara ve akışa sahip değildir. Bunun yerine ontoloji geliştirme için farklı akış alternatifleri sunmaktadır. Geliştirme süreçlerini ve özellikle yeniden kullanım gereksinimlerini dikkate alan dokuz farklı senaryo önerilmiştir. Neon,

(4)

mev-cut ontoloji ve diğer kaynakların yeniden kullanılması üzerine odaklanmış bir meto-dolojidir. Yeniden kullanım adımına sürecin temelinde yer verir ve diğer metodoloji-lerden farklı olarak detaylandırır. Ontoloji yaşam döngüsü, ontoloji mühendisinin tercihine bırakılmıştır.

Ontoloji süreçlerinin karşılaştırılması, bu çalışma kapsamındaki kriterler olan ya-şam döngüsü ve yeniden kullanım üzerinden gerçekleştirilmiştir (Bkz. Tablo 1). 2.2 Ontoloji Yeniden Kullanımı

Bir problem alanı içerisinde yer alan mevcut ontoloji kaynaklarının yeniden kullanıl-ması, ontoloji geliştirme sürecinin maliyetlerini azaltacak, yeni ontolojinin kalitesi arttıracak, bakımı kolaylaştıracak ve geliştirilen ontolojinin de yeniden kullanılabilir olmasını sağlayacaktır [9]. Ayrıca ilgili alan içerisindeki bilginin, birden fazla ontoloji ile temsil edilmesi engellenerek tutarlılık da sağlanmış olacaktır [10].

Ontoloji yeniden kullanımı, literatürde yer alan ve farkındalığı yüksek bir çalışma alanıdır. Ontoloji geliştirme süreçlerinin neredeyse tümü yeniden kullanımın önemini vurgulamaktadır. Ancak yeniden kullanımın, bir alt adım veya ayrı bir süreç olarak nasıl gerçekleştirileceğinden bahsedilmemektedir. Dolayısıyla ontoloji yeniden kulla-nımını tam olarak destekleyen bir yöntemden bahsedebilmek mümkün değildir.

Ontoloji yeniden kullanımı ile ilgili olarak son dönemde gerçekleştirilmiş olan bazı çalışmalar mevcut durumu ortaya çıkarmaya çalışmaktadır [10,11,12]. Bu çalışmala-rın ortaya koyduğu en önemli sonuç yeniden kullanımın ağırlıklı olarak ontolojinin bütün olarak dahil edilmesi (import) ile gerçekleştirildiğidir. Poveda, çalışmasında incelediği bağlı veri kaynaklarında, terimlerin %40 oranında mevcut kaynaklar üze-rinden yeniden kullanım ile alındığını göstermiştir [12]. Bu terimlerin %67’si ise owl:import ile dahil edilmiştir. Başka bir ifade ile yer aldığı ontolojinin bütün olarak dahil edilmesi ile yeniden kullanılmıştır. Bu durum küçük ölçekli ontolojiler için ka-bul edilebilir olsa da büyük ölçekli ontolojiler için uygun değildir.

Ontoloji yeniden kullanımının istenilen noktada olmamasının en önemli nedeni ye-niden kullanımı destekleyen süreç ve araçların eksikliğidir [10]. Hem süreç hem de araç kapsamında bütünsel yeniden kullanım ve parçalı yeniden kullanım yönlendirici bir şekilde ortaya konmalıdır. Ayrıca ontoloji yeniden kullanımının, mevcut gereksi-nimleri doğrudan etkileyen bir aktivite olduğu da göz önünde bulundurulmalıdır. 2.3 Ontoloji Geliştirme ve Çeviklik

2001 yılında yayınlanan Çevik Manifesto ile birlikte çevik yazılım geliştirme önem kazanmaya başlamış; Scrum ve Extreme Programming (XP) gibi birçok metodoloji yaygınlaşmıştır. Çevik süreçlerin genel prensibi geliştirmenin her aşamasında değişik-liğe ayak uydurabilmeyi sağlamaktır. Bunu da yinelemeli ve artışlı yaşam döngüleri ile gerçekleştirir.

Değişime ayak uydurabilme yeteneği ontolojiler için de geçerli ve önemli bir özel-liktir. Bilgi sürekli olarak güncellenmekte, mevcut ontoloji kaynaklarının kullanımı halihazırdaki gereksinimleri değiştirmektedir. Bu yüzden çevik yazılım geliştirme

(5)

Tablo 1. Ontoloji geliştirme metodolojilerinin karşılaştırılması. A raç D es te ği /K ul la m ı B el ir til m em iş B el ir til m em iş B el ir til m em iş Pr ot ege B el ir til m em iş N eon T oo lki t Y en id en K ul lan ım Y ak la şı m ı B el ir til m em iş B el ir til m em iş B el ir til m em iş B el ir til m em iş B el ir til m em iş D et ay lı Y en id en K ul la m B el ir til m em iş V ar V ar V ar B el ir til m em iş V ar Y am D ön B el ir til m em iş B el ir til m em iş Pr ot ot ip le m e Y ine le m el i Y ine le m el i Şe la le /Y ine le m el i P roj e Y ön et im i B el ir til m em iş B el ir til m em iş V ar B el ir til m em iş B el ir til m em iş B el ir til m em iş M et od ol oj i G rün inge r ve F ox U sc ho ld ve K ing M et hon to log y O nt ol ogy D eve lop m en t 101 D ili ge nt N eon

(6)

süreçlerinin başarısını ontoloji geliştirme süreçlerine uyarlamak önemli bir katkı ola-caktır. [13] ve [14] çalışmalarında çevik ontoloji geliştirme üzerine farklı öneriler ve yöntemler sunulmuştur. Bu çalışmanın mevcut çalışmalardan farkı, yeniden kullanımı da çevik bir bakış açısı ile sürecin bütününe dahil etmek olacaktır.

3

Yeniden Kullanım Tabanlı Çevik Ontoloji Geliştirme

Yöntemi

Mevcut ontoloji geliştirme metodolojileri ve ontoloji mühendisliğinin kapsamı ince-lendiğinde başarılı bir ontoloji geliştirme metodolojisinin bazı temel özelliklere sahip olması gerekliliği ortaya çıkmaktadır. Bu çalışma kapsamında iki temel özellik üze-rinde durulmaktadır: Yinelemeli yaşam döngüsü ve yeniden kullanım.

Ontolojilerin bilgisayar bilimlerindeki kullanımı, bir problem alanındaki bilginin biçimsel olarak modellenmesini içerir. Bu biçimsel model içerisinde kavramlar, bu kavramların özellikleri ve kavramlar arasındaki ilişkiler açık bir şekilde tanımlanmış-tır [15]. Ontolojilerin modellediği bilginin sürekli güncellenebilme potansiyeli ve geliştirme sırasında ortaya çıkabilecek ve gereksinimleri tümüyle etkileyebilecek değişiklikler, ontoloji geliştirmenin yinelemeli bir yaşam döngüsü üzerine kurgulan-masını gerektirir. Tablo 1’deki karşılaştırma özetinde de görülebildiği gibi ontoloji geliştirmenin erken dönemlerinde önerilen çalışmalar dışındaki metodolojiler, yine-lemeli veya prototipleme tabanlı yaşam döngülerini temel almaktadır.

Ontoloji mühendisliği, birçok mühendislik disiplininde olduğu gibi yeniden kulla-nımı önemser. Ancak ontoloji yeniden kullakulla-nımı karmaşık bir alt süreç olarak karşı-mıza çıkar. Mevcut ontolojilere erişimin sağlanması, değerlendirme, modülerleştirme, bütünleştirme ve daha birçok konu bu alt sürecin parçasıdır.

Ontoloji yeniden kullanımının yazılım mühendisliğinde karşımıza çıkan yeniden kullanımdan en önemli farkı, süreci bütünüyle etkileyebilmesidir. Ontoloji yeniden kullanımını doğru konumlandırabilmek için bu noktanın anlaşılabilmesi önemlidir. Örneğin; bir ontoloji mühendisi sağlık alanında bir ontoloji geliştiriyor olabilir. Bu alanda mevcut ontoloji kaynaklarına ulaşabilmek oldukça kolaydır. FMA1 ve SNOMED-CT2 gibi literatürde kabul görmüş birçok ontoloji yer almaktadır. Ontoloji mühendisi, organları ifade edecek kavramları yeniden tanımlama maliyetlerinden kurtulmak ve birlikte çalışabilirliği sağlamak için bu ontolojilere başvurabilir. Ancak ontoloji seçimi, kavramın yeniden kullanım düzeyi (tekil olarak veya tüm üst sınıfları ile birlikte) ve yeni ontolojiye nasıl bütünleştirilebileceği gibi birçok konu ontoloji geliştirme sürecinin başında tanımlanmış olan gereksinimleri bütünüyle etkileyecek-tir. Bu farklılığı açıklayabilmek için Heart (Kalp) kavramının FMA ve SNOMED-CT ontolojilerindeki tanımı Şekil 1’de üst sınıf ilişkileriyle birlikte gösterilmiştir. Görül-düğü gibi aynı kavram iki ontolojide tamamen farklı şekilde tanımlanmıştır.

Ontoloji mühendisi, SNOMED-CT içerisindeki tanımı tercih ederse bu kavramın tanımıyla birlikte diğer kavramlar da yeni ontolojiye dahil olacaktır. FMA tercihinde

1 http://si.washington.edu/projects/fma

(7)

de benzer durum söz konusudur. Hangi ontoloji seçilirse, ontoloji geliştirmenin ge-reksinimleri, yeterlilik soruları ve kapsam o ontolojiye göre güncellenebilecektir. Bu etkileşim, yinelemeli/artışlı ve yeniden kullanımı detaylı bir alt süreç olarak dahil eden bir metodoloji ihtiyacını doğurmaktadır. Bu çalışmada, çevik yazılım geliştirme prensiplerinin başarısı da dikkate alınarak yeniden kullanım tabanlı çevik bir ontoloji geliştirme süreci önerilmektedir.

Şekil 1. Kalp kavramının FMA ve SNOMED-CT ontolojilerindeki tanımı3.

Çevik Ontoloji Geliştirme 101 süreci, biri ana yineleme olmak üzere dört alt süreç-ten oluşmaktadır: (1) Kapsam ve gereksinim analizi, (2) geliştirme, (3) yeniden kulla-nım ve (4) modüler yeniden kullakulla-nım (Bkz. Şekil 2). Her bir alt süreçteki adımlar birden fazla kez yinelenebilir. Yineleme tamamlandıktan sonra, ilgili bağlantı noktası üzerinden üst sürece dönüş yapılır ve yineleme üst süreçte devam eder.

Çevik Ontoloji Geliştirme 101, bir çerçevedir. Proje yönetimi ile ilgili detaylara yer verilmemiştir. Her bir aktivite ontoloji mühendisleri için birer öneridir. Aktivitele-rin nasıl hayata geçirileceği ontoloji mühendisleri ve proje yöneticileAktivitele-rine bırakılmak-tadır. Bu yaklaşım, çevik metodolojilerle de uygunluk göstermektedir.

3.1 Kapsam ve Gereksinim Analizi

Kapsam ve gereksinim analizi, geliştirme yinelemesinin planlama aktivitesinin deta-yına karşılık gelen bir alt süreç olarak konumlandırılmıştır. Projenin ilk adımı olarak

3 Şekil üzerinde yer alan kavramların, FMA ve SNOMED-CT ontolojilerindeki İngilizce tekil

(8)

ve her geliştirme yinelemesinden hemen önce işletilir. Projenin başlangıç aşamasında işletilmesi durumunda, bu alt sürecin faaliyetleri proje bazlı olarak daha detaylı ger-çekleştirilecektir.

Kapsam ve gereksinim analizi, Ontoloji Geliştirme 101 yönergesinin Alan ve Kap-samın Belirlenmesi adımını kapsamaktadır [2]. Diğer metodolojilerdeki planlama ve kapsam analizi dahilindeki aktivitelere karşılık gelmektedir. Bu yinelemenin alt adım-ları aşağıdaki gibidir:

 Gereksinim analizi: Ontolojinin içereceği problem alanı, kapsamı, hedef kullanı-cıların kim olduğu gibi sorulara cevap alınan adımdır. Ağırlıklı olarak proje baş-langıcında işletilecek olmasına rağmen süreç boyunca ortaya çıkabilecek değişiklik taleplerine karşı her bir geliştirme yinelemesinden önce tekrar edilir.

 Yeterlilik sorularının belirlenmesi: Yeterlilik soruları, bir ontolojinin cevaplama-sı gereken soruları ifade eder [2]. Kullanıcı hikayeleri gibi kolaylaştırıcı yaklaşım-lar uygulanabilir. Yeterlilik soruyaklaşım-ları, ontolojinin geçerliliğinin doğrulanabilmesi için birer test kriteridir. Yeterlilik soruları, [13] çalışmasında belirtilen örneğe ben-zer şekilde Tablo 2’de gösterildiği gibi oluşturulabilir.

Tablo 2. Yeterlilik sorusu örneği [13]. Tanımlayıcı 5

Soru Taşıt tipindeki kavramlar nelerdir?

Cevap Kara, deniz ve hava taşımacılığında kullanılan tüm taşıtlar Örnek Araba, gemi, uçak, tren vb.

Bağlı olduğu sorular 1, 2

 Ontoloji iş listesi: Ontoloji iş listesi, Scrum gibi çevik yazılım geliştirme metodo-lojilerinde kullanılan Ürün İş Listesi (Product Backlog) tanımına karşılık gelmek-tedir. Ontoloji iş listesi, yeterlilik sorularını birer iş elemanı olarak barındırmakta-dır. Her bir geliştirme yinelemesi, hangi sorulara cevap vermesi gerektiğini plan-lama aşamasında belirlemelidir.

3.2 Geliştirme

Geliştirme yinelemesi, ontoloji geliştirmenin ana sürecidir. Diğer tüm yinelemeler, geliştirmeye bağlı olarak gerçekleştirilir. Bu sürecin çıktısı olarak bir ontoloji üretilir ve bu ontoloji yeterlilik soruları ile doğrulanabilir. Ontoloji Geliştirme 101 yönergesi-nin alan ve kapsam analizi dışındaki diğer tüm adımları, bu süreç içerisinde gerçekleş-tirilmektedir [2].

 Planlama: Geliştirme sürecinin ilk adımıdır. Kapsam ve gereksinim analizini, alt süreç olarak işletir ve yineleme planlamasını gerçekleştirir. Planlama sonrasında, ilgili yinelemede cevaplanacak yeterlilik soruları belirlenmelidir.

(9)

Şekil 2. Çevik Ontoloji Geliştirme 101 süreci.

 Ontoloji terim analizi: Belirlenen yeterlilik soruları kapsamında, ilgili yineleme içerisinde modellemesi ve gerçekleştirimi yapılacak terimlerin belirlenmesi faali-yetlerini içermektedir. Ontoloji Geliştirme 101, bu adımı önemli terimlerin liste-lenmesi olarak belirtir ve sürecin üçüncü adımı olarak yer verir [2].

(10)

 Ontoloji yeniden kullanımı: Yeniden kullanılacak ontolojilerin belirlenmesi, kapsam analizi sırasında kısmi olarak gerçekleştirilebilir. Ancak yeterlilik soruları ve terimler nihai olarak hangi ontoloji kaynaklarının yeniden kullanıma aday oldu-ğunu belirleyebilmek için önemlidir. Ontoloji Geliştirme 101, yeniden kullanıma, terimlerin belirlenmesinden önce ikinci adım olarak yer vermektedir [2]. Diğer me-todolojilerde de yeniden kullanım adımı ağırlıklı olarak geliştirmenin öncesinde yer bulmaktadır. Yeniden kullanım, kendi içerisinde bir alt süreç olarak işletilir.  Gerçekleştirim: Bu adım sonrasında biçimsel bir dille (OWL, RDF/S vb.) ifade

edilmiş bir ontoloji parçası ortaya çıkmalıdır. Kavramsal modelleme gibi aktivite-ler uygulanabilir. Geliştirme adımının nasıl işletileceği ontoloji mühendisinin ter-cihine bırakılmıştır. Ontoloji Geliştirme 101, bu adıma karşılık dört alt adım içer-mektedir [2].

 Bütünleştirme: Gerçekleştirim adımının çıktısı olan ontoloji parçası, önceki yine-lemelerde elde edilmiş ontoloji ile bütünleştirilir.

3.3 Yeniden Kullanım

Ontoloji yeniden kullanımı tüm ontoloji geliştirme sürecini etkileyen ve değiştirebilen bir alt süreçtir. Dolayısıyla geliştirmenin bir parçası olarak ve yinelemeli bir biçimde gerçekleştirilmelidir. Ontoloji yeniden kullanımı sadece süreç olarak değil araç olarak da desteklenmelidir. Ontoloji Geliştirme 101, bu adımı ikinci aktivite olarak tanımla-maktadır [2]. Bu alt sürecin adımları aşağıda ifade edilmiştir:

 Ontoloji seçimi: Gereksinim analizi, yeterlilik soruları ve belirlenen terimler yeni-den kullanılabilecek ontolojilerin seçimi için birer referanstır. Bioportal gibi onto-loji depoları, ontoonto-loji arama motorları ve DBpedia gibi bağımsız ontoonto-loji kaynakla-rı hedef ontolojilerin bulunabilmesi için birer kaynaktır.

 İçeri aktarma (import): FOAF, BFO ve Dublin Core gibi küçük ölçekli ontoloji-ler doğrudan owl:import ile yeni ontolojiye bütünsel olarak dahil edilebilir.  Ayrıştırma: DBpedia, FMA ve SNOMED-CT gibi büyük ölçekli ontolojilerin

bütün olarak içeri aktarılabilmesi performans ve uygulanabilirlik açısından müm-kün değildir. Bu yüzden bu tip ontolojiler içerisinden yeniden kullanımın parçalı olarak yapılabilmesini sağlamak gerekmektedir. Bu adım yeniden kullanımın bir alt süreci olarak yinelemeli biçimde gerçekleştirilebilir.

3.4 Modüler Yeniden Kullanım

Büyük ölçekli ontolojilerden yeni ontoloji içerisine dahil edilecek parçaların oluştu-rulması, kendi içerisinde yinelemeli bir alt süreç olarak uygulanmaktadır. Bu alt süreç ontoloji mühendisi ile etkileşimli bir biçimde ve araç destekleri ile yarı-otomatik bir biçimde gerçekleştirilmelidir. Ontoloji mühendisi, kavramları tekil olarak, patikalar halinde veya ontoloji modülleri biçiminde yeni ontolojiye dahil edebilmelidir. Bu alt süreç, ontoloji geliştirme sürecinin en karmaşık adımıdır. Bu adımı destekleyecek araç ve uygulama daha önceki çalışmalarımızda geliştirilerek ortaya konulmuştur [16]. Modüler yeniden kullanımın alt adımları aşağıdaki gibidir:

(11)

 Kavram arama: Ontoloji mühendisi, yeniden kullanılmak üzere belirlenen ontolo-jiler üzerinde ihtiyaç dahilindeki kavramları bulabilmek için arama yapar.  Kavram seçimi: Yeni ontolojiye tekil olarak dahil edilmek istenen kavramlar

seçi-lerek aktarılmalıdır.

 Patika çıkarma: Yeniden kullanılan ontolojiden seçilen ve ayrık olarak görülen iki kavram arasında patikalar olabilir. Ontoloji mühendisi, bir araç yardımıyla bu patikaları açığa çıkarabilmeli ve patika üzerindeki diğer kavramları da ontolojiye ekleyebilmelidir.

 Alt ontoloji çıkarma: Birbiri ile olan bağları açıkça görünmeyen ikiden fazla kav-ramı içeren ontoloji modülleri, ontoloji mühendisinin desteğiyle bir araç üzerinden yarı otomatik olarak elde edilebilmelidir. Böylelikle, büyük ontolojilerin içerisin-den ilgi dahilindeki alt bölümler elde edilerek yeni ontolojiye eklenmiş olacaktır. Patika ve alt ontoloji çıkarma, [16] çalışmamızda önerilen yöntemlerle gerçekleşti-rilebilir.

4

Ontoloji Geliştirme Araçları

Ontoloji geliştirme, alt adımlardan oluşan karmaşık bir süreçtir ve yazılım araçlarıyla desteklenmesi başarı için gereklidir. Geliştirme süreci boyunca farklı araçlardan fay-dalanılabilir. Planlama için proje yönetim araçları tercih edilebilir. Ayrıca kelime işlemciler, elektronik tablo yazılımları ve modelleme araçları ontolojinin geliştirme aşamalarında ontoloji mühendisleri tarafından kullanılabilir.

Ontolojinin biçimsel olarak gerçekleştirimi için Protege ve benzeri ontoloji geliş-tirme araçlarına ihtiyaç duyulacaktır. En kritik nokta, yeniden kullanımın ifade edil-miş tüm detaylarını yarı-otomatik bir şekilde destekleyebilecek bir yeniden kullanım aracı olacaktır. Bu eksiklik konusunda, önerilen çevik ontoloji geliştirme sürecini desteklemek amacıyla bulut tabanlı bir yeniden kullanım aracı geliştirilmiştir. Bu araç ontoloji kaynakları üzerinde patika bulma ve alt ontoloji çıkarma gibi karmaşık süreç-leri barındıran sunucu bileşensüreç-leri ve bu bileşenlere ait servissüreç-leri kullanıcılara sunan Protege eklentisinden oluşmaktadır. Araç ile ilgili detaylı bilgilere [16] çalışmasında yer verilmiştir.

5

Sonuç ve Gelecek Çalışmalar

Bu çalışmada, mevcut ontoloji geliştirme metodolojilerinin eksikliklerini gidermek ve ontoloji geliştirme sürecini kolaylaştırabilmek amacıyla çevik bir ontoloji geliştirme süreci önerilmiştir. Bu sürecin en önemli noktası yeniden kullanımı yinelemeli bir alt süreç olarak içermesi ve detaylandırmasıdır.

Gelecek çalışmalar arasında yöntemin bir durum senaryosu ile doğrulanması yer almaktadır. Bu amaca yönelik yeni bir ontoloji geliştirmek yerine Sleep Domain On-tology (SDO) [17] gibi yeniden kullanımı etkin bir şekilde uygulamış hazır bir ontolo-jinin tersine mühendislik ile yeniden geliştirilmesi amaçlanmaktadır.

İlerleyen dönemlerde, süreci desteklemek amacıyla geliştirilmiş ontoloji yeniden kullanım eklentisinde de yenilikler yapılması planlanmaktadır. Bu yeniliklerin

(12)

başın-da ontoloji değerlendirme yöntemlerin bütünleştirilmesi gelmektedir. Ayrıca yeniden kullanım sürecinin kullanıcı tercihlerine göre özelleştirilebilmesi de sağlanacaktır.

Kaynakça

1. Fernandez-Lopez, M. et al.: METHONTOLOGY: from Ontological Art towards Ontologi-cal Engineering. In: Proceedings of the AAAI97 Spring Symposium. pp. 33--40, Stanford, USA (1997).

2. Noy, N.F., McGuinness, D.L.: Ontology Development 101: A Guide to Creating Your First Ontology. Stanford Knowledge Systems Laboratory. 25 (2001).

3. Suárez-Figueroa, M.C., García-Castro, R., Villazón-Terrazas, B., Gómez-Pérez, A.: Essen-tials in Ontology Engineering: Methodologies, languages and tools. Proc. of the 2nd Workshop on eeBuildings Data Models. 9-21 (2011).

4. Gruninger, M., Fox, M.S.: Methodology for the Design and Evaluation of Ontologies. In: IJCAI95 Workshop on Basic Ontological Issues in Knowledge Sharing, 1–10 (1995). 5. Uschold, M., King, M.: Towards a Methodology for Building Ontologies. In:

Methodolo-gy. pp. 275–280 (1995).

6. Uschold, M., King, M., House, S.B.R., Moralee, S., Zorgios, Y.: The Enterprise Ontology. The Knowledge Engineering Review. 13, 31–89 (1995).

7. Pinto, H.S., Staab, S., Tempich, C.: DILIGENT: Towards a fine-grained methodology for DIstributed, Loosely-controlled and evolvInG Engineering of oNTologies. In: 16Th Euro-pean Conference on Artificial Intelligence - Ecai. pp. 393–397 (2004).

8. Suarez-Figueroa, M.C., Gomez-Perez, A.: NeOn Methodology for Building Ontology Networks: a Scenario-based Methodology. In: on SOFTWARE, S.& S.T. (S3T 2009) I.C. (ed.) Proceedings of the International Conference on SOFTWARE, SERVICES & SEMANTIC TECHNOLOGIES (S3T 2009). (2009).

9. Kendall, E.F., McGuinness, D.L.: Ontology Engineering, Morgan & Claypool Publishers (2019).

10. Kamdar, M.R., Tudorache, T., Musen, M.A.: A Systematic Analysis of Term Reuse and Term Overlap across Biomedical Ontologies. Semantic Web. 0, 1–20 (2016).

11. Ochs, C., Perl, Y., Geller, J., Arabandi, S., Tudorache, T., Musen, M.A.: An empirical analysis of ontology reuse in BioPortal. Journal of Biomedical Informatics. 71, 165–177 (2017).

12. Villalón, M.P., Suárez-Figueroa, M.C., Gómez-Pérez, A.: The Landscape of Ontology Re-use in Linked Data. Proceedings Ontology Engineering in a Data-driven World (OEDW 2012). (2012).

13. Peroni, S.: A simplified agile methodology for ontology development. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). 10161 LNCS, 55–69 (2017).

14. Keet, C.M., Lawrynowicz, A.: Test-Driven Development of Ontologies. In: Sack, H. et al. (eds.) ESWC. pp. 642–657 Springer (2016).

15. Guarino, N. et al.: What is an Ontology? In: Handbook on ontologies. pp. 1--17 Springer (2009).

16. Abiş, C., Giray, G., Ünalır, M. O., Ontoloji Yeniden Kullanimi icin Bulut Tabanli Bir Yazilim Mimarisinin Gerceklestirilmesi, Ulusal Yazılım Mühendisliği Sempozyumu (2018).

17. S. Arabandi, C. Ogbuji, S. Redline, R. Chervin, J. Boero, R. Benca et al., “Developing a Sleep Domain Ontology,” in Proc. AMIA Clinical Research Informatics Summit, (2010).

Şekil

Tablo 1. Ontoloji geliştirme metodolojilerinin karşılaştırılması.  Araç   Desteği/Kullanımı  Belirtilmemiş Belirtilmemiş Belirtilmemiş Protege Belirtilmemiş Neon Toolkit  Yeniden Kullanım Yaklaşımı  Belirtilmemiş Belirtilmemiş Belirtilmemiş Belirtilmemiş B
Şekil 1. Kalp kavramının FMA ve SNOMED-CT ontolojilerindeki tanımı 3 .
Şekil 2. Çevik Ontoloji Geliştirme 101 süreci.

Referanslar

Benzer Belgeler

Diğer taraftan TEFE enflasyonu, TEFE özel ve kamu enflasyon oranları için elde edilen tahminlerde, kapasite kullanım oranının fiyat istikrarının sağlandığı optimal

Nükhet Demirtaşlı (Prof. Dr.) Ali Dönmez (Prof. Dr.) Çiler Dursun (Prof. Dr.) Pınar Ecevitoğlu (Yrd. Dr.) Selin Esen (Prof. Dr.) Yasemin Esen (Doç. Dr.) Zeliha Etöz (Prof. Dr.)

Global public goods are public goods whose benefits reach across borders, generations and population groups.. There is considerable debate today about

Bazı bankalar kötü yönetildikleri için bazıları da sahipleri tarafından içleri boşaltıldığı için (banka kaynaklarının ortakları lehlerine kullandırılması) fona

çeviren ardından özgün eserler ortaya koymaya baĢlayan Müslüman bilim adamları coğrafyada ülkeler ve Ģehirlerle ilgili bilgileri içeren kitaplar

kullanılan fiiller olan; резать, пилить, рубить, колоть, ломать, рвать, кусать, грызть от- ön ekini aldıkları zaman, bir nesnenin tamamından

Sanat eseri olduğu (hem de üst düzey bir sanat eseri olduğu, daha aşağı değil) iddiasında olan şey, Hirst‟un temizlikçisinin yaptığı gibi yaşamın bir

4 Scaled Agile Software Lifecycle Experience in Automotive Heterogeneous and distributed software development on many automobile variants and configurations is the