Denna rapport undersöker möjligheten att bryta ner ett stort program till mindre och enkaler moduler och skapa en dataöverförings- och kommunikationsarkitektur mellan dem. Dataöverföringen skall vara dynamisk för att olika moduler skall under exekvering ha möjlighet att byta modul den vill ha data ifrån samt centralisera koden och kommunikationen skall optimera antalet meddelandeöverföringar. Arbetet resulterar i två arkitekturer som uppfyller tidigare satta målen i ett parallellt system, arbetet analyseras sedan analytiskt och styrkor och svagheter undersöks. Arkitekturerna medför att många problem med att utveckla stora system undviks och detta skapar fler möjliga kopplingar, mindre komplexa moduler samt centralisering av funktionalitet i programmet.