@techreport{R-92-16, TITLE = {Parforman-an Assertion Language for Specifying Behaviour when Debugging Parallel Applications}, AUTHOR = {Mikhail Auguston and Peter Fritzson}, YEAR = {1992}, NUMBER = {R-92-16}, INSTITUTION = ida, ADDRESS = idaaddr, ABSTRACTURL = {/publications/cgi-bin/tr-fetch.pl?r-92-16+abstr}, ABSTRACT = {PARFORMAN (PARallel FORMal ANnotation language) is a high-level specification language for expressing intended behaviour or known types of error conditions when debugging or testing parallel programs. The high-level debugging approach which is supported by PARFORMAN is model-based, similar to the EBBA system, or to Algorithmic Debugging. Models of intended or faulty behaviour can be succinctly specified in PARFORMAN. These models are then compared with the actual behaviour in terms of execution traces of events, in order to localize possible bugs. PARFORMAN can also be used as a general language for expressing computations over execution histories.PARFORMAN is based on a precise axiomatic model of target program behavior. This model, called H-space (History-space), is formally defined through a set of general axioms about three basic relations, which may or may not hold between two arbitrary events: they may be sequentially ordered (SEQ), they may be parallel (PAR), or one of them might be included in another composite event (IN). The general notion of composite event is exploited systematically, which makes possible more powerful and succinct specifications. The high-level notion of event-grammar is introduced to describe allowed event patterns over a certain application domain or language. Auxiliary composite events such as Snapshots are introduced to be able to define the notion "occurred at the same time" at suitable levels of abstraction. Finally, patterns and aggregate operations on events are introduced to make possible short and readable specifications. In addition to debugging and testing, PARFORMAN can also be used to specify profiles and performance measurements.}, IDANR = {LiTH-IDA-R-92-16}, NOTE = {Has been accepted to the EuroMicro workshop on Parallel and Distributed Processing, Januari 1993}