Argus, 1980’lerde Massachusetts Institute of Technology (MIT) tarafından geliştirilen, özellikle dağıtık sistemler ve paralel işlemeyi destekleyen bir programlama dilidir. Özellikle yüksek güvenilirlik gerektiren sistemler için tasarlanan Argus, Barbara Liskov ve ekibi tarafından geliştirilmiş olup, nesne yönelimli programlamanın erken örneklerinden biridir. Dağıtık sistemlerde hata toleransını artırmak için işlem birimi (process) kavramını temel alır ve bu nedenle, ağ üzerinden haberleşen bağımsız bileşenlerin bir arada çalışmasını sağlamaya yönelik yapılar sunar.
Aşağıda Argus dilinde guardian yapısı içinde basit bir işlem tanımlanmıştır:
guardian BankAccount
var balance := 0
function deposit(amount)
balance := balance + amount
end deposit
function withdraw(amount)
if amount <= balance then
balance := balance - amount
return true
else
return false
end if
end withdraw
function get_balance()
return balance
end get_balance
end BankAccount
Bu örnekte:
BankAccount
adında bir guardian oluşturulmuştur.deposit
, withdraw
, ve get_balance
fonksiyonları bu guardian’a ait işlemlerdir.balance
değişkeni yalnızca deposit
, withdraw
, ve get_balance
fonksiyonları aracılığıyla güncellenebilir.Argus, özellikle aşağıdaki alanlarda kullanılmıştır:
Argus, güvenilir ve hata toleranslı dağıtık sistemler geliştirmek için geliştirilmiş güçlü bir programlama dilidir. Guardian yapısıyla veri bütünlüğünü ve güvenliği sağlayarak, özellikle bankacılık ve finans gibi yüksek güvenlik gerektiren alanlarda kullanılabilir. Bugünkü birçok dağıtık sistemin temelini atan Argus, programlama dillerinde hata yönetimi ve güvenilirlik konularında önemli bir mihenk taşıdır.