Bükreş Üniversitesi’ndeki araştırmacılar son zamanlarda karmaşık donanım-yazılım bağlama için bir kompozit model geliştirdiler. Modelleri, ArXiv’de yayınlanan bir makalede ana hatlarıyla belirtilmiştir; hafifçe yeniden yapılandırılabilir donanım aracıları ile soyut, akıllı ve uyarlanabilir yazılım aracıları arasında bir yerde bulunan, bir “sanal organizma” (VO) kavramını ortaya koymaktadır.
Bir yapı ile çalıştırdığı fonksiyon arasındaki ilişki; bilgisayar bilimi (donanım-yazılım), biyoloji (organlar-işlev) ve psikoloji (beden-zihin) gibi çeşitli alanların ilgi konusudur. Son çalışmayı yapan iki araştırmacı olan Ciprian Paduraru ve Gheorghe Stefanescu; bilgisayar bilimlerinde donanım ve yazılım arasındaki ilişkiyi, özellikle robotik, AI-donanım, IoT ve diğer son teknolojik gelişmeler bağlamında araştırmaya karar verdi.
Stefanescu: “Sıralı bir hesaplamanın eylemleri kolayca kontrol edilebilir, ancak doğal olarak dağıtılmış bir paralel uygulamanın kontrol edilmesi ve paralelleştirmek genellikle zordur. Sağlam ve karma bir ortam bulmak için daha önce uzay-zaman dualite tabanlı bir model (rv-IS) ve bir DSL yapılı programlama dili (Agapia) tanıttık.”
Agapia, veri akışı ve kontrol akışı yapılarının serbestçe karıştırılabildiği etkileşimli sistemleri programlamak için kullanılan alana özgü bir dildir (DSL). Derleyicisi şu anda MPI veya OpenMP ortamlarında yüksek performanslı bilgi işlem (HPC) çalışmaları üretebilir.
Agapia’nın operasyonel semantiği, zaman için bir boyut ve alan için bir boyut içeren 2D yapılarla tanımlanmaktadır. Uzay-zaman kısıtlamalarını etkili bir şekilde ele almak için, Paduraru ve Stefanescu, rastgele şekilli kelimeler üzerinden, düzenli 2D desenleri tanımlamanın yeni bir yolunu buldu. Bu onların modellerini genişletmelerine izin vererek uzay için daha fazla boyut kazandırdı.
Stefanescu, “Modeli 2015 yazında Illinois Urbana Champaign Üniversitesi’nden Gul Agha’ya sunduğumda, ve bunun ajanlar için iyi bir model olup olmadığını sorduğumda, eksik bir özelliğe dikkat çekti: uyarlama. Daha sonra, sistemin çalışma zamanında değişmesine izin vererek, yapısını izin verilen bir kalıp sınıfından başka bir yapıya dönüştürmesine olanak tanıyan yapısal uyarlamanın kolayca dahil edilebileceğini fark ettik.”
Stefanescu ve Paduraru, modellerini tamamladıktan sonra, dağıtılmış yazılım ve donanım uygulamalarını birbirine bağlayan yeni bir tür “montaj dili” sağlayacaklarını umuyorlar. Çalışmalarının önemli katkılarından biri, donanım gereksinimlerini yansıtan ve yazılım gereksinimlerini uygulayan düşük seviye işlevler yürüten bir yapıya sahip olan “sanal organizmalar” kavramını ortaya koymasıdır.
Stefanescu: “Bir 2D sanal organizma sınıfı (VO), yapısal ve işlevsel özelliklerin bir kombinasyonu ile tanımlanır,” dedi. Yapısal bilgi, bilgisayar düğümlerinin yerleştirilmesi için izin verilen yapıları açıklayan, düzenli bir 2D düzeniyle sağlanmaktadır. Komşu düğümler, paylaşılan arayüzleri üzerinden iletişim kurar. Dahası, dış sınırdaki düğümler, sanal organizmaların daha büyük organizmalarda toplanmasına izin vererek, VO’ların mekansal bileşiminin kontrol edilmesinde kilit bir role sahiptir.”
Bir VO geliştikçe, yeni yapının mevcut olanla aynı sınıfta olması koşuluyla, yeniden yapılandırma yoluyla düğüm ekleyerek veya silerek, yapısını değiştirebilir. Açıkça oluşturma ve silme operatörleri de belirtilebilir. Belirli bir VO sınıfı tarafından desteklenen temel işlevler, VO’nun bilgi işlem düğümleri ağı tarafından gerçekleştirilmektedir. Bunlar, düğümler tarafından desteklenen işlevleri ve VO’nun yapısı tarafından sağlanan iletişimi içerir.
Stefanescu: “Bir yönetim programı hangi fonksiyonların yerine getirildiğini, nerede ve nasıl müdahale edileceğini kontrol eder. Desteklenen temel işlevler arasında, uyarlamaya adanmış özel işlevler var: Düğümlerin yeniden yapılandırılması, eklenmesi veya silinmesinin gerekip gerekmediğine ve ayrıca, ne zaman ve nasıl yapıldığına karar verir. Yönetim programında mevcut olan olağan kompozisyon operatörleri, özellikle yeni işlevlerin nasıl ekleneceğini veya eskilerini nasıl kaldıracağını belirtir.”
VO’lar fiziksel sistemlere dağıtıldığında, aynı fiziksel düğümde daha fazla sanal düğüm eşlenebilir. Bu, VO’ların düğümleri arasında eşler arası (P2P) iletişimi sağlar. Mevcut ya da yeni işlevselliklerin bazıları; aynı fiziksel düğüm üzerinde eşlenen sanal düğümler arasındaki bu doğrudan iletişimden yararlanılarak daha etkili bir şekilde uygulanabilir.
Paduraru: “Çalışmamızın en önemli yönlerinden birinin sistemin yapısını ve işlevsel tarafını nasıl bağladığımız olduğunu düşünüyorum. Bu, gelecekte hem fiziksel ajanları (örneğin bir yolu oluşturmak için birlikte çalışan robotlar) hem de yazılım ajanlarını (örneğin bulutta yazılım parçalarını bağlamak) birbirine bağlanmasını gerektiren birçok kategori için uygulanabilir.”
Makalelerinde, Paduraru ve Stefanescu, akış yönetimi için üç VO örneği kullanarak fikirlerini özel olarak göstermiştir: bir ağaç toplayıcı organizma, bir besleme hücresi organizması ve bağlı besleme hücresi organizmalarının bir koleksiyonundan oluşan bir organizma. Daha sonra yeniden yapılandırmanın faydalarını değerlendirmek için ağaç toplayıcı organizmalar için bir simülatör kullandılar.
Bulguları, dinamik olarak değişen ortamlarda, yeniden yapılandırılabilir yapıların, sabit yapılardan daha verimli olduğunu göstermektedir. Araştırmacılar ayrıca DSL dilleri Agapia’nın, VO simülasyonlarında hızlı uygulamalara ulaşmak için nasıl kullanılabileceğini gösterdi.
Paduraru: “Artık bu tür modellerin programlanması için daha fazla yatırım yapmayı planlıyoruz; kutu ortamlarında daha fazla test oluşturuyoruz, insan çabası olmadan optimizasyon politikaları oluşturmak için takviye öğrenme gibi farklı teknikleri bir araya getirdik ve son olarak sanal organizmaları gerçek dünya uygulamalarına yerleştirdik.”