← Computers & Automation

Otomatik Kodlama Teknikleri

B
Bilinmeyen Yazar
1956 · Computers and Automation

İş Geliştirme için Yönergeler

Veri İşleme

CHARLES W. ADAMS, Pittsburgh, Pa., ve BRUSE MONCREIFF, Santa Monica, Calif.


I. Editöre Mektup

Charles W. Adams’tan

Yakın zamanda, iş verilerinin işlenmesi için otomatik kodlama tekniklerinin geliştirilmesinde hangi yönlerin izlenmesi gerektiğine dair mevcut görüşler üzerine gayriresmî bir anket gerçekleştirdim. Aldığım yanıtlardan biri, The RAND Corporation’daki eski bir dostum olan Bruse Moncreiff’ten geldi. Hatırlayacağınız üzere Bruse, Prudential Insurance Co.’da yürütülen ilk incelemelerden bu yana iş verisi işleme alanında yer almaktadır.

Onun uzun ve samimi mektubu, bana hem ilgi çekici bir okuma sundu hem de bir dizi iyi fikir ve tartışmalı görüşü bir araya getirdi. Bu nedenle, bunu size iletmek için kendisinden izin istedim; umudum, çok sayıdaki okurunuzla paylaşmak istemenizdi. Bu izni verirken bana şunu yazdı: "Önceki mektubumun ciddi bir değeri olmasının mümkün olmadığına göre, içinde benim fark edemediğim bir mizah unsuru olmalı diye düşünüyorum." Ayrıca Automatic Supervisor için hazırladığı taslak akış şemasının, bağlayıcılar dâhil olmak üzere 329 kutudan oluştuğunu, 702 için yordamı kodladığını ve belki de Western Joint Computer Conference’ta bu konuda bir bildiri sunmayı umduğunu belirtti.


II. Charles W. Adams’a Mektup

Bruse Moncreiff’ten

İş süreçlerinin otomatik bilgi işleme donanımı için planlanması konusundaki genel görüşlerim, kuşkusuz gereğinden fazla felsefî ve bu nedenle de belirsizdir. Tezin önce sunulması yardımcı olabilir; böylece bütün bu gürültünün ne hakkında olduğunu görebilirsiniz:

Bu planlama sürecinin en zor ve en önemli kısmı, kodlamadan ziyade problemin mantığında yatmaktadır.

Bunun ad nauseam biçimde tekrarlandığını duyduğunuza eminim; ancak aydınlatıcı olan şey, tezin ifade edilmesinden ziyade savunulmasında ortaya çıkar.

Bu savunma aşağıdaki unsurları içermelidir:

  1. Mantık ile matematiğin eşdeğerliği.
  2. Ölçüm ve astrofiziğin (işletme faaliyetleriyle karşılaştırıldığında) görece sadeliği.
  3. Önermeler hesabı ve basit sınıflar kuramının ötesindeki mantık bölümlerindeki kuramsal güçlükler.
  4. Ticari işlemlerin servet birikimiyle talihsiz ve rastlantısal erken bağlantısı; bunun sonucunda ilişkiler kuramı yerine sınıflar kuramının (aritmetiğin de bunun bir dalı olmasıyla) gelişmesi.
  5. İnsanlığın geri kalan kesiminin (para kazanacak kadar becerikli olmayanların) deneyimin basit yönleriyle, yani kesikli süreçlerden ziyade sürekli süreçlerle meşgul olması.
  6. İnsanların, sorunlarını etki edebilecekleri nedenler yerine denetimleri dışındaki nedenlere yükleme yönündeki nevrotik eğilimi (bu nedenle toplumsal ilişkiler hesabındansa astrolojiye duyulan ilgi).

Görüldüğü gibi, konudan epey uzaklaşmış durumdayız; ama en azından görüşlerimin gereğinden fazla belirsiz olduğunu kanıtlamış oldum. Özetlemek gerekirse (elma ile portakalı toplar gibi), iş faaliyetlerinin mantığı fiziksel olgularınkinden daha karmaşıktır ve ticari alanda, doğa bilimlerinde sahip olduğumuz standart gösterim ve işlem teknikleriyle aynı düzeyde donanımlı değiliz. Yakalamamız gereken birkaç yüzyıllık bir fark vardır—ve işte bu yüzden iş faaliyetlerinin bilimsel hesaplamadan daha karmaşık olduğu yolundaki basmakalıp görüşü destekliyorum.

