IBM Bob

Mainframe ölçeğinde bağlam

Yapılandırılmış meta veriler, veri sözlükleri ve model zenginleştirmenin büyük bir Z ortamında Bob'a nasıl güvenilir bağlam sağladığı.

Mainframe ölçeğinde bağlam

Yazarlar

IBM Bob Team

Yayınlandı

Kategori

guide

Paylaş

IBM Bob Premium Package for Z (Bob PP4Z), uzmanlaşmış IBM Z uzmanlığını doğrudan Bob'a taşır. PP4Z, Bob'un ajanlık temeli üzerine inşa edilmiş premium bir yetenektir ve mainframe ekiplerinin daha geniş bir geliştirme çalışması yelpazesinde destek almasını sağlamak üzere tasarlanmıştır.

PP4Z, kurumsal mainframe geliştirmenin gerçekleri için tasarlanmıştır: büyük uygulamalar, sıkı bağlantılı sistemler, anlaşılması güç değişkenler, uzun ömürlü iş mantığı ve güvenli, tutarlı ve derin mimari farkındalıkla yapılması gereken modernizasyon çalışmaları.

Bu yazı, büyük mainframe ortamlarının neden genel amaçlı yapay zeka kodlama araçlarının sınırlarını zorladığını açıklıyor. Yapılandırılmış meta verilerin ve veri sözlüklerinin ham kaynak kodunu getirmenin ötesinde neler sağladığını, model zenginleştirmenin yanıtları IBM onaylı belgelere nasıl dayandırdığını ve PP4Z'nin Bob'un modele dayalı akıl yürütmesini deterministik IBM Z analiz ve doğrulama araçlarıyla nasıl birleştirdiğini ele alıyor.

IBM Z geliştirme için premium deneyim

Modern IBM Z geliştirme, yeni kod yazmaktan çok daha geniş bir etkinlik yelpazesini kapsar: mevcut uygulamaları anlama, bir değişikliğin büyük bir sistemde nasıl yayıldığını izleme, onlarca yıllık iş mantığını belgeleme ve hem güvenli hem de savunulabilir olması gereken modernizasyon kararları alma.

PP4Z bu genişliği desteklemek üzere tasarlanmıştır. Bob'un ajanlık temeli üzerine inşa edilmiş olup Bob'un skills, alt ajanlar ve workflows özelliklerini kullanır. Ardından bunları IBM Z geliştirmenin özel olarak gerektirdiği unsurlarla genişletir: büyük ve birbirine bağlı uygulama ortamlarına ilişkin yapılandırılmış bilgi, COBOL, PL/I ve Assembler için deterministik analiz araçları ve mainframe ekiplerinin çalışma biçimine uygun Z'ye özgü modlar.

Daha derin uygulama içgörüsü için yerel ve kurumsal meta veriler

Büyük bir mainframe uygulaması, COBOL, PL/I ve Assembler kapsayan on binlerce birbirine bağlı programdan oluşabilir; bunlar toplu iş zamanlayıcıları tarafından koordine edilir ve Db2, CICS, IMS gibi alt sistemlerle entegre çalışır. Model bu ortamı yalnızca bağlamla akıl yürütemez. Bir soruyu yanıtlamadan önce hangi programların ve ilişkilerin önemli olduğunu belirlemesi gerekir.

Ham kaynak aramanın yetersiz kaldığı yer burasıdır. Genel amaçlı bir yapay zekadan, paylaşılan bir tarih işleme yardımcı programını çağıran her programı bulmasını istediğinizi düşünün (büyük bir COBOL ortamında düzinelerce program tarafından çağrılan türden bir rutin). Statik metin araması açık çağrı ifadelerini bulur ancak program adının bir değişkende saklandığı ve çalışma zamanında çözümlendiği dinamik çağrıları kaçırır. Aynı sorguyu iki kez çalıştırırsanız model her seferinde farklı bir arama stratejisi seçip farklı sonuçlar döndürebilir. Yanıt makul görünür ama güvenilir değildir.

