IEEE TRANSACTIONS ON HUMAN-MACHINE SYSTEMS, VOL. 43, NO. 6, NOVEMBER 2013 509 Using Temporal Logic and Model Checking in Automated Recognition of Human Activities for Ambient-Assisted Living Tommaso Magherini, Alessandro Fantechi, Chris D. Nugent, Member, IEEE, and Enrico Vicario, Member, IEEE Abstract—Automated monitoring and the recognition of activities of daily living (ADLs) is a key challenge in ambient-assisted living (AAL) for the assistance of the elderly. Within this context, a formal approach may provide a means to fill the gap between the low-level observations acquired by sensing devices and the highlevel concepts that are required for the recognition of human activities. We describe a system named ARA (Automated Recognizer of ADLs) that exploits propositional temporal logic and model checking to support automated real-time recognition of ADLs within a smart environment. The logic is shown to be expressive enough for the specification of realistic patterns of ADLs in terms of basic actions detected by a sensorized environment. The online model checking engine is shown to be capable of processing a stream of detected actions in real time. The effectiveness and viability of the approach are evaluated within the context of a smart kitchen, where different types of ADLs are repeatedly performed. Index Terms—Activities of Daily Living (ADL), activity recognition, Ambient Assisted Living (AAL), model checking, real-time processing, temporal logic. I. INTRODUCTION HE demographics of the global population are changing, with an increasing number of both the elderly and people suffering from long-term chronic conditions [32]. Independence, well-being, and health status of these people largely depend on their autonomy in the accomplishment of basic actions of daily self-care. This level of self care is often evaluated with reference to the execution capabilities of standard Activities of Daily Living (ADLs) [24], which address self-care procedures such as feeding, transferring, and washing [38]. Automated activity recognition [2], [40] applied to the specific scenarios of ADLs has the potential to play a pivotal role in supporting the quality of life and improving living experience. To this end, a growing number of pervasive technologies, T Manuscript received July 2, 2012; revised December 8, 2012 and May 6, 2013; accepted August 17, 2013. Date of current version November 26, 2013. This paper was recommended by Associate Editor E. Bass of the former IEEE Transactions on Systems, Man and Cybernetics, Part A: Systems and Humans (2012 Impact Factor: 2.183). T. Magherini, A. Fantechi, and E. Vicario are with the Department of Information Engineering, University of Florence, 50139 Firenze, Italy (e-mail: [email protected]; [email protected]; enrico. [email protected]). C. D. Nugent is with the Faculty of Computing and Engineering, Computer Science Research Institute and School of Computing and Mathematics, University of Ulster, Belfast, BT37 0QB, U.K. (e-mail: [email protected]). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TSMC.2013.2283661 such as wireless sensor networks (WSN) [19], wired sensor networks [46], radio-frequency identification (RFID) [34], and camera-based systems [7], [30], can be used to extract and gather information from sensorized environments. Nevertheless, a major semantic gap separates the data provided by sensing devices and the high-level interpretation required for care service delivery. This gap involves different responsibilities and grains of abstraction, for which various layered architectures have been proposed [11], [13], [29], [43]. In [11], three levels of concern are identified, so as to distinguish the acquisition of numerical observation, the recognition of symbolic observable sequences corresponding to predefined patterns, and their exploitation in a higher contextual information level. Different classifications have been proposed for high-level pattern-recognition techniques. In particular, two orthogonal categorizations are proposed in [45] and [37]. The former emphasizes the difference between learning-based and specification-based approaches, while the latter distinguishes among statistical, syntactic, and description-based approaches. According to [37], statistical approaches, exploiting models such as Bayesian Networks [34], Hidden Markov Models [16], [46], and Conditional Random Fields [41], achieve good results with sequential activities; however, they require large learning datasets and present the restrictions of temporal constraint management. Syntactic approaches represent human activities as the string of symbols and use parsing algorithms for the recognition of these strings in the information stream. Context free grammar and stochastic context free grammar have been adopted to recognize activities in [36] and [20], respectively. As main drawbacks, these approaches need a complete definition of all possible production rules for each activity, and do not easily encompass concurrent activities that may occur in several and different orders. Description-based approaches specify human activities through properties that shall be satisfied by different realizations. Ontological rules and propositional logic have been adopted to represent and recognize human activities in [8] and [35], respectively. Basic guidelines and preliminary results on the application of propositional temporal logic (TL) and model checking within the realms of AAL have been proposed in [28]. As a common trait, activities are characterized through a higher level of abstraction capturing only a set of salient basic actions and their spatiotemporal relationships. In this paper, we propose a novel description-based approach, where human behavioral patterns are characterized through formulae of propositional real-time TL and checked against the flow of events detected within a smart environment. This is 2168-2291 © 2013 IEEE 510 IEEE TRANSACTIONS ON HUMAN-MACHINE SYSTEMS, VOL. 43, NO. 6, NOVEMBER 2013 concretely implemented in a prototype system, called ARA (Automated Recognizer of ADLs), which was used to experiment and test the approach with respect to expressivity and efficiency of requirements. On the one hand, we show how the logic is expressive enough to specify realistic patterns of ADLs in terms of basic actions that can be automatically detected by a sensorized environment. On the other hand, we also show that the online model checking engine of ARA is able to manage observation streams within an experimental setting using stereo cameras for the identification of the actions of a single person. With respect to [28], this paper adds: a comprehensive definition of syntax and semantics of the proposed temporal logic, the development of a system for the automated and real-time recognition of human activities, and an evaluation of the performances of the proposed approach carried out through a nontrivial dataset gathered within a smart environment. The rest of the paper is organized as follows. Section II describes the proposed activity recognition approach based on a propositional TL and a model checking engine. Section III shows experimental results concerning the recognition of human activities in a sensorized environment, and Section IV presents a discussion that is related to the proposed approach and future developments that this enables. the stoves, the oven and the hot-water tap. In this case, the monitoring system detects that the oven is switched on for more than 2 h and informs Alice of this situation. She does not switch off the oven and as a result the SH sends a message to Bob, informing him about the situation. Finally, Alice switches off the oven, and the SH sends a new message to Bob informing him that the potentially dangerous situation is resolved. While preparing the dinner, the doctor calls Alice; however, she does not hear the telephone ringing in the living room. The system recognizes that somebody is in the house and nobody answers the telephone, and informs Alice that her doctor tried to call her; however, she did not answer the phone. Following dinner, the SH reminds Alice to take her prescribed medication. It subsequently monitors Alice’s actions in order to verify that she adheres to the reminder. When Alice goes to sleep, the system checks that the windows and the front door are closed, and the gas and the lights are switched off. Finally, the SH saves a log file containing all the activities performed by Alice in order to build a history of her behaviors. II. AUTOMATED RECOGNIZER OF ACTIVITIES OF DAILY LIVINGS SYSTEM In the life science context, an ADL is usually considered as an abstract class of activities with some trait of logical cohesion. For instance, in [24], the ADL “Transferring” collects together any concrete activity wherein the subject moves across different places, which can concretely consist in moving in/out of bed or going up/down the stairs. In a similar manner, taking clothes from a wardrobe and putting on overcoats are different instances of the ADL “Dressing.” The development of automated human activity recognition techniques requires a more concrete and detailed specification of ADLs. To this end, we distinguish three concepts at different levels: activity, action, and observation. 1) An activity is a task undertaken by the observed subject with an intended goal that may be achieved through a sequence of different steps, in different orders, and with different timings. For instance, the activity of brewing an American coffee normally includes the steps of pouring water into the cup and adding ground coffee, and possibly includes the steps of adding sugar and/or milk. The steps of water pouring and adding the coffee may occur in different orders, however, drinking will necessarily follow both of them. 2) An action is a single step possibly characterized by quantitative timing constraints that may occur in different activities. For instance, the action representing water pouring into a cup is included in the preparation of a hot drink; however, it is also associated with the activities concerning the intake of medication. Regarding a specific activity, the actions may be classified into two categories: relevant and noisy. The former represents the set of actions that the user may execute during the activity performance, while the latter includes the actions that do not belong to the given activity. In particular, a relevant action may be classified as mandatory, if it represents a necessary step for We introduce functional requirements for AAL through the description of a hypothetical scenario of application. Then, we formalize the ADL recognition problem introducing an ontology for human daily activities which is followed by a definition of a propositional TL that satisfies the expressive needs of AAL. We finally report on the implementation of the ARA system focusing on users and software components. A. Application Scenario Alice is an elderly woman, who lives alone. She is selfsufficient, however, her son Bob and her doctor wish to supervise her needs. In particular, they would like to monitor and support Alice during the performance of daily activities. Based on this aspiration, her house was transformed to a Smart Home (SH) through the installation of several kinds of sensing technologies. Every afternoon, Alice goes for a walk in a park. After the walk, Alice returns to her home to prepare a coffee (she does not like tea). The SH detects that the front door is still opened and warns Alice, who subsequently closes the door. During the process of making the coffee, the SH supervizes the activity by recognizing each of the step performed by Alice and offering prompts during the instances of confusion or forgetfulness. She prefers white coffee and adds some cold milk, placed in the fridge, into the cup. The SH recognizes that the fridge door was opened and subsequently closed within a short period of time and infers that an activity was correctly performed by Alice. After some rest, Alice starts to prepare a roasted chicken for her evening meal. The SH monitors the users actions in order to detect the potentially dangerous situations controlling B. Formulation for the Activities of Daily Living Recognition Problem MAGHERINI et al.: USING TEMPORAL LOGIC AND MODEL CHECKING IN AUTOMATED RECOGNITION OF HUMAN ACTIVITIES the correct execution of the activity, and optional, if it represents a step that may or may not be executed during the activity performing. Following the aforementioned example, the activity of coffee preparation is composed of two mandatory actions (water pouring and coffee adding), a number of optional actions (sugar/milk adding), and a set of noisy actions (the actions detected by the ARA outside the kitchen). 3) An observation is a measurement taken by some device that may occur during the execution of different steps. For example, a movement of a cup may occur during the step of water pouring, during drinking, or when the cup is washed. In general, a single action may result in multiple observations, possibly stemming from multiple devices. For example, when a coffee box is taken from the cupboard, different devices may reveal multiple measurements relating to the acceleration of movement of the coffee container and on the opening and closing of cupboard doors. Within this framework, ADL recognition can be formulated as the problem of identifying whether a sequence of observations, arising from a sensorized environment, can be interpreted as the footprint of a set of actions and activities carried out by the same person. This is largely concerned with the observations, and also with their sequencing and timing. C. Temporal Logic for Activities of Daily Living Specification In order to support an automated approach to the recognition of ADLs, we have defined a variant of TL as a language for the specification of the conditions under which a sequence of observations can be regarded as an occurrence of some action or activity. In general, TL has been developed and applied as a formalism for reasoning on the ordering and quantitative timing of events [23]. Several formulations have been proposed to satisfy the needs of different contexts, such as railway signaling systems [5], avionic systems [31], and software components [22]. TL may be classified on the basis of the underlying nature of time: linear temporal logic (LTL) and computational tree logic (CTL). The former represents the time course as linear (i.e., each time instant may have only one successor), while the latter represents the time course as a branching structure, introducing multiple successors for each present instants. A bounded verification of a past LTL is shown in [9], where the introduction of past operators permits a more compact and simpler specification of formulae, and a bounded history allows the analysis of a fixed number of past time instant. LTL with real-time constraints is presented in [3] and [26], providing minimum and maximum bounds for temporal operators. To satisfy the expressive needs for ADL specification, we extended and combined bounded history, past operators, and real-time constraint features, proposed in [3], [9], and [26], respectively, to define syntax and semantics of TL based on the following characteristics. 511 1) Propositional TL: we will reason about actions in the observed environment, combined through Boolean and temporal operators. First order predicates may also fit the context (e.g., in the management of classes of equivalent objects or actions); however, at the expense of a much higher complexity. 2) Past oriented: as opposed to most formulations, our logic shall reason about the past rather than future, using the past operators: Y (Yesterday), O (Once), H (Historically), and S (Since). The use of these operators does not change the expressive power with respect to a conventional futureoriented logic; however, it enables a more convenient formulation of ADLs. 3) Linear time: we focus on the flow of actions executed by the users and the environment, which is a linear sequence by construction. 4) Discrete time: actions are detected by sensing devices in an asynchronous manner at time instants which consider values in a continuous domain. Nevertheless, each action can be safely discretized with a cost effective tradeoff between efficiency and accuracy, producing subsets of actions and activities characterized by the same time instant. 5) Real-time constraints: in order to capture quantitative constraints of the time elapsed between actions, the logic shall include real-time operators. In particular, we assume temporal operators subscripted with time annotations as usual in real-time TL [3]. 6) Bounded history: we focus on the actions executed by the user in the recent past, given that expected patterns of ADLs are supposed to be encompassed within a bounded time span. For this purpose, the logic shall consider only a finite part of the action flow. The resulting logic has been referenced as bounded Real-time past linear Temporal Logic (referred to as R-pTL). The syntax of the R-pTL is defined over a set of atomic proposition AP = {p, q, . . .} and a set of timed instants T = {t1 , t2 , . . .} ⊆ N Definition 2.1: Let Σ be a set of timed states. A timed state σt ∈ Σ is a pair (s, t), where s ∈ 2A P is the set of atomic propositions that are true at time t ∈ T [26]. Definition 2.2: A timed trace Γ ⊆ Σ, is a possible infinite sequence of timed states Γ = . . . , σi−1 , σi , σi+1 , . . . where σi ∈ Σ, and σi = (si , ti ) ∀i : ti ≤ ti+1 . Definition 2.3: A Bounded Timed Trace (BTT) ΓB ⊆ Σ over AP, is a finite sequence of Timed States: ΓB = σt−B +1 , σt−B +2 , . . . , σt where B ∈ N is the number of timed states in ΓB , and t is the current timed instant. We assume that t ≥ B, which means that the current time instant t is at least B time units after the start of the time basis (t = 0). R-pTL formulae are formed by combining atomic propositions through Boolean connectives (∧, ∨, and ¬), past temporal operators Yesterday (Y), Once (O), Historically (H), and Since (S), possibly extended with real-time constraints (O[c,d] , 512 IEEE TRANSACTIONS ON HUMAN-MACHINE SYSTEMS, VOL. 43, NO. 6, NOVEMBER 2013 TABLE I R-pTL SEMANTICS: A TIMED STATE σ t IN A KRIPKE STRUCTURE M SATISFIES (|=) DIFFERENT FORMS OF R-pTL FORMULAE φ (LEFT COLUMN) IFF σ t BELONGS TO SET Σ B OF THE TIMED STATES VISITED IN THE PAST WITHIN THE TIMED BOUNDARY B, AND SATISFIES SOME OTHER CONDITIONS DEPENDING ON THE SPECIFIC FORM OF φ (RIGHT COLUMN) H[c,d] , and S[c,d] ). The meaning of each formula is presented in Table I. Definition 2.4: (R-pTL Syntax) An R-pTL formula φ is inductively defined as follows: φ ::= p |¬φ| φ1 ∧ φ2 |φ 1 ∨ φ2 φ ::= Yφ |Oφ| Hφ |φ1 Sφ2 φ ::= O[c,d] φ H[c,d] φ φ1 S[c,d] φ2 where p ∈ AP and c, d ∈ Z− , with c ≤ d. The semantics of the R-pTL formulae is defined with respect to a Kripke structure M = (ΣB , RB , L) that characterizes the behavior of a system in terms of a finite set of timed states ΣB ⊆ Σ; a transition relation RB = {(σx , σy )|σx , σy ∈ ΣB and x = t + i − 1, y = t + i with −B + 1 ≤ i ≤ 0}; and a labeling function L : ΣB → 2A P given that L(σi ) = s iff σi = (s, t), that indicates which atomic propositions are satisfied in each timed state. We also define a function T : Σ → N that associates each timed state σi with its time t (T (σi ) = t iff σi = (s, t)). Let φ be an R-pTL formula and σt a timed state. The semantics of the statement “M accepts the formula φ in the Timed State σt ,” denoted by M, σt |= φ, is defined by structural induction on φ as shown in Table I. The usual relationships among Boolean operators and among temporal operators are satisfied. For example H[c,d] φ = ¬(O[c,d] ¬φ) and O[c,d] φ = True S[c,d] φ. All operators of the logic can be expressed with a combination of operators belonging to the following minimal set: {¬, ∧, Y, S[c,d] , S}. A graphical representation of examples of the past temporal operators with real-time constraints is shown in Fig. 1. MAGHERINI et al.: USING TEMPORAL LOGIC AND MODEL CHECKING IN AUTOMATED RECOGNITION OF HUMAN ACTIVITIES (a) (b) (c) (d) Fig. 1. Graphical representation of the past temporal operators. The Kripke structure is graphically represented by linear paths, in which the nodes σ t (shown in black) represent the present timed states, while the nodes σ i (shown in white) with i = t represent the past timed states. States are also subscripted by the formulae φ i that they satisfy. (a) the R-pTL formula Yφ is verified by the model given that in σ t −1 , the previous timed state of σ t , φ is true; (b) the R-pTL formula O [c , d ] φ is verified by the model given that for at least a timed state σ j between σ t + c and σ t + d , φ is true; (c) the R-pTL formula H [c , d ] φ is verified by the model given that for each timed state σ j between σ t + c and σ t + d , φ is true; (d) the R-pTL formula φ 1 S [c , d ] φ 2 is verified by the model given that for at least a timed state σ j between σ t + c and σ t + d , φ 2 is true, and φ 1 is true for each timed state from σ j + 1 to σ t + d . D. Online Model Checking System for Real-Time Past Linear Temporal Logic Specification We developed a context independent system, referred to as ARA, which is designed to verify the properties of the model in an online manner in addition to raising alerts when an abnormal situation is detected. The ARA implements a model checking engine for the verification of R-pTL formulae with the aim of supervising the activities performed by users on the basis of the information extracted by a sensorized environment. The recognition of potentially dangerous activities in an online fashion allows timely delivery of appropriate interventions. For example, referring to the application scenario presented in Section II-A, when Alice forgets to take the prescribed medication, the system informs her relatives of her lack of adherence to the medication regime. The ARA represents the user’s activities using R-pTL formulae and the information coming from the sensorized environment is represented through a labeled directed graph. In particular, the model is represented by a BTT, which is periodically updated by adding a new timed state containing the recognized actions in the previous time interval and by deleting the oldest timed state. Following this, our system applies the model checking algorithm for each R-pTL formula ensuring that the BTT is kept up to date. Based on the guidelines presented in [6], we classify the users interacting with our system in four classes: Caregiver, Analyst, Environment, and clock (see Fig. 2). 1) The Caregiver is the main involved user, supervising daily activities performed by assisted users through the ARA system. He/she is an expert in the care domain and has a sufficient knowledge of the system features, however, may also have a limited knowledge from a technological perspective. 513 2) The Analyst examines action patterns performed by assisted users and context, and formalizes them as TL statements. He/she has a good knowledge of the ARA system and a sufficient knowledge of the care domain; however, he/she may not fully appreciate the assisted user and specific technological details. 3) The Environment interacts with the ARA system by sending actions extracted by the sensing technologies within the Environment and receiving feedback created by the system or the Caregiver. 4) The Clock interacts with the ARA system by requesting the model update and the formula verification on the basis of an updating interval. The component diagram of Fig. 3 illustrates the three main components of the ARA system: Formula Editor, Model Manager, and Model Checker. The Formula Editor helps the Analyst to represent ADLs using R-pTL formulae. In particular, the formula GUI component provides a graphical user interface which aids the Analyst to write and modify R-pTL formulae. The Syntax Assisted Editor component verifies syntactic correctness of the formulae, detecting errors, and proposing alternative correct versions. For example, if the Analyst writes the formula φ = aHb, the Syntax Assisted Editor will recognize that the formula does not respect the R-pTL syntax and will suggest the following R-pTL formula φ = Hb. The Context Analyzer component verifies the consistency of the formulae on the basis of the timed features of the model. For instance, if the Analyst uses the real-time version of the temporal operators introducing realtime constraints in the order of minutes when the model is updated every hour, then the Context Analyzer will alert the the Analyst to the dimensional inconsistency of the real-time parameters. The Model Manager creates, updates, and modifies the model, using the set of actions extracted from the environment by the Action Manager component. In particular, the Action Manager provides the middleware between the Observation Gateway and the Timed State Generator components, making the observations gathered from the environment independent with respect to the model needed for the recognition process. Context independence permits the system to be robust with respect to changes in the sensorized environment (e.g., the replacement of a wireless sensor network with a camera-based system does not require manual configuration of the system), and enables system portability on various employment contexts (e.g., a flat instead of an isolated house). The concept of using middleware to achieve context independence is based on [44]. The extracted actions are represented by atomic propositions as prescribed by the R-pTL syntax and collected into a new timed state created by the Timed State Generator component on the basis of updating the time interval assigned by the Analyst. The model represented by a BTT is managed by the Model Online Updater component, which adds the new timed state provided by the Timed State Generator and deletes the oldest timed state of the model in order to consider only the recent past. In particular, the bounded history of the R-pTL logic is managed in the ARA through the maximum number of timed states belonging to the 514 IEEE TRANSACTIONS ON HUMAN-MACHINE SYSTEMS, VOL. 43, NO. 6, NOVEMBER 2013 Fig. 2. Use Case diagram of the ARA system showing four classes of users: Caregiver, Analyst, Environment, and clock. In particular: (a) the Caregiver monitors the assisted user consulting results log and feedback provided by the ARA system; (b) the Analyst writes, modifies, and deletes R-pTL formulae, and configures the model by setting the updating time interval and the span of the bounded history; (c) the Environment sends observations gathered from sensing devices to the ARA system; (d) the clock updates the model and verifies the R-pTL formulae on the basis of an updating time given by the Analyst. Fig. 3. Component diagram of the ARA system showing the three main components a Formula Editor helps Analyst to represent ADLs through R-pTL formulae, a Model Manager creates, updates, and modifies the model, and a Model Checker verifies whether the model satisfies the R-pTL formulae. model, which must contain the activity with the maximum user performance time. The Model Manager and the formula editor provide the model (i.e., the model component) and the well-formed set of R-pTL formulae (i.e., formula set component) to the Model Checker, respectively. The Model Checker is the core of the system and recognizes the activities performed by the assisted user. In particular, the Model Checking Engine component verifies whether the model satisfies the R-pTL formulae through an extended version of the algorithm presented in [10]. To handle an arbitrary R-pTL formula φ, the Model Checking Engine component iteratively splits φ into subformulae, assigning them a length value determined by counting the number of the operators that compose the formula. A formula, composed by a single atomic proposition, has length equal to 0, while a formula that includes two operators, e.g., φ = X(p ∧ q) where p, q ∈ AP, has length equal to 2. Starting with the shortest formula and applying an iterative approach, the algorithm assigns each subformula to the timed states wherein it is true, ensuring when φ is processed, all its subformulae have already been assigned. The final result of the algorithm is the set of timed states wherein the formula φ is satisfied. Each iteration takes time O (B + |RB |), where B is the number of the Timed States σt composing the BTT ΓB , and |RB | is the number of transitions. In our case, |RB | = B − 1 gives that the model is represented by a bounded linear path. The complexity of each iteration becomes O(B + B − 1) = O(2 ∗ B − 1) = O(B). Hence, if |φ| is the number of subformulae of MAGHERINI et al.: USING TEMPORAL LOGIC AND MODEL CHECKING IN AUTOMATED RECOGNITION OF HUMAN ACTIVITIES φ, then the algorithm requires time O(B ∗ |φ|) for processing the formula φ. Finally, after the formulae verification process the Feedback and Result Publisher component creates a result log of the recognized activities used by the Caregiver to evaluate the health status of the assisted user, and provides a web interface to interact with the assisted user and smart environment. This component periodically sends the list of missed activities to the assisted user through several communication devices, such as smartphones, mobile devices, and house monitors. The proposed system may be further extended for reminder support [33]. Using the web interface, the Caregiver may interact with the sending devices integrated into the environment. For instance, he/she may switch on cameras and interrogate a sensor within a WSN in order to manually detect activities performed by the assisted user. III. EXPERIMENTAL ASSESSMENT Effectiveness and viability of the proposed approach have been experimentally evaluated with the dual aim of verifying of the capability of R-pTL in expressing realistic patterns and the ability of the Model Checking Engine to operate in an online mode. To this end, six activities, extracted from the scenario proposed in Section II-A, are represented using R-pTL formulae and tested within a sensorized environment. The selected activities are complex and sufficiently diverse to exercise and stress the expressivity of different aspects of the proposed R-pTL. Experiments were carried out to evaluate the Recall and Precision of the automated recognition engine and to analyze its ability to operate in an online fashion. A. Representation of Activities of Daily Livings Into Real-Time Past Linear Temporal Logic Formulae The specification of ADL abstract classes, proposed in [24], is primarily intended to comprise a classification framework and thus avoids details on the way how activities occur. In order to obtain a solid ground for automated recognition of activities, we thus refer to [34] and [42], which provide a range of notable and detailed ADL lists. We focused on the following three ADLs: 1) Coffee preparation concerns the activities of American coffee preparation, which may be deemed as being correct or incorrect depending on the ordering and the timing of the actions. 2) Telephone usage concerns the activities of answering the telephone, distinguishing the case of correctly and incorrectly (Missed call) phone answering. Both activities are characterized by an ordered and timed sequence of actions. 3) Take medication concerns the intake medication, hence the automation of the process distinguishes the case of correctly and incorrectly taking medication. Both activities involve time and order constraints of actions. The modeling process regarding the translation from natural language specification of activities [34], [42] to R-pTL formulae can be addressed through the following three-phase methodology. 515 Given a natural language representation of a human activity, the first step is the identification of actions that compose the activity and their classification as being either mandatory or optional. The actions that do not belong to the given activity are labeled as noisy. The second step regards the enumeration of admissible sequences of mandatory actions, which can be categorized as ordered (e.g., the user must execute the actions a, b, and c respecting a given pattern), not-ordered (e.g., the user may execute the actions a, b, and c with an arbitrary order), or semiordered (e.g., the user must execute the actions a and then b, while c may be executed whenever the user likes). Each admissible sequence may be translated into a specific RpTL pattern (e.g., the logic pattern c ∧ (Ob ∧ (Oa)) may represent the ordered action sequences a, b, and c). The third step introduces quantitative time constraints using the real-time version of temporal operators, which are able to comprise the maximum execution time of the given activity and the timed intervals for the action execution into R-pTL formulae. 1) Coffee Preparation: We illustrate the modeling process with reference to the activity of correct preparation of a coffee. We initially identify the mandatory actions, i.e., those actions that must necessarily occur during the execution of a given activity. In this case, the water pouring into the cup (cpw) and the addition of the ground coffee (cpc) are deemed to be mandatory. We then focus on the admissible sequences of the mandatory actions. In this case, cpw and cpc can occur in any order and these possible sequences can be captured by the following R-pTL formula: (Ocpw) ∧ (Ocpc) (1) which is true if both cpw and cpc have occurred in any order at least one time in the past (operator Once, denoted by O). Finally, we add quantitative time constraints assuming a maximum time tce within which the user is supposed to prepare the coffee. This extends the specification with the real-time version of the past temporal operators: (O [−tce , 0] cpw) ∧ (O [−tce , 0] cpc) . (2) In a similar manner, the Incorrect coffee preparation activity is captured by the following R-pTL formula: ((O[−tce , 0]cpw) ∧ (¬(O[−tce , 0]cpc))) ∨ ((O[−tce , 0]cpc) ∧ (¬(O[−tce , 0]cpw))) (3) where the former disjunctive clause represents the case in which the user pours water into the cup, however, forgets to add coffee, while the latter disjunctive clause represents the case wherein the user adds coffee, however, forgets to pour in water. According to (3), the specification of the Incorrect coffee preparation is satisfied by any intermediate states where the user is proceeding correctly, however, the activity has not been completed. This drawback can be formalized as follows: T (σi ) < T (σj ), cpw ∈ L(σi ), cpc ∈ L(σj ) σ i , σj ∈ B, 516 IEEE TRANSACTIONS ON HUMAN-MACHINE SYSTEMS, VOL. 43, NO. 6, NOVEMBER 2013 (a) (a) (b) (b) Fig. 4. Graphical representation of two instances of the Coffee preparation ADL: (a) the model represents the instance wherein the assisted user pours water into the cup (cpw), and subsequently he/she adds coffee (cpc). In this case, the R-pTL formula (2) representing the Correct coffee preparation activity is satisfied by the model; (b) the model represents the instance wherein the assisted user adds coffee to the cup, however, he/she forgets to pour water. In this case, the R-pTL formula (4) representing the Incorrect coffee preparation activity is satisfied by the model. Fig. 5. Graphical representation of two instances of the Telephone usage ADL: (a) the model represents the instance wherein the telephone rings (pri) and the assisted user answers it (pan). In this case, the R-pTL formula representing the Telephone answered activity is satisfied by the model; (b) the model represents the instance wherein the telephone rings for at least a time tp r, however, the assisted user does not answer it. In this case, the R-pTL formula representing the Missed call activity is satisfied by the model. and φ represents the R-pTL formula (3), then ∀ σh ∈ ΣB with T (σi ) ≤ T (σh ) < T (σj ) M , σh |= φ, which is a detection error. To overcome the limitation, we will evaluate the actions executed by the user only when a sufficient delay time has elapsed. To this end, the formula (3) is rewritten as: where action pri must be satisfied for all the timed states belonging to time interval [0 − tpa , 0 − tpa + tpr ], and it returns true if and only if the telephone rang for at least a time tpr . While the second sentence is represented as: ((H [−tcd , −tcd ] cpc) ∧ (¬ (O [−tce , 0] cpw))) ∨ ((H [−tcd , −tcd ] cpw) ∧ (¬ (O [−tce , 0] cpc))) (4) where tcd is the delay time and tcd ≤ tce . The formula is composed of two disjunctive clauses. The former represents the case in which the user pours water into the cup at time t − tcd , however, forgets to add coffee during the time interval [t − tce , t], while the latter represents the case where the user adds coffee at time t−tcd , however, forgets to pour water during the aforementioned time interval. In particular, H[−tcd , −tcd ]cpc is true if and only if the user pours water into the cup at the timed state characterized by the time instant t − tcd . Fig. 4 shows two models representing the Coffee preparation ADL. 2) Telephone Usage: The target of this ADL is the recognition of two activities: the telephone rings and the user answers (Telephone answered); and, the telephone rings and the user does not answer (Missed call). Both are characterized by the following mandatory actions: the phone is ringing (pri), and the user answers the telephone (pan). The Missed call activity accepts a unique possible sequence of actions: the telephone was ringing and the user did not answer it. We assume that tpr is the minimum time duration wherein the telephone must ring to be considered a telephone call and tpa is the maximum time duration wherein the user has to answer the telephone. The activity is then formalized as follows: the telephone rang for at least a time tpr and the user has not answered it in a time tpa . The activity can be subsequently split in two simpler sentences: 1) the telephone rang for at least a time tpr ; 2) the user has not answered the telephone in a time tpa . The first sentence is represented by the following R-pTL formula: H[−tpa , −tpa + tpr ]pri (5) ¬O[−tpa + tpr , 0]pan (6) where O[−tpa + tpr , 0]pan is true if and only if the user has answered in the interval [−tpa + tpr , 0] and the ¬ operator has been used to recognize when the user has not answered the telephone. Finally, the activity is represented by the conjunction of the previous formulae: (H[−tpa , −tpa + tpr ]pri) ∧ (¬(O[−tpa + tpr , 0]pan)). (7) A different approach has been considered for the recognition of the activity of the telephone being answered. This activity is characterized by the following sentence: the telephone is ringing and the user answers it. The formula is based on the following assumption: if the user answers the telephone, it suggests that the telephone was previously ringing. In a first formulation this may be captured as (Ypri) ∧ pan (8) which is true if pan occurs in the present timed state and pri has occurred in the previous timed state (operator Yesterday, denoted by Y). Nevertheless, in doing so, the activity is not correctly recognized when the user executes both actions in the same time or in a short time interval. This is due to the temporal granularity of the past. A timed state includes the actions executed by the user in a previously prefixed time interval; hence, a timed state could contain both pri and pan actions. To capture this case, a subformula (pri ∧ pan) is added, which is true if and only if pri and pan are true at the same timed state. The formula (8) was rewritten as ((Ypri) ∧ pan)) ∨ (pri ∧ pan). (9) Fig. 5 shows two models representing the Telephone usage ADL. 3) Take Medication: This scenario is focused on medication compliance. We consider two activities: the user correctly takes his/her prescribed medication and the user does not take his/her prescribed medication. Both activities can be described by a combination of the following three actions: the user takes a pill (mtp), the user pours water into a cup (mpw), and the user drinks MAGHERINI et al.: USING TEMPORAL LOGIC AND MODEL CHECKING IN AUTOMATED RECOGNITION OF HUMAN ACTIVITIES 517 (a) (b) Fig. 7. Fig. 6. Graphical representation of two instances of the Take medication ADL: (a) the model represents the instance wherein the assisted user pours water into a cup (mpw), subsequently he/she takes a pill from the dispenser (mtp), and finally he/she drinks water from the cup (mdw). In this case, the R-pTL formula representing the Correct medication intake activity is satisfied by the model; (b) the model represents the instance wherein the assisted user pours water and takes a pill, however, he/she forgets to drink some water. In this case, the R-pTL formula representing the Incorrect medication intake activity is satisfied by the model. water (mdw). We assume that tm e is the maximum time within which the user must complete these activities. The Correct medication intake activity is formalized as follows: the assisted user drinks water and in the previous time interval [−tm e , 0] he/she has taken a pill from the drug dispenser, and he/she has poured water into the cup. This activity can be represented by the following formula: mdw ∧ (O[−tm e , 0]mpw) ∧ (O[−tm e , 0]mtp). (10) The R-pTL formula describing the Incorrect medication intake activity is based on the approach previously described for the Incorrect coffee preparation. As such, the activity is represented by the following action sequence: the user took medication from the medication dispenser, however, he/she has forgotten to pour water from a bottle to a cup or he/she forgets to drink some water from the cup. The activity is represented by the following formula: (H[tm d , tm d ]mtp) ∧ (11) ((¬(O[−tm e , 0]mpw)) ∨ (¬(O[tm d , 0]mdw))) where tm d is the delay time for this activity. Fig. 6 shows two models representing the take medication ADL. B. Experimental Results in a Smart Environment We tested and evaluated the ARA system on a dataset created using the facilities available within the Smart Environments Research Group (SERG) at the University of Ulster [32]. The environment is equipped with a range of embedded sensor-based and actuator technologies, display panels, video- based recording, and tracking systems. For the purposes of experimentation a video-based tracking system, referred to as DANTE [12] was used to evaluate the proposed approach. 1) DANTE Activity Monitoring System: DANTE is a software application [12] which supports the monitoring and annotation of human activities within a smart environment captured via a pair of stereo cameras [15]. While support for a single camera exists, the incorporation of two cameras reduces instances of object occlusions and supports an increased field-of-view within Example of DANTE markers used to tag objects. the environment being monitored. In our configuration, the field of measurement detects markers within a range of 0.5 and 5 m, and can be configured to sample at a frame rate of up to 20 Hz. Up to 100 objects can be concurrently tracked by the system; however, this limitation is attributed to the processing power of the system running DANTE, not the DANTE system itself. Using a unique reference point within the environment, the two cameras can interpret both the location and orientation of objects in a coordinate space. Objects are “tagged” with paperbased markers, which consist of unique black and white pattern coding (see Fig. 7). Each marker is learnt by the camera system while in an offline mode and labeled to identify a specific object, to which it is attached. Objects in the current context refer to any item within a home environment, which may be viewed as being related to an ADL. Following recording, a scenario within the environment, an operator can use DANTE to navigate frame-by-frame through captured scenes to annotate the onset/completion of object interactions. The main utility of this feature of the system is to support the development of large annotated datasets, which is deemed to be essential for the development and evaluation of context-aware models. In our study, we have used DANTE to construct an annotated dataset for the purposes of experimental evaluations. 2) Dataset Creation: The dataset was generated using the facilities within the kitchen environment of the SERG Lab. Several objects were tagged with DANTE markers in the kitchen: glasses, cups, coffee/sugar/milk containers, bottles, pill dispensers, fridge door, and cupboards. In total 20 objects were tagged. The experiments focused on six activities: Correct coffee preparation, Incorrect coffee preparation, Telephone answered, Missed call, Correct medication intake, and Incorrect medication intake. Three subjects participated in the evaluations. Each participant was informed about a set of mandatory actions that they should carry out in addition to leaving them free to decide individually about nonmandatory actions which they may wish to undertake and about the possible sequence with which the activities may be executed. Each subject performed a randomly selected subset of the activities 12 times. The execution of an activity includes the execution of the mandatory actions; however, the execution of the optional and noisy actions is totally dependent upon the preferences of the participants. For example, an instance of the correctly preparing coffee activity includes the mandatory actions of water pouring and adding coffee. This activity may include optional actions, such as adding sugar and milk, and noisy actions, such as moving bottle or kettle. 518 IEEE TRANSACTIONS ON HUMAN-MACHINE SYSTEMS, VOL. 43, NO. 6, NOVEMBER 2013 (a) (b) (c) (d) Fig. 8. DANTE Frame videos regarding to the Correct coffee preparation activity. Two cameras were installed in the smart kitchen in order to detect the assisted user actions. (a) the Operator user has initialized DANTE system, which detects the markers attached to the objects, (b) the Assisted user pours water of the kettle into the cup. DANTE detects the changes of position and orientation of kettle and cup, (c) the Assisted user adds coffee to the cup. The camera system detects the position and orientation changes of the coffee box and cup, (d) the Assisted user drinks the coffee. DANTE detects the position and orientation changes of the cup. TABLE II OVERVIEW OF THE FORMULAE RELATED TO THE SIX ACTIVITIES ADDRESSED IN THE EXPERIMENTATION Fig. 9. This model includes two instances of coffee adding action (cpc) and one instance of water pouring action (cpw), representing the case in which the user correctly prepares a coffee, and subsequently he/she adds coffee to the cup but he/she forgets to pour water. TABLE III EXPERIMENTAL RESULTS: EFFECTIVENESS OF RECOGNITION FOR DIFFERENT ACTIVITIES The ground truth of the recordings was established by manually annotating the actions performed by the subjects through the DANTE system (see Fig. 8). In total, for all participants, a total of 549 actions were collected. The list of annotated actions was used as input to ARA, which considered these actions as the atomic propositions of the R-pTL. The ARA generates an output indicating time instances wherein the model satisfies the RpTL formulae, which represents the activities. 3) Results: The activity recognition performance of the ARA system was evaluated through the computation of true positives (TP), false positives (FP) and false negatives (FN), which occur when the system correctly recognizes an activity as having performed; recognizes an activity that has not been performed; and does not recognize an activity that has been performed, respectively. Moreover, we calculate the Precision representing the fraction of recognized activities that are performed by a user TP ), and the Recall representing the fraction (Precision = TP+FP of the activities which are performed that are recognized by the TP ). ARA (Recall = TP+FN Experimentation results are presented in Table III. The evaluation phase highlights that the ARA may score an FP when an action contributes to the patterns of multiple succeeding activities. For instance, if the assisted user correctly prepares a coffee, and subsequently he/she starts to repeat the same activity, forgetting to perform a mandatory action (see Fig. 9), then the ARA subsequently erroneously recognizes two instances of the Correct coffee preparation activity, although it should only recognize a Correct and an Incorrect coffee preparation activity. The complexity of R-pTL formulation of the Incorrect medication intake activity emphasizes this limitation, prejudicing the recognition performance of the ARA. In principle, these limitations could be overcome with a logic that is able to identify distinct occurrences of the same type of events so as to permit the assignment of actions to the respective activity. Nevertheless, to this end the logic should be extended from the propositional to first-order formulation, thus increasing the runtime effort of checking. The ARA scores an FN when an action, which has occurred, is not detected by the sensorized environment. This is due to the limitations of the sensing technologies, such as occlusions for camera-based systems, or transmission errors for WSNs. FNs may be reduced by improving and combining sensing technologies, for instance, the movements of an object may be detected by integrating both a video object tracking system and a movement sensor. Regarding the Correct medication intake activity, our system presents only FN errors, which are due to the lack of recognition of at least one of the three mandatory actions characterizing this activity: the user takes a pill (mtp), the user pours water into a cup (mpw), and the user drinks water (mdw). Table IV presents performance results, which are based on the recognition of the formulae presented in Table II, reporting both average (AvET) and maximum execution time (MaxET) MAGHERINI et al.: USING TEMPORAL LOGIC AND MODEL CHECKING IN AUTOMATED RECOGNITION OF HUMAN ACTIVITIES TABLE IV EXPERIMENTAL RESULTS: PERFORMANCES OF THE ON-LINE MODEL CHECKING ENGINE spent by the ARA, with respect to the number of concurrent R-pTL formulae (# formulae), the number of the subformulae (# subformulae), and the number of timed states that belong to the BTT (# timed states). The experiments are performed with different values of the number of formulae, repeating the six formulae presented in Table II, and of the timed states belonging to the BTT, in order to stress the computational and memory resources of the system. The updating time of the BTT is set equal to 10 s, which is coherent with the time constraints of the activities examined in Section III-A. Moreover, we chose the following values for the formulae time parameters: the maximum time tce within which the user is supposed to prepare the coffee and the maximum time tm e within which the user is supposed to take the medication pills are set equal to 900 s and 300 s, respectively; while, the minimum time duration tpr wherein the telephone must ring to be considered a telephone call and the maximum time tpa within which the user has to answer the telephone are set equal to 4 s and 30 s, respectively. The delay time of the coffee preparation activity tcd and medication intake activity tm d is set equal to half of the maximum times tce and tm e , respectively. Empirical studies suggest that setting the delay time of a given activity equal to half of its maximum execution time reduces mismatch detection errors. In particular, experiments show how a different choice of these delay values does not significantly change recognition performance of ARA, with the exception of values close to 0 or to the activity maximum execution time. The adoption of these edge values produces detection errors during the ARA formula verification process, given that intermediate states may satisfy a formula although the given activity has not been completed. The experimentation results show how the execution time is strictly dependent on both the dimension of the BTT and on the numbers of formulae, which are related to the application context. In fact, the BTT must contain the activity with the maximum user performance time, while the number of formulae is related to the number of human activities to be recognized. For all the experiments, the recognition process was carried out in less than a second. Experimentations were performed on an HP notebook with a dual core T9400 at 2.53 GHz and 4 GB RAM. 519 IV. DISCUSSION Automated recognition of human activities and behaviors within sensorized environments is rapidly being considered as a core component within the ambient-assisted living paradigm. Nevertheless, effective deployment of an activity recognition system still appears limited due to a semantic gap between the measured data provided by sensing devices and the information required to deliver care services. We experimented how formal methods can be adopted to provide a formal ground to reduce this gap. To this end, we developed and tested a system referred to as ARA based on an R-pTL in addition to an online model checking engine. To the best of our knowledge, propositional TL approaches for pattern recognition have to date not been presented. The use of a past TL approach has been found to be a suitable approach in supporting the representation of the ADLs in the form of logic formulae, given that the ARA recognizes the activities performed by the user in the past. Furthermore, the definition of time constraints adds expressive power to the logic, allowing the introduction of quantitative bounds of the time elapsed between actions. The representation of activities through R-pTL formulae, requires a basic knowledge of the logic. Nevertheless, the complexity involved in the definition of the activities can be reduced adopting a general methodology to translate the natural language specification of human behaviors into R-pTL formulae. In particular, we propose a methodology composed of three steps: identification of mandatory actions, enumeration of possible sequences, and adding of time constraints. Automated derivation of real-time temporal logic formulae from pattern-based expressions [1], [17] may largely smooth the complexity of our approach and improve its usability for user experienced in ADL more than in formal methods. The introduction of an online model checking engine produces relevant benefits to the automated supervision of people requiring medical attention. Such a concept supports the recognition of human activities in a real-time manner and the raising of an alert when a potentially dangerous situation is detected. In addition, our system is independent from the adopted sensing technologies and thus can be ported to several application domains without the requirement of a dataset to train the model. We tested the ARA on a dataset created in a smart environment on the basis of the repetitions of six activities extracted from our referred scenario, which are sufficiently varied to exercise and stress the expressivity of different aspects of the proposed logic. With the aim of simulating human realistic behaviors, three subjects performed 12 times a randomly selected subset of these activities, executing a range of optional and noisy actions, in addition to the mandatory actions. The resulting dataset is composed of 549 actions as detected by DANTE camera system. The ARA correctly recognizes the 85.4% of the activity instances. The ARA offers a formal ground to reduce the semantic gap between raw data and high-level concepts. Nevertheless, automated techniques for activity recognition are still affected by noisy data gathered from low-level sensing devices and imperfect information obtained by data refinement. The presence of 520 IEEE TRANSACTIONS ON HUMAN-MACHINE SYSTEMS, VOL. 43, NO. 6, NOVEMBER 2013 imperfect information, that may represent vagueness of the characterization of expected human behavior patterns, imprecision of detected measurements, and uncertainty of possible missed and misclassified events [25], [39], makes the recognition process more complicated. We are now working to address the problem of uncertain information and state-space explosion of quantitative models. The former may be reduced by the adoption of discount computational tree logic [14], [21], which is a multivalued generalization of the branching time logic CTL, or probabilistic temporal logics, such as probabilistic computational tree logic [18] and continuous stochastic logic [4], which describe properties over Markovian models. The latter may be faced by the introduction of imperfect structures (i.e., sequences of elementary observations stemming from the sensorized environment) and statespace reduction techniques. In particular, we wish to formalize these problems as a probabilistic model checking process on a discrete time Markov chain [27] using well-established analysis techniques that may gain benefits from the bounded observation history and by the fact that we are only interested in events which overcome a given probability value. Recognition of human activities and behaviors still present several challenges which are largely dependent on the underlying complexity of the tasks performed by human users. For instance, a user may execute two or more activities simultaneously (concurrent activities) or switch between the steps of two or more activities (interleaved activities) and may perform these tasks autonomously or collaborating with other users (multiuser activities). The probabilistic extension of our framework manages imperfect information and increases expressive power of the formal core, allowing the representation and recognition of complex human activities. REFERENCES [1] N. Abid, S. D. Zilio, and D. L. Botlan, “Real-time specification patterns and tools,” in Formal Methods for Industrial Critical Systems. New York, NY, USA: Springer, 2012, pp. 1–15. [2] J. K. Aggarwal and M. S. Ryoo, “Human activity analysis: A review,” ACM Comput. Surv., vol. 43, no. 3, pp. 16:1–16:43, Apr. 2011. [3] R. Alur and T. A. Henzinger, “Logics and models of real time: A survey,” in Proc. Real-Time: Theory in Practice, REX Workshop, 1992, pp. 74–106. [4] A. Aziz, K. Sanwal, V. Singhal, and R. Brayton, “Verifying continuous time Markov chains,” in Computer Aided Verification. New York, NY, USA: Springer, 1996, pp. 269–276. [5] C. Bernardeschi, A. Fantechi, S. Gnesi, S. Larosa, G. Mongardi, and D. Romano, “A formal verification environment for railway signaling system design,” Formal Methods Syst. Des., vol. 12, pp. 139–161, 1998. [6] N. Bevan and M. Azuma, “Quality in use: Incorporating human factors into the software engineering lifecycle,” presented at the 3rd Int. Software Engineering Standards Symp., Washington, DC, USA, 1997. [7] J. Boger, P. Poupart, J. Hoey, C. Boutilier, G. Fernie, and A. Mihailidis, “A decision-theoretic approach to task assistance for persons with dementia,” in Proc. Int. Joint Conf. Artif. Intell., 2005, pp. 1293–1299. [8] L. Chen, C. D. Nugent, M. Mulvenna, D. Finlay, X. Hong, and M. Poland, “Using event calculus for behavior reasoning and assistance in a smart home,” in Proc. 6th Int. Conf. Smart Homes Health Telematics, 2008, pp. 81–89. [9] A. Cimatti, M. Roveri, and D. Sheridan, “Bounded verification of past ltl,” in Proc. Int. Conf. Formal Methods Comput-Aided Design, 2004, pp. 245–259. [10] E. M. Clarke, E. A. Emerson, and A. P. Sistla, “Automatic verification of finite-state concurrent systems using temporal logic specifications,” ACM Trans. Program. Languages Syst., vol. 8, pp. 244–263, 1986. [11] J. Coutaz, J. L. Crowley, S. Dobson, and D. Garlan, “Context is key,” Commun. ACM, vol. 48, pp. 49–53, Mar. 2005. [12] F. Cruciani, M. P. Donnelly, C. D. Nugent, G. Parente, and C. Paggetti, “Dante: A video based annotation tool for smart environments,” in presented at the Int. Conf. Software Testing, Conf. Sensor Systems and Software, Miami, FL, USA, 2010. [13] S. K. Das, D. J. Cook, A. Battacharya, III E. O. Heierman, and T.-Y. Lin, “The role of prediction algorithms in the mavhome smart home architecture,” IEEE Wireless Commun., vol. 9, no. 6, pp. 77–84, Dec. 2002. [14] L. De Alfaro, M. Faella, T. A. Henzinger, R. Majumdar, and M. Stoelinga, “Model checking discounted temporal properties,” Theoretical Comput. Sci., vol. 345, no. 1, pp. 139–170, 2005. [15] M. P. Donnelly, T. Magherini, C. D. Nugent, F. Cruciani, and C. Paggetti, “Annotating sensor data to detect activities of daily living,” in Proc. 9th Int. Conf. Smart Homes Health Telematics, 2011, pp. 41–48. [16] T. V. Duong, H. H. Bui, D. Q. Phung, and S. Venkatesh, “Activity recognition and abnormality detection with the switching hidden semimarkov model,” in Proc. IEEE Comp. Soc. Conf. Comput. Vis. Pattern Recog., Jun. 2005, vol. 1, pp. 838–845. [17] M. B. Dwyer, G. S. Avrunin, and J. C. Corbett, “Patterns in property specifications for finite-state verification,” in Proc. Int. Conf. Softw. Eng., 1999, pp. 411–420. [18] H. Hansson and B. Jonsson, “A logic for reasoning about time and reliability,” Formal Aspects Comput., vol. 6, no. 5, pp. 512–535, 1994. [19] X. Hong, C. D. Nugent, M. Mulvenna, S. McClean, B. Scotney, and S. Devlin, “Evidential fusion of sensor data for activity recognition in smart homes,” Pervasive Mob. Comput., vol. 5, pp. 236–252, Jun. 2009. [20] Y. A. Ivanov and A. F. Bobick, “Recognition of visual activities and interactions by stochastic parsing,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 22, no. 8, pp. 852–872, Aug. 2000. [21] D. N. Jansen, “More or less true DCTL for continuous-time MDPS,” in Formal Modeling and Analysis of Timed Systems. New York, NY, USA: Springer, 2013, pp. 137–151. [22] R. Jhala and R. Majumdar, “Software model checking,” ACM Comput. Surveys, vol. 41, no. 4, pp. 1–21, Article 21, 2009. [23] E. M. Clarke Jr., O. Grumberg, and D. A. Peled, Model Checking. Cambridge, MA, USA: MIT Press, 1999. [24] S. Katz, T. D. Downs, H. R. Cash, and R. C. Grotz, “Progress in development of the index of ADL,” The Gerontologist, vol. 10, no. 1 Part 1, pp. 20–30, 1970. [25] D. H. Kraft, G. Pasi, and G. Bordogna, “Vagueness and uncertainty in information retrieval: How can fuzzy sets help?” in Proc. 2006 Int. Workshop Res. Issues Digital Libraries, New York, NY, USA, 2007, pp. 3:1–3:10. [26] K. J. Kristoffersen, C. Pedersen, and H. R. Andersen, “Runtime verification of timed ltl using disjunctive normalized equation systems,” Electron. Notes Theoretical Comput. Sci., vol. 89, no. 2, pp. 210–225, 2003. [27] V. G. Kulkarni, Modeling and Analysis of Stochastic Systems. London, U.K.: Chapman & Hall, 1995. [28] T. Magherini, G. Parente, C. D. Nugent, M. P. Donnelly, E. Vicario, F. Cruciani, and C. Paggetti, “Temporal logic bounded model-checking for recognition of activities of daily living,” in Proc. 10th IEEE Int. Conf. Inform. Technol. Appl. Biomed., 2010, pp. 1–4. [29] S. Mckeever, J. Ye, L. Coyle, C. Bleakley, and S. Dobson, “Activity recognition using temporal evidence theory,” J. Ambient Intell. Smart Environ., vol. 2, pp. 253–269, Aug. 2010. [30] A. Mihailidis, B. Carmichael, and J. Boger, “The use of computer vision in an intelligent environment to support aging-in-place, safety, and independence in the home,” IEEE Trans. Inform. Technol. Biomed., vol. 8, no. 3, pp. 238–247, Sep. 2004. [31] S. P. Miller, M. W. Whalen, and D. D. Cofer, “Software model checking takes off,” Commun. ACM, vol. 53, no. 2, pp. 58–64, Feb. 2010. [32] C. D. Nugent, M. D. Mulvenna, X. Hong, and S. Devlin, “Experiences in the development of a smart lab,” Int. J. Biomed. Eng. Technol., vol. 2, pp. 319–331, 2009. [33] S. A. ONeill, S. Mason, G. Parente, M. P. Donnelly, C. D. Nugent, S. McClean, B. Scotney, and D. Craig, “Video reminders as cognitive prosthetics for people with dementia,” Ageing Int., vol. 36, no. 2, pp. 267– 282, 2011. [34] M. Philipose, K. P. Fishkin, M. Perkowitz, D. J. Patterson, D. Fox, H. Kautz, and D. Hahnel, “Inferring activities from interactions with objects,” IEEE Pervasive Comput., vol. 3, no. 4, pp. 50–57, Oct.–Dec. 2004. [35] A. Rugnone, E. Vicario, C. D. Nugent, M. P. Donnelly, D. Craig, C. Paggetti, and E. Tamburini, “Hometl: A visual formalism, based on temporal logic, for the design of home based care,” in Proc. IEEE Int. Conf. Autom. Sci. Eng., Sep. 2007, pp. 747–752. MAGHERINI et al.: USING TEMPORAL LOGIC AND MODEL CHECKING IN AUTOMATED RECOGNITION OF HUMAN ACTIVITIES [36] M. S. Ryoo and J. K. Aggarwal, “Recognition of composite human activities through context-free grammar based representation,” in Proc. IEEE Comp. Soc. Conf. Comput. Vis. Pattern Recog., 2006, vol. 2, pp. 1709– 1718. [37] M. S. Ryoo and J. K. Aggarwal, “Semantic representation and recognition of continued and recursive human activities,” Int. J. Comput. Vis., vol. 82, no. 1, pp. 1–24, 2009. [38] A. Serna, H. Pigot, and V. Rialle, “Modeling the progression of alzheimer’s disease for cognitive assistance in smart homes,” User Modeling UserAdapted Interaction, vol. 17, pp. 415–438, Sep. 2007. [39] P. Smets, “Imperfect information: Imprecision, and uncertainty,” Uncertainty Manage. Inform. Syst., pp. 225–254, 1996. [40] P. Turaga, R. Chellappa, V. S. Subrahmanian, and O. Udrea, “Machine recognition of human activities: A survey,” IEEE Trans. Circuits Syst. Video Technol., vol. 18, no. 11, pp. 1473–1488, Sep. 2008. [41] D. L. Vail, M. M. Veloso, and J. D. Lafferty, “Conditional random fields for activity recognition,” in Proc. 6th Int. Joint Conf. Auton. Agents Multiagent Syst., New York, NY, USA, 2007, pp. 235:1–235:8. [42] T. van Kasteren, A. Noulas, G. Englebienne, and B. Krose, “Accurate activity recognition in a home setting,” in Proc. 10th Int. Conf. Ubiquitous Comput., 2008, pp. 1–9. [43] C.-L. Wu and L.-C. Fu, “Design and realization of a framework for humansystem interaction in smart homes,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 42, no. 1, pp. 15–31, Jan. 2012. [44] S. S. Yau, F. Karim, Y. Wang, and B. Wang, “Reconfigurable contextsensitive middleware for pervasive computing,” IEEE Pervasive Comput., vol. 1, no. 3, pp. 33–40, Jul.–Sep. 2002. [45] J. Ye, S. Dobson, and S. McKeever, “Situation identification techniques in pervasive computing: A review,” Pervasive Mobile Comput., vol. 8, no. 1, pp. 36–66, 2012. [46] X. Zhang, X. Chen, Y. Li, V. Lantz, K. Wang, and J. Yang, “A framework for hand gesture recognition based on accelerometer and emg sensors,” IEEE Trans. Syst., Man, Cybern., A, Syst., Humans, vol. 41, no. 6, pp. 1064–1076, Nov. 2011. Tommaso Magherini received the master’s degree in informatics engineering in 2010 from the University of Florence, Florence, Italy, where he is now completing the Ph.D. degree in informatics, multimedia, and telecommunications engineering. His research mainly focuses on formal methods for pattern recognition. 521 Alessandro Fantechi received the Master degree in computer science from the University of Pisa, Pisa, Italy, in 1984, together with the Diploma di Licenza from Scuola Normale Superiore. He is a Full Professor with the University of Florence, Florence, Italy, where he is an active Researcher in the areas of formal development and verification of safety-critical systems, with a particular experience on railway signalling systems. He has written more than 80 papers for international journals and conferences, and maintains active collaborations with industry in the sector of embedded safety-critical systems. Chris D. Nugent (S’96–A’99–M’03) was born in 1973. He received the B.Eng. degree in electronic systems and the D.Phil. degree in biomedical engineering from the University of Ulster, Jordanstown, U.K., in 1995 and 1998, respectively. In 1998, he took the post of Research Fellow with the University of Ulster, London, U.K., and currently holds the post of Professor of biomedical engineering. His research interests include the design and evaluation of pervasive solutions in smart environments for ambient-assisted living applications. Enrico Vicario (M’94) received the master degree in electronics engineering and the Ph.D. degree in informatics and telecommunications engineering from the University of Florence, Florence, Italy, in 1990 and 1994, respectively. He is a Full Professor of Computer Science at the Department of Information Engineering of the University of Florence. His research is presently focused on formal methods for model driven development, correctness verification, and quantitative evaluation of real-time concurrent systems.
© Copyright 2026 Paperzz