[Paper Review] Implementation of the Domain-Specific Language EasyTime using a LISA Compiler Generator
This paper presents EasyTime, a domain-specific language (DSL) for configuring automated timing systems in sporting events, implemented using the LISA compiler generator to automatically generate compilers from attribute grammar specifications. The approach enables flexible, reliable, and efficient processing of race events by encoding timing rules in a human-readable DSL, reducing reliance on custom programming and specialized vendors, with successful real-world deployment in major competitions including the World Championship for ultra double triathlon and national time trials.
A manually time-measuring tool in mass sporting competitions cannot be imagined nowadays because many modern disciplines, such as IronMan, take a long time and, therefore, demand additional reliability. Moreover, automatic timing devices, based on RFID technology, have become cheaper. However, these devices cannot operate stand-alone because they need a computer measuring system that is capable of processing the incoming events, encoding the results, assigning them to the correct competitor, sorting the results according to the achieved times, and then providing a printout of the results. In this article, the domain-specific language EasyTime is presented, which enables the controlling of an agent by writing the events in a database. In particular, we are focused on the implementation of EasyTime with a LISA tool that enables the automatic construction of compilers from language specifications using Attribute Grammars. By using of EasyTime, we can also decrease the number of measuring devices. Furthermore, EasyTime is universal and can be applied to many different sporting competitions in practice.
Motivation & Objective
- To design a domain-specific language (DSL) that simplifies configuration of automated timing systems for sporting events, particularly long-duration events like triathlons.
- To reduce dependency on specialized software vendors and manual configuration by enabling non-programmers to define timing logic through a high-level, expressive DSL.
- To implement the DSL using the LISA compiler generator, enabling automatic generation of compilers from formal attribute grammar specifications.
- To ensure correctness, maintainability, and performance of the generated code through formal semantics and efficient virtual machine execution.
- To validate the approach in real-world sporting events, demonstrating practical applicability and reliability.
Proposed method
- The domain-specific language EasyTime is formally specified using attribute grammars, defining syntax, semantics, and rules for event processing.
- The LISA toolchain is used to automatically generate a compiler from the EasyTime grammar, ensuring type safety and correct attribute propagation.
- The generated compiler translates EasyTime programs into low-level virtual machine (VM) instructions for execution on a target agent system.
- The execution environment uses a virtual machine that interprets the compiled code, managing event reconstruction, result mapping, and database persistence.
- The system supports both batch and online processing modes, with events mapped to competitors via starting numbers or RFID tags and timestamped for accurate result ordering.
- The agent initializes once by loading the program and variables, then processes events in real time or from log files, writing results to a database.
Experimental results
Research questions
- RQ1How can a domain-specific language be effectively designed to model complex timing rules in multi-stage sporting events?
- RQ2To what extent can a compiler generator like LISA automate the construction of reliable, domain-specific compilers from formal grammar specifications?
- RQ3Can the resulting DSL and compiler enable non-programmers to configure automated timing systems without specialized software support?
- RQ4How does the performance and reliability of the system compare to traditional, manually configured systems in real-world competitions?
- RQ5What are the practical benefits of using a DSL-based approach in reducing configuration complexity and hardware requirements?
Key findings
- The EasyTime DSL successfully enables configuration of automated timing systems for diverse sporting events, including triathlons and time trials, with minimal programming expertise.
- The LISA compiler generator enabled automatic, correct-by-construction compilation from formal attribute grammar specifications, reducing implementation errors.
- The system was successfully deployed in real-world events, including the 2009 World Championship for ultra double triathlon and the 2010 National Championship in bicycle time trials.
- The generated code is interpreted efficiently, with no performance degradation, as interpretation is not time-consuming and does not affect real-time timing precision.
- The system supports both online and batch processing, allowing flexibility in event data handling and integration with existing infrastructure.
- The use of EasyTime reduced the number of required measuring devices by enabling a single agent to manage multiple control points through rule-based logic.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.