State Machines (ASMs) have been successfully applied for modeling critical and complex systems in a wide range of application domains. However, unlike other well-known formalisms, e.g. Petri nets, ASMs lack inherent, domain-independent characterizations of computationally important properties.Here, we provide an ASM-based characterization of the starvation-free property.The classic, informal notion of starvation, usually provided in literature, is analyzed and expressed as a necessary condition in terms of ASMs. Thus, we enrich the ASM framework with the notion of vulnerable rule as a practical tool for analyzing starvation issues in an operational fashion.Keywords: abstract state machines; formal verification; starvation
IntroductionSeveral formalisms are successfully applied to the development of critical and complex systems in a wide range of application domains, and to their ex-ante and ex-post analysis aimed at verifying and validating functionality and quality issues. Representing the system-under-study at a high level of abstraction allows developers to focus on algorithmic aspects, rather than on specific realizations of solutions at lower levels.Moreover, the mathematical foundation of formal methods provides complete and unambiguous investigations about the behavior and the properties the system-understudy is required to exhibit.Some formalisms provide inherent characterizations of properties -in the sense that they can be viewed as independent from the application domain -so that the formal verification of the computationally interesting properties of the modeled systems can be easily conducted. For example, in the Petri net framework [16], a marking Mi is reachable from an initial marking M0 if a sequence of transitions transforms M0 into Mi.If a marking is not reachable, then the transitions it drives are useless and can be deleted. However, several other formalisms do not provide such features.Our long-term research is aimed at providing an analogous framework for capturing computationally interesting properties with Abstract State Machines (ASMs)[28]. The goal is to enrich the general body-of-knowledge of the ASM framework and reinforce it as a conceptual tool that developers can find useful and practical in order to analyze system properties in an operational fashion. In this paper, "operational" means that the formal specification describes procedurally the system behavior by providing an abstract machine, which can be transformed in an executable form: this is the case of ASM-based models. This notation is usually mentioned in opposition to "declarative"