Connect with us

Gabriela Moreira, Quint’in Informal Systems’taki CEO’su – Röportaj Serisi

Röportajlar

Gabriela Moreira, Quint’in Informal Systems’taki CEO’su – Röportaj Serisi

mm

Gabriela Moreira, Informal Systems’taki Quint’in CEO’su, programlama dilleri ve formal yöntemler üzerine uzmanlaşmış bir araştırma mühendisidir ve kompleks sistem doğrulamasını mühendisler için daha erişilebilir hale getirmeye odaklanmıştır. Quint’in geliştirilmesini yönetmektedir; Quint, TLA+’ya dayanan modern bir yürütülebilir spécification dilidir ve dilin ve araçlarının bakımını ve geliştirilmesini sürdürmektedir. Çalışmaları, formal doğrulama, statik analiz ve geliştirici araçlarına odaklanmaktadır ve ayrıca formal yöntemler öğretmek yoluyla akademik katkıda bulunmuştur; bu, pratik mühendislik ve teorik derinlik arasında bir karışımı yansıtmaktadır.

Quint, Informal Systems’ta geliştirilen ve bakımı yapılan bir modern spécification dilidir ve dağıtılmış ağlar, blockchain’ler ve veritabanları gibi kompleks sistemlerin modellemesi, test edilmesi ve doğrulanması için tasarlanmıştır. TLA+’nın temelinde oluşturulan Quint, geliştiriciler için daha dostane bir sözdizimi sunar ve ayrıca tip denetimi, simülasyon ve model denetimi gibi gelişmiş araçlar sağlar; bu, mühendislerin sistem hatalarını dağıtımdan önce tespit etmelerine olanak tanır. Platform, yürütülebilir spécification’ları vurgular ve geliştiricilerin sistem davranışını sadece tanımlamalarına değil, aynı zamanda aktif olarak test etmelerine ve keşfetmelerine olanak tanır; bu, teorik doğruluk ile gerçek dünya uygulaması arasındaki boşluğu kapatır.

Önceki günlerden başlayarak, sizi programlamaya ilgi duymaya iten şey nedir ve formal yöntemler ve dağıtılmış sistemlere nasıl yönelmişsiniz?

Kötü bir bilgisayara sahip bir oyun severdim ve sorunları çözmeyi ve onu çalışır hale getirmeyi severdim. Bilgisayar bilimi için kaydoldum ve teori ve derleyicilere çekildim.

2015 yılında, programlama yarışmalarıyla karşılaştım. Bu yarışmalarda, genellikle birkaç girdi ve beklenen çıktı örneği alırsınız ve problemi çözen kodu yazarsınız; ancak kodu değerlendirme için gönderdiğinizde, kodu birçok daha fazla örnekle test edersiniz. Kodun, gördüğüm veya düşündüğüm senaryolarda çalışabileceği, ancak düşünmediğim durumlarda hata verebileceği gerçeği, programlamanın bir tür challenge haline gelmesini sağladı.

Endüstride çalışırken, dağıtılmış sistemlere nhanh chóng yönelmiştim; burada, farklı mesaj sıralamaları, farklı hata modları ve birçok gizli davranış düşünmek zorundaydım. 2018 yılında, bir colega bana TLA+ adlı bir formal spécification dilini tanıttı. immediate olarak bağlandım. TLA+’ya dayalı araçlar oluşturmaya başladım ve o günden beri bu alanda çalışıyorum.

Siz, formal yöntemler ve programlama dilleri üzerine kariyerinizi inşa ettiniz; TLA+’ya dayanan araçların erken çalışmalarından Quint’in Informal Systems’taki geliştirilmesine kadar. Formal doğrulamayı daha erişilebilir hale getirmeye odaklanmanızı ne motive etti ve bu vizyon Quint’in tasarımını nasıl şekillendirdi?

TLA+ çok iyidir ve endüstride yaygın olarak kullanılmayı hak eder. Henüz çok gençtim khi TLA+’yı öğrendim ve iş arkadaşlarımla birlikte çözümler bulmaya çalışırken, sürekli olarak bizim çözümlerimizin başarısız olabileceği senaryolarla karşılaşıyordum. Ancak, çoğu durumda son savunma hattı bendim. Daha iyi, daha az maliyetli ve daha değerli bir yol olmalı, diye düşündüm. Böylece, formal yöntemleri kullanarak spécification’ları önce oluşturmak fikri ortaya çıktı. Akademik yolculuğuma başladım ve bu, beni Informal Systems ve Quint’e getirdi.