PP4Z, yapay zeka akıl yürütmesi başlamadan önce uygulamanın yapılandırılmış ve sorgulanabilir bir temsilini oluşturarak bunu ele alır. Yerel tarayıcılar, meta verileri doğrudan çalışma alanından doldurur. Bunlar Z Understand konteynerinde kullanılan tarayıcıların aynısıdır ve yükleme adımı olmaksızın kullanılabilir. Meta veriler; program ilişkilerini, çağrı hiyerarşilerini, kontrol akışını, veri akışını, SQL kullanımını, işlem tanımlarını ve kaynak bağımlılıklarını modelin hassas biçimde sorgulayabileceği bir formda yakalar.

Kurumsal ölçekli analizler için ekipler PP4Z'yi Z Understand konteynerine bağlayabilir. Bu, Bob'a geliştiricinin yerel çalışma alanının ötesindeki ilişkiler de dahil olmak üzere daha geniş uygulama portföyünü kapsayan yapılandırılmış meta verilere erişim sağlar. Geliştiriciler Bob'a şu tür sorular sorabilir:

  • Belirli bir yardımcı programı hangi programlar çağırıyor?
  • Belirli bir SQL tablosunu hangi programlar okuyor?
  • Bu alanın boyutu değişirse ne etkilenebilir?

Bob, ilgili programları ve ilişkileri belirlemek için meta verileri sorgular, ardından daha derin analizin gerektiği yerlerde ilgili kaynağı inceler. Yanıt, ham kaynak dosyalar üzerindeki olasılıksal bir aramaya değil tutarlı, sorgulanabilir uygulama verilerine dayanır.

Impact Analysis

Model zenginleştirme: IBM Z bilgi boşluğunu kapatmak

IBM Z uygulama kodunun büyük bölümü özel kurumsal depolarda bulunur. Genel amaçlı bir model bu sistemlerdeki kaynağa, kurallara veya iş bağlamına erişemez. Ana akım dil ve çerçeveler için bulacağından daha az sayıda genel örnekle çalışmak durumunda kalır.

PP4Z bunu model zenginleştirme yoluyla ele alır: özenle seçilmiş IBM Z referans materyalleri analiz edilir, dizinlenir ve Bob'a sunulur; böylece IBM Z dilleri ve middleware'iyle ilgili yanıtlar IBM'in gerçekten belgelediğine dayandırılır. Zenginleştirme katmanı, IBM Z belgelerini geliştiricilerin sorduğu belirli türdeki sorular için doğrudan kullanılabilir hâle getirir: çağrı kuralları, alan yapıları, middleware davranışları ve bu ortamlarla ilgili deneyimi sınırlı olan genel amaçlı bir modelin fark edilmesi zor hatalar yapabileceği belgelenmiş uç durumlar.

Pratik fark, bir geliştirici IBM Z middleware'iyle etkileşen kod yazarken veya değiştirirken ortaya çıkar. Genel amaçlı bir model sözdizimsel açıdan makul görünen ancak IBM tarafından kesin biçimde belirtilmiş sözleşmeleri ihlal eden kod üretebilir. Model zenginleştirme sayesinde PP4Z'nin yanıt oluştururken yararlandığı bilgi, sınırlı eğitim verileriyle yapılabilecek en iyi tahmine değil, IBM'in gerçekten belirttiklerine dayanır.

Model zenginleştirme

Veri sözlükleriyle iş farkındalıklı yapay zeka

Belirsiz değişken adları her kod tabanında bulunur; ancak IBM Z uygulamaları bu sorunu farklı bir ölçekte ve farklı bir biçimde ortaya koyar. Uzun ömürlü pek çok COBOL uygulamasında iş mantığı ile uygulama mantığı iç içe geçmiştir. Anlam, kısa alan adlarına, copybook düzenlerine ve tutarlı bir uygulama olmaksızın on yıllar içinde birikmiş adlandırma kurallarına kodlanmıştır. Şu WORKING-STORAGE SECTION'ı ele alalım:

01 WK10.
   10 WK10-QUDISP             PICTURE  9(10)
                                               VALUE ZERO.
   10 WK10-QUPIL              PICTURE  9(3)
                                               VALUE ZERO.
   10 WK10-QUDIS              PICTURE  9(15)
                                               VALUE ZERO.
   10 WK10-QUMYD              PICTURE  9(10)
                                               VALUE ZERO.

