BEAM (Erlang/Elixir sanal makinesi) ile çalışmaya başlayan birçok geliştirici, nesne yönelimli veya sıralı programlama alışkanlıklarını beraberinde getirerek kod ile süreçleri karıştırma eğilimindedir. Bu durum, modülleri doğrudan süreçlerle eşleştirmek gibi yaygın hatalara yol açabilir. Bu düşünce kalıbını kırmak ve BEAM'in eşzamanlılık modelini daha iyi açıklamak amacıyla "Gnome Köyü Metaforu" tanıtılıyor. Bu metafor, geleneksel programlama yaklaşımlarından farklı, daha sezgisel bir bakış açısı sunarak BEAM'in benzersiz süreç yönetimini anlamayı kolaylaştırıyor.
Nesne yönelimli programlamada genellikle birbirine sıkıca bağlı "makineler" inşa edilirken, BEAM modeli tamamen farklı bir yapıya sahiptir. Burada kod "parşömenlerde" kalır, durum "gnomların" içinde yaşar ve tek bağlantı noktası mesaj protokolüdür. Bu, binlerce küçük, bağımsız işçinin (gnomların) hiçbir şeyi doğrudan paylaşmadığı bir köy gibidir. Her bir "gnome" gerçek bir BEAM sürecidir; yaşar, çalışır ve ölür. Yaptığı hiçbir şey başka bir gnomun belleğini bozamaz, bu da köyün ilk ve en önemli vaadidir: yerel hatalar yerel kalır ve sistemin genel stabilitesini etkilemez.
Her gnomun kendine ait bir sırt çantası (özel ve yerel bellek alanı) vardır; içinde kişisel eşyalarını, veri yapılarını ve mevcut düşünce yığınını saklar. Başka hiçbir gnom veya denetleyici bu çantanın içine bakamaz. Bu, BEAM'in süreç başına yığın modelidir. Her gnom kendi belleğini tahsis eder, büyütür ve temizler. Çöp toplama (garbage collection) sadece o gnomu durdurur, köyün geri kalanı çalışmaya devam eder. Gnomlar işbirliği yapmak istediklerinde, odanın karşısına bağırmaz veya yarım kalmış işlerle dolu ortak çekmeceler kullanmazlar. Bunun yerine, birbirlerine küçük, net mesajlar gönderirler. Her gnomun bir posta kutusu vardır ve mesajlar sabırla okunmayı bekler. Bir mesaj bir gnomdan diğerine geçtiğinde, BEAM onu yığınlar arasında kopyalar. Bu, paylaşılan durum üzerindeki çekişme maliyetiyle karşılaştırıldığında çok daha verimlidir, çünkü BEAM kaosu önler.
BEAM'in eşzamanlı süreç modelini, paylaşılan bellek ve nesne yönelimli yaklaşımların getirdiği karmaşıklıktan arındırarak, basit ve anlaşılır bir "Gnome Köyü" metaforuyla açıklıyor.