Quint, başlangıçta bir ürün olarak tasarlanmamıştı. Informal Systems’ta nécessité nedeniyle oluşturduk. Güvenebileceğimiz sistemler için TLA+ spécification’ları yazıyorduk, ancak bunlar çok küçük bir grup insanla sınırlı kalıyordu; çünkü sözdizimi çok korkutucu ve çok fazla matematiksel sembol içeriyordu ve araçlar insanların temel beklentilerini karşılamıyordu. Collegelere ve dış işbirlikçilere gösteriyorduk: “bakın, yaptığım harika şey”, ancak onlar okuyamıyorlardı ve yeni bir aracı öğrenmeye zamanları yoktu.

Quint’teki tasarım seçimleri, doğrudan bu deneyimden kaynaklanmaktadır. Dil, kolay okunabilir ve hatırlanabilir. İlk olarak, hataları yazarken vurgulayan bir VSCode uzantısı oluşturduk. Tip ve ayrı modlar vardır ve bunlar, katmanları açıkça ayırmak için kullanılır. Bir REPL ile etkileşimli olarak keşfetmenize olanak tanır ve bir simülatör ile hızlı geri bildirim almanızı ve yinelemenizi sağlar. Standardize edilmiş bir JSON formatına izleri dışa aktarır; bu, makinelerin kolayca parse edebileceği bir formattır. Bunlar, programcılar zaten araçlarından beklediği şeylerdir ve biz de bunlara ihtiyacımız vardı. Altındaki doğrulama, TLA+’nın aynı mantığıdır.

Quint, dağıtılmış sistemleri dağıtımdan önce modelleme ve test etme yeteneği ile öne çıkıyor. Bu, mühendislerin blockchain veya gerçek zamanlı altyapı gibi sistemleri oluşturma şeklini nasıl değiştirir?

En büyük değişiklik, doğrulamayı daha erken yapmaya başlamaktır. Leslie Lamport, TLA+’nın yaratıcısı, spécification’ları önce yazmayı, inşaat çalışmasından önce mavi çizimler oluşturmaya benzetti. already bir şey inşa ettiyseniz, masih de bir mavi çizim oluşturmak ve bunu gelecekteki değişikliklerinizi bilgilendirmek için kullanmak iyi bir fikirdir.

Yazılım endüstrisinde, markdown dosyaları ve beyaz tahtaları kullanıyoruz. Bir binayı metin olarak tanımlamaya benzer. Bu, bir binanın duvarlarının boyutlarının nasıl eklenacağını bilmemek gibi bir şeydir. Quint, sistemleri tanımlamanıza olanak tanır ve davranışının ve doğruluğunun hakkında fikir sahibi olmanızı sağlar.

Quint, TLA+’nın temelinde oluşturulmuş ve formal yöntemlerin teorik rigorunu korurken dilin daha geliştirici dostu hale getirilmesini sağlıyor. Bu dengenin nasıl sağlandığını açıklayabilir misiniz?

Ana karar, Quint’i TLA+’nın bir parçasına (TLA+’nın arkasındaki mantık) sınırlamak ve mantığın izin verdiği her şeyi açığa çıkarmamaktı. TLA, çok ifade edicidir ve bu ifade ediciliğin bir kısmı, araçlar tarafından desteklenmeyen operatörleri ve insanların yanlış bir şekilde kullandığı ve hatalı bir şekilde birleştirdiği kombinasyonları içerir. Bir seçim yaptık: gerçek spécification’lar için gerekli olan şeylerle sınırlı kalmaya karar verdik ve karışıklığa neden olabilecek şeyleri tránh ettik.

Tip sistemi ve etki sistemi, kısıtlamalar ekler, ancak faydalı kısıtlamalardır. Bunlar, verification işlemi başlamadan önce birçok spec hatasını önler. Tip almost tamamen çıkarılır ve etkiler, kullanıcılar tarafından gizlidir, böylece değer katar ve sürtünme yaratmaz.

Formal yöntemleri öğretme experience’iniz, Quint’in tip denetimi, araçları ve genel geliştirici experience’ini nasıl etkiledi?

Programlama dilleri alanındaki en büyük ders, tüm dillerin aynı olmadığını öğrenmektir. İnsanlar, bir dilin sadece yeni bir syntax öğrenmek olduğunu ve tüm kavramların aynı olduğunu söylerler. Ancak bu doğru değildir. Programlama dilleri alanındaki araştırmacılar, bu alanı ilerletmek için harika işler yapmaktadır ve bu, sadece bir dili daha güzel veya daha hoş görünmesi için değildir.

İşteksel programlama, bana çok erken bir aşamada tanıtıldı; Haskell’i, C ile aynı zamanda öğrendim ve buna çok memnunum. Bu, Quint’i inşa etmemi mümkün kıldı ve bana, Quint’te state değişikliklerini ve non-determinizmi ince bir katmana izole etmenin ve tüm karmaşıklığı saf fonksiyonlarda tutmanın, sadece bir mesele değil, birçok faktörde yardımcı olduğunu gösterdi.

