UI Statecharts: Community Collaboration to Define Robust User Interfaces

Published: 05 Jun 2019, Last Modified: 05 May 2023VIVO 2019Readers: Everyone
Keywords: easy community collaboration, statecharts, finite state machines, shared understanding of requirements, javascript, front end developement, framework agnostic, stateless, decoupled implementation
TL;DR: Decouple interface logic from data-related logic and bring a visual map of features behavior to people of different expertise.
Abstract: The VIVO community has long promoted the value of modeling the domain of scholarship in a form that is independent of a particular software implementation. The VIVO ontology is the product of a collaborative effort to define a shared understanding of the semantics behind the complex graphs of scholarly activity that different research networking systems might choose to process internally in different ways. As research networking software projects such as VIVO begin to develop the next generation of decoupled, dynamic and responsive user interfaces, there is an opportunity to consider a similar kind of collaborative modeling approach to define robust UIs whose behavior can be reasoned about and tested separately from a concrete software implementation. Statecharts were first described by David Harel in 1987 as an extension of finite state machines and state diagrams[1], but have recently gained traction in the web UI development community[2]. With UI statecharts, the representation of the features, behavior, and possible effects of different UI interactions is decoupled from the code that actually implements the behavior. This can lead to a number of potential benefits, such as validating that software properly implements community requirements, opening up aspects of development to contributors who may not be experts in particular web UI frameworks, and automatically generating more robust, testable and bug-free code. In this presentation we will examine the principles of UI statecharts and consider their application to community development of research networking software. REFERENCES [1] Harel, David. Statecharts: A Visual Formalism For Complex Systems. (1987). Science of Computer Programming, 8(3), 231-274. DOI: 10.1016/0167-6423(87)90035-9. [2] „Welcome to the world of statecharts.” https://statecharts.github.io/ . Retrieved 29 April 2019.
ORCID: 0000-0002-6516-9531
Submission Type: presentation proposal
3 Replies

Loading