WK10 adlı grupta dört sayısal akümülatör yer alıyor. Adlar veya PICTURE cümleleri, bir geliştirici ya da modele bunların herhangi birinin ne temsil ettiğini söylemiyor. Ek bağlam olmayan bir model, WK10-QUDISP ile WK10-QUDIS'in her ikisinin de sayısal alanlar olduğunu, QU ve DIS parçacıklarından yola çıkarak muhtemelen mesafeyle ilgili olduğunu ve benzer amaçlara hizmet ettiklerini tahmin edebilir. Bu tahmin yanlıştır. Aralarındaki tek karakter farkı, tüm hikâyedir.

PP4Z tarafından üretilen veri sözlüğüyle ayrım açıkça ortaya konur. WK10-QUDIS, tüm pilotların uçtuğu toplam birikimli mesafedir. Uçuş kaydı işleme boyunca artırılır ve nihai ortalama hesaplamasında kullanılır. WK10-QUDISP ise pilot başına düşen akümülatördür. Her pilotun işlem bloğunun başında sıfırlanır ve o pilotun kimliğiyle birlikte görüntülenir. Biri her pilot için sıfırlanır; diğeri hiçbir zaman. Bunları birbiriyle karıştıran bir açıklama ya da etki analizi, programın ne yaptığı hakkında yanlış yanıt üretir.

Data Dictionary

PP4Z bu girdileri, her değişkenin programa nasıl katıldığının statik analizi yoluyla üretir. Analiz; kontrol akışını, G/Ç işlemlerini, hesaplamaları ve veri hareketini kapsar. Her alanı belgelemeye çalışmak yerine, program davranışını en çok etkileyen değişkenleri; yani bir kez adlandırıldığında programın geri kalanını anlaşılır kılanları belirler. Veri sözlüğü girdileri yerel olarak veya Z Understand konteyneri aracılığıyla yönetilebilir; toplu üretim, inceleme ve ekipler arasında senkronizasyon desteklenir.

Belgeleme, açıklama ve yeniden düzenleme

Meta veriler, veri sözlüğü ve model zenginleştirme bölümleri, PP4Z'nin bir uygulamaya ilişkin görünümü nasıl oluşturduğunu anlatır. Bu bölüm ise geliştiricilerin bu görünümle neler yaptığını ele alır.

Belgeleme ve iş kuralı çıkarımı, büyük ölçekte kalıcı uygulama bilgisi üretir. Ekipler, COBOL, PL/I ve Assembler programları için program mantığını, veri akışlarını ve yerleşik iş kurallarını kapsayan yapılandırılmış belgeler oluşturabilir. Odaklı bir kapsam için yerel tarayıcı meta verilerini ya da uygulamanın tamamı için Z Understand konteynerini kullanabilirler. İş kuralları bu sürecin bir parçası olarak ortaya çıkar; teknik ekiplere ve modernizasyon paydaşlarına, her paragrafı elle izlemeden uygulamanın ne yaptığına dair okunabilir bir kayıt sunar.

Documentation

Bu program düzeyindeki belgeler artık bir uygulama görünümü olarak derlenebilir; tüm uygulamayı kapsayan diyagramlar ve çapraz referanslı sayfalardan oluşan yapılandırılmış bir site. Bireysel program belgeleri tek bir programa ilişkin soruları yanıtlar. Uygulama görünümü ise ekiplere ve modernizasyon paydaşlarına uygulamanın tamamının bir haritasını verir.

Application View

Kapsamlı açıklama, programın ayrıntılı açıklamasını eldeki görev açısından en önemli perspektiften (Mimar, Geliştirici veya İş) üretir. PP4Z, açıklamayı programın davranışına dayandırmak için uygulama meta verilerini, veri sözlüğü girdilerini ve model zenginleştirme katmanını kullanır.

Explain Workflow

Yeniden düzenleme, toplanan bağlamı kullanarak mevcut kodu işlevselliği koruyarak modüler, yeniden kullanılabilir servisler biçiminde yeniden yapılandırır. Refactor COBOL or PL/I program workflow'u çıkarım adaylarını belirler, bağımlılıklarını haritalandırır ve dönüşüme rehberlik eder. Bu, ekiplere tam bir yeniden yazım gerektirmeksizin sürdürülebilirliği artıran pratik bir modernizasyon yolu sağlar.

Extraction Candidates

Refactor

Entegre geliştirme, kalite ve hata ayıklama olanakları

