ארנון שטורם

אקדמי בכיר

Imperative versus declarative constraint specification languages

a controlled experiment

Azzam Maraee, Arnon Sturm

Model-based software engineering gains further attention these days. To better support it, the use of constraint languages is important in order to bridge expressiveness gaps and eliminate ambiguity. Nevertheless, the use of model-based constraint languages, like the Object Constraint Language (OCL), is quite limited and the specification of constraints is left to the implementation stage. One option for these practices might be the misconception that model-based constraint languages are difficult to work with. In this paper, we examine the usages of representative constraint languages, namely OCL, for model-based constraint languages, and Java, for implementation-based constraint languages. In particular, we examine their usage in understanding and developing constraints. We evaluate these usages via a controlled experiment with 110 Information Systems Engineering undergraduate students. We found out that using OCL outperforms using Java for both understanding and developing constraints. Yet, the students had more confidence with Java. The results indicate that the aforementioned misconception is wrong and there is a need for further education regarding model-based constraints languages, so to get more practice and confidence.

שפת פרסום אנגלית
דפים 27-48
כתב עת Software and Systems Modeling
כרך 20
נושא מספר 1
סטטוס פרסום פורסם - 01.02.2021

Keywords

Constraint language
Controlled experiment
Declarative language
Evaluation
Imperative language
Java
Modeling
OCL

ASJC Scopus subject areas

Software
Modeling and Simulation
גישה למסמך
10.1007/s10270-020-00796-4
קבצים וקישורים אחרים
Link to publication in Scopus