Back to results

University of New Mexico

Stella: A Python-based Domain-Specific Language for Simulations

Abstract

dc:description.abstract

Stella is a domain-specific language that (1) has single thread performance competitive with low-level languages, (2) supports object-oriented programming (OOP) to properly structure the code, and (3) is very easy to use. Instead of prototyping in a high-level language and then rewriting in a lower-level language, Stella is embedded in Python, is transparently usable, retains some OOP features, compiles to machine code, and executes at speed similar to C. Stella's source code is compatible with Python, and allows easy integration of C libraries. Its features are focused on the needs of scientific simulations. Other projects to speed up Python focus on easy integration, and smaller critical sections. In contrast, Stella supports translating larger programs in their entirety, and does not allow interaction with the Python run-time, to ensure predictable performance. My experience developing Stella shows that by carefully selecting language features, high run-time performance can be achieved in a high-level language that has in practice very few restrictions.

Degree

thesis:*
Name thesis:degree_name
Computer Science
Level thesis:degree_level
Dissertation
Discipline thesis:degree_discipline
Department of Computer Science
Year
2015

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Mohr, David
Contributors dc:contributor
  • Stefanovic, Darko
  • Hermenegildo, Manuel
  • Tapia, Lydia
  • Lakin, Matthew

Subjects

dc:subject × 4

Rights

Language dc:language
English

Identifiers

dc:identifier.*
OAI identifier oai:identifier
oai:digitalrepository.unm.edu:cs_etds-1011

Chain of custody

source
Harvested from
University of New Mexico
Base URL
digitalrepository.unm.edu/do/oai/
Last updated
2026-07-24
Source record
OAI-PMH GetRecord
citation

Mohr, David. Stella: A Python-based Domain-Specific Language for Simulations. Dissertation thesis, 2015. http://hdl.handle.net/1928/31733