Formal yöntemleri öğretme experience’iniz, formal doğrulama hakkında mühendislerin en yaygın yanlış anlamalarını nelerdir?

Ben, undergraduate öğrencilere formal yöntemler öğretiyordum ve onların çoğu, formal yöntemler veya formal doğrulama hakkında hiç duymamışlardı. Onlara, formal yöntemlerin ve formally spécification’ların sistemler hakkında nasıl düşünmemize yardımcı olabileceğini öğretmeye çalıştım. Son ödevim, bir masaüstü RPG kurmak için bir senaryoydu; farklı sıralamalar ve farklı kurulumlar dikkate alınmalı ve dağıtılmış sistemlerin zorluklarını mümkün olduğunca taklit etmeye çalıştım. Bu, onların edge przypadlarını bulmak ve çözümlerini geliştirmek için araçları kullanmalarını sağladı. Umarım, bir gün işlerinde benzer bir durumda karşılaştıklarında, beni hatırlarlar. Bazıları zaten hatırladı.

Yazılım geliştirme ile kombinasyon halinde artan bir ilgi var. Quint gibi araçları kullanarak formal spécification’ları yazmak, doğrulamak veya hatta oluşturmak için AI’nin bir rolü olabilir mi?

Önemli bir role sahiptir ve zaten gerçekleşmektedir. Bilgisayar bilimi, kodu yazmaktan daha büyüktür ve AI, formal yöntemleri kullanmanın tamamen yeni yollarını açar. LLM’ler, doğal dil açıklamalarından Quint spécification’ları yazabilir ve hatta mevcut kodu oluşturabilir. Quint LLM Kit’i, Claude Code ajanları ile birlikte, bir protokolün İngilizce açıklamasından bir Quint spécification’ı oluşturur ve hemen çalıştırabilirsiniz.

Aynı zamanda, Quint, AI ile oluşturulan kodu doğrulmanıza da yardımcı olur. AI kullanımının bıraktığı bilişsel borcu gidermek ve oluşturulan kodu doğrulamak için, güvenin, sadece bazı sihirli onay işaretlerinden değil, anlayıştan gelmesi gerektiğini güçlü bir şekilde inanıyorum. Quint spécification’ını oluşturmak ve bunu doğrulamak, geliştiricilerin sistemlerin davranışlarını anlamalarına ve sahiplenmelerine yardımcı olur.

Formal yöntemlerin, niş bir kabulden yazılım geliştirme döngüsünün standard bir parçası haline gelmesi için ne olması gerekir?

Quint’in daha fazla kabul görmesi için iki yüksek düzeyde şey gerektiğini biliyorum: daha düşük maliyet ve daha yüksek değer. Sanırım bu, birçok şey için geçerlidir. Formal yöntemler, AI ile büyük bir destek aldı; AI, formal spécification’ları yazma maliyetini azalttı ve aynı zamanda, formal yöntemlerin en etkili ve değerli olabileceği bir ortam oluşturdu.

AI, mesleğimizi değiştiriyor ve umarım bu değişiklik, daha yüksek düzeyde tasarım seçimlerine ve davranış doğruluğuna doğru bir değişikliktir; böylece formal yöntemler, her gün kullanılan bir araç haline gelir ve biz, AI tarafından oluşturulan kodu anlamak için hiçbir araç setine sahip olmadan, tüm zamanımızı AI tarafından oluşturulan kodu gözden geçirmekle harcamayız.

İlginç bir röportaj için teşekkür ederiz; bu yürütülebilir spécification dilini, kompleks sistemleri modelleme ve doğrulama, araçları ve nasıl başlamak için okuyucuların daha fazla bilgi edinmek istedikleri Quint hakkında bilgi edinebilirler.

Antoine bir vizyoner lider ve Unite.AI'in kurucu ortağıdır ve AI ve robotik geleceğini şekillendirmek ve tanıtmak için sarsılmaz bir tutkuyla hareket etmektedir. Bir seri girişimci olarak, toplum için elektrik kadar yıkıcı olacağına inandığı AI'nin potansiyeli hakkında sık sık konuşur ve coşkusunu dile getirir.
Bir futurist olarak, bu yeniliklerin dünyamızı nasıl şekillendireceğini keşfetmeye adanmıştır. Ayrıca, Securities.io kurucusudur, bu platform geleceği yeniden tanımlayan ve tüm sektörleri yeniden şekillendiren teknolojilere yatırım yapmaya odaklanmıştır.