Özünde ihtiyaç duyduğumuz şey, bürokratik ve ticari denetim süreçleri için tutarlı ve verimli mantıksal tasarımlar üretme yöntemleridir. Bu noktayı pekiştirmek için, yakın zamanda katıldığım bir kodlama dersinde kullanılan bir problemle bağlantılı basit bir örnek verebilirim. Öğrencilerin dikkatini öğretilen makine üzerinde tutmak amacıyla, problem çok ayrıntılı bir akış şeması biçiminde düzenlenmişti. Bu akış şeması birkaç sınıf tarafından kullanılmış ve üç kez gözden geçirilmişti. Dört adet 8½ × 11 sayfayı kapsıyor ve kodlamak için yaklaşık 500 tek adresli komut gerektiriyordu.

Sınıfın daha huysuz üyeleri, bunlardan biri problemin hiç çalışmamasına yol açacak nitelikte olan dört oldukça ciddi mantık hatası saptadılar. Diğer hatalar ise ya verimlilikle ya da istenen sonuçların elde edilmesiyle ilgiliydi. Buna karşılık, sınıfın daha az deneyimli üyeleri akış şemasını izleyebildiler ve neredeyse hiç zorlanmadan kod yazabildiler. Bu örnek neyi kanıtlıyor? Belki hiçbir şeyi; ancak deneyimli kişilerin, mantık açısından bir problemle uğraşırken, deneyimsiz kişilerin kodlamayla uğraşmasından daha fazla zorlandıkları inancına bir miktar kanıt sunuyor. Ve elbette, makinenin ne yapması gerektiğini ve hangi sonuçların istendiğini belirleme sorunu bambaşka ve daha da üzücü bir hikâyedir.

Ortak işlemler olduğu düşüncesi açıkça doğrudur; ancak bunlar genellikle tasarımcı tarafından makinenin içine kabloyla bağlanan işlemlerdir. Aritmetik işlemlerden daha karmaşık iş operasyonları için standart bir gösterim yoktur. Bu durumda, tanınmak ve adlandırılmak var olmak demektir; ya da daha doğrusu, tanınmamak ve adlandırılmamak var olmamak demektir. Kütüphane oluşturma alanındaki çalışmaların oldukça geride kaldığına katılıyorum; ancak hemen bir şeyler yapılması gerektiği yönündeki ima ile aynı fikirde değilim. Aslında enerjimizi, bugün olduğu gibi, daha verimli alanlarda yoğunlaştırmalıyız.

En iyisi bir kutu daha Kleenex sipariş edin—iş rutinleri kütüphaneleri hakkında ne düşündüğümü okuduktan sonra buna ihtiyacınız olacak. Öncelikle, “kütüphane” uygulamasını neyin motive ettiğini düşünelim. Bu yöntem, makinenin içine yerleştirilmiş olanlardan daha karmaşık ve aynı ya da benzer biçimde birden fazla yerde ortaya çıkan işlemler olduğunda yararlıdır. Kütüphaneler, bu işlemleri tekrar tekrar düşünme zahmetinden tasarruf sağlar. Güzel! Şimdi iş ortamına bakalım ve “birden fazla yerde” ifadesinin geçerli olup olmadığına bakalım. Bu ifade, “herhangi bir şirketin kullandığı yordamlar içinde birden fazla yerde” anlamına gelebilir. Aynı zamanda, “büyük ölçekli otomatik bilgi işleme donanımına sahip birçok ya da tüm şirketler tarafından paylaşılan” anlamına da gelebilir.

Bu ikinci yorumun, hiçbir iki şirketin işleri aynı şekilde yapma konusunda asla anlaşamayacağı gerekçesiyle, kütüphane hareketine destek sağlayamayacağı ileri sürülmüştür.

Sırf karşı çıkmak adına söylemiyorum; bu yorumu, diğerine kıyasla olası bir motivasyon olarak daha değerli buluyorum. Örneğin, bahçe hortumları için 15/16" kauçuk conta üreten iki imalatçı için; elbette yaklaşık olarak aynı büyüklükte olmaları ve aynı şehirde bulunmaları koşuluyla (bu son koşul yalnızca farklı vergi düzenlemelerinden kaynaklanabilecek olası karmaşıklıkları önlemek içindir), üretim ve stok kontrolü, satış kayıtları ve istatistikleri, bordro ve genel muhasebenin ele alınması için tek bir en iyi yöntem bulunması oldukça muhtemeldir. Varsayımsal iki imalatçımızın da muhtemelen aynı tür satış fişlerini ve genel muhasebe defterlerini kullandıkları (her iki firma tarafından da tutulan danışman muhasebecinin önerdiği şekilde) göz önüne alındığında, aynı donanımı aldıkları şirketin uygulama personeli tarafından büyük bir özenle geliştirilmiş yordamları kullanmaya her ikisinin de ikna edilebileceği oldukça olası görünmektedir. Şirketlerin yordam kütüphanelerini paylaşabileceği daha da ikna edici örnekler bulabileceğinizden kuşkum yok.

