Intelligent agents based simulation using Jack development environment
Jack geliştirme ortamında kullanarak akıllı etmenler tabanlı benzetim
- Tez No: 151344
- Danışmanlar: DOÇ.DR. COŞKUN SÖNMEZ
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2004
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- Sayfa Sayısı: 112
Özet
JACK GELİŞTİRME ORTAMINI KULLANARAK AKILLI ETMENLER TABANLI BENZETİM ÖZET Her geçen gün, yazılım geliştiriciler daha büyük ve daha karmaşık yazılım uygulamaları ile karşılaşmaktadır. Bu uygulamaların varolan sistemler ile tümleştirilebilir olması istenmekte ve bu uygulamalar masaüstü uygulamalardan SAP'ın R/3 gibi karmaşık iş çözümlerine kadar değişebilmektedir. Varolan uygulamalar ve farklı uygulama kümeleri için uygulama geliştirme, onları gerçeklemek için güçlü yeni tekniklere ihtyiaç duymaktadır. Akıllı yazılım etmenleri karmaşık uygulamaların ihtiyaçları ile uyuşan güçlü problem çözme modeli sunar. Akıllı etmenler, rasyonel kararlar verebilir ve öğrenme mekanizması sayesinde değişen ortama göre uyum sağlayabilirler. Şimdiye kadar; birçok üniversite ve şirket akıllı yazılım etmenleri geliştirmiş, ancak bunların herbiri belirli bir görev için bir çözüm özelliği taşımıştır. Akıllı yazılım etmeni oluşturma, zor ve zaman alıcı bir süreçtir çünkü bu süreç, çıkarım, bilgi gösterimi, makine öğrenimi ve makine planlama gibi yapay zeka tekniklerine ihtiyaç duymaktadır. Bu nedenle; uygulamasında akıllı etmenleri kullanmak isteyen yazılım geliştirici, etmenlerin çıkarım mekanizmasını, bilgi gösterimini, planlama yeteneğini ve etmenler arası protokolleri düşünerek sistemin yapısını belirlemesi gerekir. Tüm bu kavramlar, güçlü ve kullanımı kolay bir geliştirme ortamı olmadığı durumda çok fazla zaman harcanmasına neden olur. Şimdiye kadar; akıllı etmen geliştirme ortamları çok büyük ve gereksiz şekilde kullanımı karmaşıktı, ayrıca büyük sistemlerin bileşenleri olarak tümleştirilmeleri zordu. Agent Oriented Software (AOS) firması, Avustralya'da yer alan, JACK akıllı etmenler yapısını çoklu etmen sistemleri için Java dilini kullanarak geliştirmiştir. JACK; Java dilinin üzerine oluşturulmuş ve onunla tümleştirilmiştir. Java dilinin tüm bileşenlerini içermekte ve etmen davranışını gerçeklemek için eklentiler içermektedir. JACK'in Java ile ilişkisi, C++ ve C dilleri arasındaki ilişkiye benzerdir. C++, C diline nesneye yönelik eklentiler sunarak programcılar için geliştirilmiştir. Aynı şekilde, JACK Java'ya etmene yönelik eklentiler sunmak için geliştirilmiştir. JACK'in genel bileşenleri aşağıda listelenmektedir:. JACK Etmen Dili: Bu dil, JACK için gerçek programlama dilidir. Java'nın bir üst kümesidir ve Java'yı etmene yönelik uzantılarla genişletmiştir. XII. JACK Etmen Derleyicisi: Bu derleyici JACK Etmen Dili'ne ilişkin kaynak dosyaları işleyip onları Java dosyaları haline dönüştürür ve yürütülebilir dosyaları elde etmek için Java derleyicisini çağırır.. JACK Etmen Çekirdeği: Bu çekirdek, JACK Etmen Dili ile yazılmış programlar için çalışma zamanı motorudur. Bu çekirdek; JACK etmenlerinin yürütülmesini destekler ve çoklu akış blokları ile eş zamanlılığı yönetir.. BDI Etmen Modeli: Bu bileşen BDI tipinden usavurma için destek sağlar.. Basit Takım Modeli: Bu bileşen takım tabanlı usavurma için eklenti sağlar. Bu tezde, akıllı etmenleri gerçeklemek için JACK akıllı etmen geliştirme ortamı seçilmiş ve bu seçimin nedenleri aşağıda belirtilmiştir:. JACK'in Java üzerine oluşturulmuş olması sebebi ile, JACK Java dilinin birçok özelliğini taşır; özellikle Java'nın platform bağımsız olma özelliği.. Kodlama alt düzeyde değildir ve akıllı etmenler JACK dilinin sunduğu yüksek seviyedeki yapılar ile kodlanır.. JACK projelerini varolan sistemlerle tümleştirmek kolaydır.. JACK'i kullanan uygulamalar esnek ve yüksek performanslıdır. Benzetimler; önemli deneysel araçlardır. Büyük benzetim sistemleri oluşturulması pahalı bir işlemdir ve yatırımın geri dönebilmesi için uzun süreler kullanılması gerekir. Çoğu zaman, bir benzetim sistemini yeni bir teknoloji ile birleştirerek fonksiyonelliğini arttırmak daha ekonomiktir. Muhtemel bir eklenti, benzetim sistemleri ile akıllı etmenlerin tümleştirilmesidir. Benzetimlerin ileri uygulamaları savunma alanındadır ve akıllı etmenlerin bu alanda önemli bir teknoloji olduğu görülmüştür. Modern savaşlarda, karmaşık komuta kontrol sistemlerine ihtiyaç duyulmaktadır ve bu C3 sistemlerinin davranışlarını anlayabilmek önemlidir. Fiziksel olarak bunları analiz etmek zordur, bu sebeple ileri benzetim araçlarına ihtiyaç duyulmaktadır. Akıllı etmenler; usavurma ve komut yeneneklerini ortaya koyabilir. Ayrıca, farklı komuta kontrol stratejilerinin değerlendirilmesine izin verir. JACK'in aynı zamanda benzetim desteği de bulunmaktadır. Hatta, JACK'in bazı özellikleri benzetim isteklerini karşılamak için tasarlanmıştır. Genel olarak; etmenler zamana yönelik benzetimler için bir saat ile uygulamaya sunulurlar. Bu tezde, ayrıca akıllı etmenleri içeren sistemlerin nasıl tasarlanabileceğin! inceledik. 70'li yıllarda, yapısal programlama yazılım geliştirme için baskın olan yaklaşımdı. Bununla birlikte; yazılım mühendisliği teknolojileri yazılım geliştirme yaşam çevrimini kolaylaştırmak için geliştirildi: planlamadan, analiz, tasarım, gerçekleme ve sonuçta sistem tümleştirilmesi ve bakıma kadar olan süreç ortaya konuldu. 80'lerde; nesneye yönelik diller popülerlik kazandı ve beraberinde veri saklama, kalıtım, çok şekillilik gibi kavramları getirdi. 80'li yılların sonunda ve 90'ların başında; bazı modelleme yaklaşımları sunuldu. Bu yaklaşımları birleştirmek için, Analiz ve Tasarım Görev Gücü OMG içinde 29 Haziran 1995'de kuruldu. Kasım 1997'de OMG üyeleri, XIIInesneye yönelik diller için bir modelleme dili benimsediler; fakat bu dili çeşitli teknolojiler ve diller karşısında ilerletilebilir olacak şekilde geliştirdiler. UML'in etmene yönelik teknolojilerde uygulanabilen ilerletilebilir modelleme yapılarını inceledik. Temel UML ilerletilebilme mekanizması“steryotip”lerdir. Bu kavram, bir UML modelleme elemanına uygulanan bir etiket olarak düşünülebilir ve bu etiket, elemanın anlamını içinde bulunduğu kümeye göre değiştirir. Steryotipler, sınıf diyagramlarında kullanılmış ve bu statik modeller gerçekleme safhasından önce oluşturulmuştur. Bu çalışmada,“Akıllı Acil Yardım Sistemi”(INTEAS 2003) adı verilen sistem JACK ile gerçeklenmiştir. Sağlıkları konusunda yardıma ihtiyaç duyan insanlar, INTEAS'in kurulu olduğu bölgeyi ararlar (USA'deki 91 1 numarasını aramaya benzer şekilde) ve sistem Merkezi Bölgeler'den yardıma ihtiyaç duyan kişi için bir araç tahsis etmeye çalışır. Merkezi Bölgeler“yardım noktalan”olarak düşünülebilir ve bu noktalarda sabit sayıda araç mevcuttur. Yardıma ihtiyaç duyan insanlar INTEAS'ı aradıkları zaman, sistem en yakın Merkezi Bölge'yi bulur. Şehrin haritası iki boyutlu bir dizi olarak, veri tabanında tutulur. INTEAS benzetim sisteminin arayüzü, sistemden yardım isteyen kişilerin ve araçların sayısını girerek benzetim yapmaya izin verir. Arayanlar için bir öncelik değeri atanır ve bu değer yardımın aciliyetini gösterir. Örneğin; kalp krizi durumunda atanan değer diğer durumlardan daha yüksek önceliğe sahiptir. INTEAS'in arayüzü Java dili ile gerçeklenmiştir ve etmenler JACK dili kullanılarak oluşturulmuştur. Bu sistemde 4 tipte akıllı etmen vardır. Yönlendirici Etmen, kullanıcılardan gelen çağrıları almaktadır. Araç Etmeni, yardım isteyenleri evlerinden alarak yardım noktalarına taşımaktadır. Birey Etmeni, benzetimde yardıma ihtiyaç duyan insanları temsil etmektedir ve Mesaj Etmeni etmenler arasında mesajların değişimini uygun biçimde gerçekleştirmektedir. JACK sayesinde, Etmen Etkileşim Gösterimi penceresinde de etmenlere ilişkin mesajların etkileşimini görebildik. Bu çalışma; etmene yönelik uygulamaların tasarımında standart kabul edilmiş bir gösterim kullanılması durumunda bu tür uygulamların kolayca tasarlanabileceğin! göstermiştir. Ayrıca; akıllı etmenlere ihtiyaç duyulduğu durumda JACK'in benzetim projelerinde kullanılabileceği ve akıllı etmenlerin gelecek 10 yılda karmaşık yazılım sistemleri için önder teknoloji olabileceği sonucuna varılmıştır. Bu çalışma; şehir yaşamının daha iyi bir biçimde benzetimini yapmak için INTEAS'a yeni özellikler eklenerek ve yeni tipte etmenler kullanılarak ilerletilebilir. XIV
Özet (Çeviri)
INTELLIGENT AGENTS BASED SIMULATION USING JACK DEVELOPMENT ENVIRONMENT SUMMARY Every day, software developers are encountered with larger and more complex software applications. These applications are also required to be integrable with existing systems and may vary from desktop applications to complex enterprise solutions such as SAP's R/3. Developing applications for these existing and different application domains requires powerful new techniques to implement them. Intelligent software agents provide a powerful problem-solving model that matches to the need of complex applications. Intelligent agents can make rational decisions and adopt according to the changing environment by using learning mechanisms. Many universities and companies have developed intelligent software agents until now but, each of these agents has been a solution for a particular task. Building an intelligent software agent is a difficult and time-consuming process because it requires advanced Al techniques such as inference, knowledge representation, machine learning and machine planning. For this reason, a software developer who demands to use intelligent agents in his/her application should determine the structure of the system with agents' inference mechanism, knowledge representation, planning capability, agent-to-agent communication protocols. All of these concepts cause to spend a lot of time if a powerful and easy to use development environment does not exist. Until now, intelligent agent development environments have been so large and unduly complex to use, as well as difficult to integrate as components of larger systems. Agent Oriented Software Pty. Ltd. (AOS), based in Australia, has built JACK Intelligent Agents (“JACK”) as a framework in Java for multi-agent system development. It is built on top of and fully integrated with Java programming language. It consists of all components of Java language as well as offering extensions to implement agent behavior. JACK'S relationship to Java is similar to the relationship between C++ and C languages. C++ was developed to provide programmers with object-oriented extensions to the existing C language. In the same manner, JACK was developed to provide agent-oriented extensions to Java. The general components of JACK are listed below:. JACK Agent Language: This language is the actual programming language for JACK. It is the super-set of Java and extends it with agent-oriented extensions. xv. JACK Agent Compiler: This compiler pre-processes JACK Agent Language source files, converts them into pure Java files and calls Java compiler to generate executables.. JACK Agent Kernel: This kernel is the runtime engine for programs written in JACK Agent Language. It supports the execution of JACK agents, handles multi-threading and concurrency.. BDI Agent Model: This component adds support for BDI reasoning.. Simple Team Model: This component adds support for team-based reasoning. In this thesis, JACK intelligent agent development environment has been chosen to implement intelligent agents and the reasons of this choice are listed below:. Since JACK has been built on top of Java, it has the benefits of Java environment; especially platform independent property of Java.. Coding is not low-level and intelligent agents are coded with high-level structures provided by JACK language.. Integrating JACK projects with existing systems is easy.. Applications that use JACK are flexible, high-performance. Simulations are important experimental tools. Large simulation systems are expensive to build, and must be used for a long time to pay the investment back. It is often more economically to extend the functionality of simulation system by incorporating the new technology. One possible extension is the integration of intelligent agents into the simulation. Advanced applications of simulations are in defense and intelligent agents have been seen an important technology in this area. In modern warfare, complex command and control systems are needed and it is important to understand the behavior of these C3 systems. They are difficult to analyze manually, so advanced simulation tools are needed. Intelligent agents can depict the reasoning, command capabilities and allow different command, control strategies to be evaluated. JACK has also simulation support. In fact, some of the featues of JACK have been designed to explicitly address simulation requirements. Generally; agents are supplied with a clock, which can be used for time-driven simulations. In this thesis, we have also examined how we can design systems that consist of intelligent agents. During the seventies, structural programming was the dominant approach to software development. Along with it, software engineering technologies were developed in order to ease the system development lifecycle: from planning, through XVIanalysis, design, implementation, and finally to system construction, maintenance. In the eighties, object-oriented languages have been popularized; bringing with new concepts such as data encapsulation, inheritance and polymorphism. By the end of the eighties and beginning of nineties, some modeling approaches have been proposed. To unify these approaches, an Analysis and Design Task Force was established on 29 June 1995 within the OMG. By November 1997, OMG members adopted a modeling language for object oriented languages; but they developed it to be extensible across new technologies and languages. We have examined the extensible set of modeling constructs that can be applied to agent oriented technologies. The main UML extension mechanism is that of stereotypes. A stereotype can be considered as a label that is applied to a UML modeling element that changes the meaning of the element to a definition specified by the domain. Stereotypes have been used in class diagrams and static models have been constructed before implementation phase. In this study, we have created a system that is called“Intelligent Emergency Assistance System”(INTEAS 2003) by using JACK framework. The people who need help about their health calls the place where INTEAS is set up (just calling 91 1 in USA) and system tries to find a vehicle from Central Locations. Central Locations can be thought as“assistance points”and there are fixed number of vehicles in these places. When people call the INTEAS, system finds the nearest Central Location. The map of the city is stored as a two dimensional array in a database. Interface of INTEAS allows giving number of victims and vehicles for simulated scenario. A priority for victims is assigned and this priority shows the degree of need. For example; a heart-break situation may be assigned a higher priority than other occasions. Interface of INTEAS has been implemented by using Java language and agents have been implemented with JACK language. There are 4 types of intelligent agents in this system. Router Agent takes the calls from users. Vehicle Agent gets the people from their home and takes to the Central Locations. Person Agent shows the people who need help in simulation and Message Agent manages to exchange of messages between agents in a sufficient manner. By using JACK framework, we could see the interaction of messages related to the agents in Agent Interaction Display window. This study showed that design phase can be managed easily in agent oriented applications if a standard accepted notation is used in design phase. Also, we concluded that JACK framework can be used in simulation projects if intelligent agents are needed and intelligent agents may be the leading technology in next ten years for complex software systems. This study can be extended adding new features to INTEAS and new types of agents in order to simulate an urban life in a better fashion. xvii
Benzer Tezler
- Modelling a university as a multi-agent system
Bir üniversitenin çoklu-ajanlı sistem olarak modellenmesi
ÖNDER ÖZKAN
Yüksek Lisans
İngilizce
2008
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolIşık ÜniversitesiBilişim Teknolojileri Ana Bilim Dalı
YRD. DOÇ. DR. NAZIM ZİYA PERDAHÇI
- Esnek üretim sistemlerinde bilgisayar ağları ve akıllı ajanlar ile gerçek zamanlı üretim kontrol yaklaşımı
A Real time production control approach using computer networks and intelligent agents in flexible manufacturing systems
İRFAN MACİT
Yüksek Lisans
Türkçe
1999
Endüstri ve Endüstri MühendisliğiÇukurova ÜniversitesiEndüstri Mühendisliği Ana Bilim Dalı
YRD. DOÇ. DR. RIZVAN EROL
- A software environment for behavior-based mobile robot control
Mobil robotlar için davranışa dayalı kontrol yazılım ortamı
ONUR BEKMEN
Yüksek Lisans
İngilizce
2006
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolOrta Doğu Teknik ÜniversitesiElektrik ve Elektronik Mühendisliği Ana Bilim Dalı
PROF. AYDIN ERSAK
- Çoklu etmen tabanlı trafik yönetim sistemi
Multi agent based traffic management system
KADRİYE SOYSAL
Yüksek Lisans
Türkçe
2008
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolYıldız Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. A. COŞKUN SÖNMEZ
- A new protection philosophy in smart distribution networks
Akkıllı dağıtım şebekesinin yeni bir koruma felsefesi
ABDULFETAH ABDELA SHOBOLE
Doktora
İngilizce
2017
ArkeolojiYıldız Teknik ÜniversitesiElektrik Mühendisliği Ana Bilim Dalı
YRD. DOÇ. DR. MUSTAFA BAYSAL