Not: Bu yazı maalesef geçerliliğini yitirdi. Bu gibi yazıları bir klavuzda toplamıştım. Jflap ile ilgili bilgileri https://drive.google.com/open?id=0BwvPLd0pnaCvZ1VETm1qMHBkTVU adresindeki pdf’ten edinebilirsiniz.
JFLAP sonlu otomatları bir M beşlisi olarak tanımlar. Matematiksel olarak gösterecek olursak:
M = (Q, Σ, δ, qs, F) şeklindedir. Burada:
Q sonlu durumları
Σ giriş alfabesini
δ geçiş fonksiyonunu, δ : D → 2Q olan yerde D, Q × Σ* ifadesinin sonlu altkümesidir.
qsQ’nun üyesidir. Giriş durumudur.
FQ’nun üyesidir. Son durumdur.
Bu tanım ayrıca deterministik olmayan sonlu otomatları da tanımlar.
JFLAP’ta farklı tür otomatların yapılandırılması epeyce benzerdir. Bu yüzden bir sonlu durum otomatını yapılandırmakla işe başlayalım.
Elimizde L = {ambn : m ≥ 0, n > 0, n tektir} şeklinde bir dil bulunsun. Bu a’dan her sayıda tekrar olabileceğini fakat b’den tek sayı adedince tekrar olabileceğini bize söylemektedir. Yani b(1),bbb(3),bbbbb(5)… şeklinde.
Örnek üzerinden gitmenin menüleri teker teker anlatmaktan daha anlaşılır olduğunu düşünüyorum. Menü özelliklerini, örneği uygularken göstermiş olacağım. Yer yer menü açıklamalarına da yer vereceğim fakat bu sistematik şekilde olmayacak.
Editör Penceresi
Programı ilk açtığımızda karşımıza aşağıdaki menü gelecektir. Program on bir başlık altında çalışmaktadır. Bu menüden “Finite Automaton” seçeneğini örneğimizi gerçekleştirmek için seçebiliriz.
Açılan yeni pencere sonlu otomatlar tanımlamamızı ve düzenlememizi sağlar. Editör iki temel alana ayrılmıştır. Otomatlarımızı yapılandırabileceğimiz çalışma alanı ve yapılandırmaları yaparken bize yardımcı olacak araç çubuğu.
Burada Toolbar kullanılacak araçları, Canvas ise çalışma alanını göstermektedir.
Açıklayacak olursak:
- Özellik Düzenleme Aracı (Attribute Editor Tool): başlangıç ve son durumları belirlemek için kullanılır.
- Durum oluşturma aracı (State Creator Tool): Durum oluşturmak için kullanılır.
- Geçiş oluşturma aracı (Transition Creator Tool): Geçişleri oluşturur
- Silme aracı (Deletor Tool): silmek istediklerimizi siler.
Seçme işlemi gayet basittir. Önce, özellik düzenleme aracını seçiyoruz. Seçmek istediğimiz durum ya da geçişi, çalışma alanında herhangi bir boşluktan sol tıklamayla başlayarak, dörtgen içine alıyoruz Dörtgenin içinde kalan durumlar renk değiştirirler ve seçilmiş olurlar. Tıklama hareketlerine yeri geldikçe değinilecektir.
Durum Oluşturmak
Diyelim ki durum oluşturmak istiyoruz. Öncelikle araç çubuğundan durum üretme aracına tıklıyoruz ve artık durum üretme aracını seçmiş oluyoruz. Çalışma alanına istediğimiz noktaya tıkladığımız kadar durum bırakacaktır. Aşağıda farklı noktalara tıklanarak oluşturulmuş dört durum görüyorsunuz.