Premium
A layer on top of prolog for composing behavioural constraints
Author(s) -
Bolognesi Tommaso,
Accordino Franco
Publication year - 1998
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/(sici)1097-024x(1998110)28:13<1415::aid-spe209>3.0.co;2-6
Subject(s) - executable , notation , prolog , constraint (computer aided design) , computer science , programming language , state (computer science) , variety (cybernetics) , action (physics) , extension (predicate logic) , composition (language) , theoretical computer science , mathematics , artificial intelligence , arithmetic , linguistics , philosophy , geometry , physics , quantum mechanics
We propose an enrichment of the Prolog language based on the introduction of explicit notions of state variables and, most notably, of actions. The extended language, called co‐notation, supports the formal, executable description of a wide variety of systems in a so‐called ‘constraint‐oriented style’: system behaviours are described as hierarchical compositions of constraints on actions and state variables. Elementary constraints include state invariants, referring to one or more state variables, and ‘active predicates’, involving one action and zero or more state variables. Compound constraints are encapsulated compositions of elementary and/or compound constraints, and represent partial views about the system behaviour. Constraint composition is also reminiscent of process composition in process algebra, but encompasses interaction both by rendez‐vous and by shared variables. © 1998 John Wiley & Sons, Ltd.