Bir geliştiricinin iş akışının bazı bölümlerinin deterministik yanıtları vardır: kodun bir kurala uyup uymadığı, belirli bir değişkenin program içinde hangi yolu izlediği ya da bir PERFORM'dan sonra kontrolün nereye geçtiği. PP4Z bunları özel araçlarla ele alır. Model, ortaya çıkan bulguları geliştiricinin ne başarmaya çalıştığı bağlamında yorumlar.

PP4Z özel mod Z Code'da Z Code Scan, COBOL ve PL/I programları için hızlı kural tabanlı statik analiz sağlar. Linter tarzı geri bildirimi, olasılıksal çıkarım olmaksızın sorunları yakalar. Z Architecture özel modu, kontrol akışı ve veri akışı analizi sunar; bir programda yürütmenin nasıl ilerlediğini ve verinin paragraflar ile copybook'lar arasında akış yaptıkça nasıl dönüştüğünü kapsar. Bu araçlar, soru nasıl ifade edilirse edilsin tutarlı ve tekrarlanabilir sonuçlar üretir.

Z Code Scan

Model bu araçların çıktısıyla çalışır. Önerilen bir değişiklik bağlamında tarama sonucunu yorumlayabilir veya program davranışına ilişkin belirli bir soruyu yanıtlamak için veri akışını izleyebilir. Deterministik analiz kural bağımlı olanı; yapay zeka ise yargı gerektireni ele alır.

PP4Z ayrıca IBM Debug for z/OS ve kod kapsama olanakları da içerir; böylece ekipler aynı ortamda yapay zeka destekli geliştirmeden doğrudan yürütme düzeyinde doğrulamaya geçebilir.

Kuruma özgü bilgi için Skill Builder

Uygulama meta verileri, veri sözlükleri, model zenginleştirme ve deterministik analiz, PP4Z'nin sunduğu IBM Z temelini oluşturur. Skill Builder ise kuruluşların kendi bilgilerini bu temelin üzerine eklemesini sağlar.

Skill Builder ile ekipler; kodlama standartları, adlandırma kuralları, teknik kalıplar, iş terminolojisi ve ortama özgü rehberlik gibi kuruma özgü bilgileri yakalayan ve uygulayan özel skills oluşturabilir. Bu skills, Bob'un belirli bir organizasyon içinde geliştirmenin nasıl yapıldığını anlamasına yardımcı olur; genel varsayımları azaltır ve yapay zeka tarafından üretilen yanıtların alaka düzeyini artırır. Skills, kullanıcının isteği ve kod bağlamıyla ilgili olduğunda otomatik olarak alınabilir ve dinamik biçimde çağrılabilir; böylece mevcut PP4Z workflow'larına doğrudan entegre olur.

Skill Builder

Her şeyi bir araya getirmek

Ölçek, anlamsal yoğunluk ve kuruma özgü bağlam, mainframe geliştirmeyi genel amaçlı yapay zeka araçları için zorlaştırır. PP4Z her faktörü doğrudan ele alır: ölçek için yapılandırılmış meta veriler, iş anlamı için veri sözlükleri, IBM Z belgelerinden kapsamlı biçimde yararlanmak için model zenginleştirme ve kurallara bağlı analiz için deterministik araçlar.

Bu yaklaşımda yapay zeka akıl yürütmesi ve deterministik bilgi birbirini güçlendirir. Bob yapılandırılmış meta verilerle başlar, özenle seçilmiş belgelerden yararlanır ve kural tabanlı araçların çıktısını yorumlar. Geliştiriciler, kritik bir ortamda yanıta göre hareket etmeden önce bu kanıtları inceleyebilir.

Başlamak için ekibinizin kaçındığı bir program seçin; belki amacı belirsizdir ya da iş mantığı yıllardır dokunulmamıştır. Yerel tarayıcıyı çalıştırarak meta verilerini oluşturun ve temel değişkenleri için bir veri sözlüğü üretin. Programın ne yaptığını anlamak için açıklama workflow'unu kullanın, ardından bu bilgiyi çalışma alanınıza kaydetmek için belgeleme workflow'unu çalıştırın. Oradan aynı temel; etki analizi, yeniden düzenleme ve kalite doğrulamayı destekler. Ekip, artık anladığı bir programla işe başlar.