Öte yandan, tek bir şirket içindeki süreçlere dağılmış ortak alt yordamlar olduğu düşüncesinin ise hiçbir değeri yoktur.

Kütüphaneleri bir kenara bıraktıktan sonra, bunları bir araya getirmek için gereken derleyiciler olmadan da yolumuza devam edebiliriz. Buna karşılık, gerçek üreticiler ve dönüştürücüler için kuramsal bir gereksinim vardır—hatta bunlar için ekonomik bir gerekçe bile bulunabilir. Bu tür bir yordam, girdisinden daha fazla yararlı yapı çıktısı sağlıyorsa, bu armağanı minnetle kabul etmeliyiz. Bu bağlamda, sıralama yordamı üreticileri gerçek ve umarım geçici bir değere sahiptir.

Artık son kez gözyaşlarınızı silebilirsiniz; çünkü iş verisi işleme alanındaki muhtemelen tek gerçekten değerli çabayı kısaca açıklayarak kasveti dağıtmak üzereyim. Toplam durumun ya en çok maliyet yaratan ya da bizi en çok rahatsız eden yönlerini önce mekanikleştirmemiz gerektiği kuralını izleyerek, otomatik bir veri işleyicinin günlük işletimi sorununa yöneldim. Programcıları en çok rahatsız eden şeyler operatörlerdir; bu nedenle onları neredeyse tamamen program yoluyla ortadan kaldırmaya çalışıyorum. Operatörün işinin, çoğunlukla el becerisi içeren ve zorunlu olarak korunmuş bazı aşamaları vardır. İnsanların en az verimli yaptıkları şey düşünmek olduğu için, onun işinden tüm düşünmeyi çıkarmaya çalıştım. Bu önerilen yordamı bir operatör yerine otomatik bir gözetmen olarak düşünmeyi seviyorum; çünkü insan operatöre ne yapacağını söyleyecektir.

Bir operatörün eylemleri şu şekilde düşünülebilir:

  1. Makine çalışırken yaptığı şeyler, ya da
  2. Bir hata durumunda durduktan sonra makineyi yeniden çalışır hâle getirmek için yaptığı şeyler.

İkinci sınıf, işletim verimliliği açısından daha önemli olabilir; ancak birinci sınıf analiz için daha elverişli göründüğünden, işe buradan başladım. İlk düşüncelerim 702 göz önünde bulundurularak yapıldı. Otomatik gözetmen felsefesine dâhil edilen unsurlar şunlardır:

  1. Belirli işler için programların bant üzerinde saklanması.
  2. Bu programların yüklenmesi accor

(devamı sayfa 35’te)


Bir Şey Var

Biz, Computers and Automation editörleri olarak, okuyucularımız için “son derece değerli” olacak, başka yollarla elde edilmesi güç başvuru bilgilerini yayımlamak istiyoruz. Bu amaçla, tüm okuyucularımızdan yorum, öneri ve eleştiriler almaktan memnuniyet duyarız.


Otomatik Kodlama Teknikleri

(sayfa 11’den devam)

(3) Program değişiklik anahtarlarının delikli kart aracılığıyla ayarlanması.

(4) Her iş için bir bant giriş-çıkış düzeninin hesaplanması. Bu, aşağıdakileri dikkate alır:

(a) giriş ve çıkış bantları için gereksinimler

(b) mevcut (çalışır durumda) bant birimlerinin sayısı

(c) dönüşümlü bant birimlerinin atanacağı en uygun sıra

(d) bu dönüşümlü birimlerin en uygun fiziksel düzeni

(5) Bu düzenin yazdırılması.

(6) Giriş bantlarının, doğru türde olup olmadıkları, çıkış olarak üretildikleri sıradaki doğru çevrim numarasına sahip olup olmadıkları ve doğru sırada bulunup bulunmadıkları açısından kontrol edilmesi.

(7) Çıkış almak üzere takılmış tüm bantların, istenen bilgileri içermediğini garanti etmek amacıyla kontrol edilmesi.

(8) Çıkış bant etiketlerinin yazdırılması ve bantların tanımlanması.