In this chapter we present the formal language, stochastic process algebra (STOPA), to specify cognitive systems. In addition to the usual characteristics of these formalisms, this language features the possibility of including stochastic time. This kind of time is useful to represent systems where the delays are not controlled by fixed amounts of time, but are given by probability distribution functions. In order to illustrate the usefulness of our formalism, we will formally represent a cognitive model of the memory. Following contemporary theories of memory classification (see Squire et al., 1993; Solso, 1999) we consider sensory buffer, short-term, and long-term memories. Moreover, borrowing from Y. Wang and Y. Wang (2006), we also consider the so-called action buffer memory.
Cognitive informatics (Wang, 2002a, 2007a) is a relatively new field of knowledge. In fact, we are still in a period where new mechanisms are being introduced in the field. These include implementation and representation languages, theoretical models, algorithms, etc. However, not all the advances in cognitive informatics are completely novel. In fact, we may (and should!) take advantage of other more mature fields. For example, this is the case of the development of frameworks for the formal specification of cognitive systems. The introduction of RTPA (Wang, 2002b, 2003) represents a very adequate step in this direction. By conveniently putting together the ideas underlying classical process algebras, RTPA is a new framework to represent cognitive processes and systems.
In order to understand why we consider stochastic time, it is worth to briefly review the main milestones in the development of process algebras (see (Bergstra, 2001) for a good overview of the current research topics in the field and (Hoare, 1985; Milner, 1989; Baeten and Weijland, 1990) for the presentation of the classical formalisms). Process algebras are very suitable to formally specify systems where concurrency is an essential key. The first work was very significant, mainly to shed light on concepts and to open research methodologies. However, due to the abstraction of the complicated features, models were still far from real systems. Therefore, some of the solutions were not specific enough, for instance, those related to real time systems. In particular, features which were abstracted before have been introduced in the models. Thus, they allow the design of systems where not only functional requirements but also performance ones are included. The most significant of these additions are related to notions such as time (e.g. (Reed and Roscoe, 1988; Nicollin and Sifakis, 1991; Yi, 1991; Davies and Schneider, 1995; Baeten and Middelburg, 2002)) and probabilities (e.g. (Glabbeek et al., 1995; Núñez et al., 1995; Núñez and Frutos, 1995; Cleaveland et al., 1999; Cazorla et al., 2003)). An attempt to integrate time and probabilistic information has been given by introducing stochastic process algebras (e.g. (Gцtz et al., 1993; Hillston, 1996; Bernardo and Gorrieri, 1998; Pelayo et al., 2000; López and Núñez, 2001)). Most stochastic process algebras work exclusively with exponential distributions (some exceptions are (Bravetti et al., 1998; D’Argenio et al., 1998; Harrison and Strulo, 2000; Bravetti and Gorrieri, 2002; López, 2004)). The problem is that the combination of parallel/concurrency composition operators and general distributions strongly complicates the definition of semantic models. That is why stochastic process algebras are usually based on (semi)-Markov chains. However, this assumption decreases the expressiveness of the language, because it does not allow to properly express some behaviors where timed distributions are not exponential.