2 research outputs found
What do Users Expect of Bidirectional Transformations?
A bidirectional transformation (bx) is a means of maintaining the consistency of two or more related sources of information. Existing bx frameworks attempt to capture what it means for a bx to be well-behaved by proposing various laws. In many cases, however, it is still unclear if such laws really capture "desirable" behaviour from a user\u27s perspective. We argue that knowing most users\u27 expectations is not only useful as input for designing, extending, and improving existing bx frameworks and tools, but also when attempting to choose the most suitable bx tool for a specific application scenario and group of users. In addition, being aware of intuitive expectations that cannot be fulfilled by a chosen bx tool (perhaps for good reasons!) is equally important; when designing and implementing consistency maintainers, such mismatches between users\u27 expectations and tool characteristics should be made explicit and discussed with all stakeholders. In this paper, we designed and performed an experiment asking 65 computer science students to answer questions regarding the expected behaviour of a synchroniser. Our contribution is twofold: (i) we propose an experiment design that can be adapted and repeated for a specific group of users, and (ii) we present and discuss empirical data obtained from two runs of the experiment
Recommended from our members
Bidirectional evaluation for general purpose programming
A method of facilitating bidirectional programming of a user may include receiving an original program source code and evaluating the original program source code in the forward direction to generate a program output. The evaluation may occur in a programming environment. The program output may be displayed, and an indication of the user corresponding to modifying the program output may be received. The modified program output may be evaluated to generate an updated program source code, wherein the updated program source code, when evaluated, may generate the modified program output. The modified program output may be displayed in a display device of the user. A computing system including a bidirectional programming environment may also be included