AAU Student Projects - visit Aalborg University's student projects portal
A master's thesis from Aalborg University
Book cover


Mask and Thespian: An IDE and a Language for Agent-Based Modeling and Simulation using the Actor Model

Authors

;

Term

4. term

Education

Publication year

2018

Pages

108

Abstract

This project explores how agent-based modeling and simulation (ABMS) can be combined with the actor model to make development more accessible. Based on a review of popular ABMS tools and actor-oriented languages, the authors define requirements for a new tool, then design and implement an Integrated Development Environment (IDE) called Mask and a C#-based language, Thespian, which compiles to C# with Akka.NET. C# was chosen for its ecosystem (e.g., WPF and Akka.NET), while Thespian introduces three simple constructs—actor, message, and simulation—and streamlines Akka.NET’s verbose syntax to ease building simulations (e.g., instantiation via "new MyActor()" instead of the Props pattern). The report covers the design and implementation of the language, compiler, and IDE features (code tree, generation, compilation, error handling, and running simulations). A tutorial and two assignments were prepared for evaluation, but user testing was not conducted due to time constraints, so accessibility remains unvalidated. The outcome is working prototypes of Mask and Thespian that reduce the complexity of actor-based simulation modeling, with further improvements needed before reaching commercial quality.

Dette projekt undersøger, hvordan agentbaseret modellering og simulering (ABMS) kan kombineres med aktormodellen for at gøre udviklingen mere tilgængelig. Ud fra en gennemgang af populære ABMS-værktøjer og aktororienterede sprog opstilles krav til et nyt værktøj, hvorefter der designes og implementeres en integreret udviklingsmiljø (IDE) kaldet Mask samt et C#-baseret sprog, Thespian, der kompilerer til C# med Akka.NET. Valget af C# begrundes med tilgængelige værktøjer som WPF og Akka.NET, mens Thespian indfører tre enkle konstruktioner—actor, message og simulation—og reducerer den verbøse syntaks i Akka.NET for at lette opbygning af simulationer (fx instansiering med "new MyActor()" frem for Akka.NET’s Props-mønster). Projektet beskriver design og implementering af sprog, compiler og IDE-funktioner (kode-træ, generering, kompilering, fejlhåndtering og afvikling af simulationer). Der er forberedt en tutorial og to opgaver til evaluering, men brugertest er ikke gennemført på grund af tidsbegrænsninger, så tilgængeligheden er endnu ikke empirisk valideret. Resultatet er fungerende prototyper af Mask og Thespian, som reducerer kompleksiteten ved aktorbaseret simulationsmodellering, men der er fortsat plads til forbedringer før kommerciel kvalitet.

[This apstract has been generated with the help of AI directly from the project full text]