Formal Analysis of Workflow Systems with Security Considerations

Size: px
Start display at page:

Download "Formal Analysis of Workflow Systems with Security Considerations"

Transcription

1 Formal Analysis of Workflow Systems with Security Considerations Weiqiang Kong Japan Advanced Institute of Science & Technology Kazuhiro Ogata NEC Software Hokuriku, Ltd. Kokichi Futatsugi Japan Advanced Institute of Science & Technology Abstract Security considerations, such as role-based access control (RBAC) mechanism and separation of duty (SoD) constraints, are important and integral to workflow systems. We propose the use of an equation-based method the OTS/CafeOBJ method to specify workflow systems with such security considerations, and verify some desired safety and liveness properties of workflow systems. Specifically, a workflow system, together with its security considerations, is modeled as an OTS, a kind of transition system. Then the OTS is written in CafeOBJ, an algebraic specification language. We express safety and liveness properties in CafeOBJ and verify that the OTS satisfies these properties by writing proof scores in CafeOBJ. We use a case study formal analysis of a workflow system that deals with travel expense reimbursement, to demonstrate our method of modeling, specifying and verifying. 1. Introduction As an integral part of workflow systems, workflow security has received extensive attentions, within which rolebased access control (RBAC) mechanism and separation of duty (SoD) constraints are important topics. RBAC is a natural mechanism to lighten the complexity of security administration, with the basic notion that permissions are associated with roles and users are assigned to appropriate roles. However, to satisfy the complex security policies of workflow systems, SoD constraints are also necessary, which aim at reducing the risk of fraud by not allowing any individual to have sufficient authority within the system to perpetrate a fraud on his own [3]. Some studies have been reported on building secure workflow models with security considerations of RBAC This research is conducted as a program for the Fostering Talent in Emergent Research Fields in Special Coordination Funds for Promoting Science and Technology by Ministry of Education, Culture, Sports, Science and Technology, Japan. mechanism and SoD constraints [2, 3, 6, 7]. The work by Atluri et al. [2] proposes a workflow authorization model (WAM), which specifies authorizations in a way that subjects gain access to required objects only during the execution of task, thus synchronizing the authorization flow with the workflow process. However, WAM has to be firstly represented by Petri nets and then use Petri nets theory to conduct safety analysis (i.e. RBAC mechanism and SoD constraints are not violated during workflow execution); besides, WAM does not consider task dependencies of a workflow. Knorr et al. [7] used Petri nets to model SoD constraints in workflow and then used a logical programming language to generate all possible execution chains of workflow. The limitation of this method is the computational overheads, especially for large business processes. Hung et al. [6] have developed an authorization model of workflows by multi-layered state machines from aspects of users, events and data. But this method cannot be used to analyze whether workflow processes can be successfully finished under security constraints, i.e., there is no deadlock in workflow due to too restrict security policies. In a word, most existing approaches to the specification of RBAC mechanism, and especially of SoD constraints are complicated and not suitable for the verification of desired security properties that workflow systems should possess; besides, the workflow process and authorization flow are separated during specification and verification in most approaches. In our method, a workflow system, together with its security considerations, is modeled as an OTS (Observational Transition System) [11], a kind of transition system. Activities, such as grant/revoke privilege to/from roles, are triggered by events that are generated by transition rules; and SoD constraints are specified in effective conditions that are attached to each transition rule. The OTS is then written in CafeOBJ [1, 5], an algebraic specification language. We express safety and liveness properties of the workflow system in CafeOBJ, and verify that the OTS satisfies these properties by writing proof scores in CafeOBJ and executing the proof scores with CafeOBJ rewriting engine. The verification of safety properties ensures that the RBAC mech-

2 anism and SoD constraints are correctly realized by the given workflow specification; and the verification of liveness properties ensures that the existence of security considerations will not prevent completion of the execution of workflow. In this paper, we use a case study formal analysis of a workflow system that deals with travel expense reimbursement, to demonstrate our method of modeling, specifying and verifying workflow systems with RBAC mechanism and SoD constraints. The rest of this paper is organized as follows. Section 2 outlines the OTS/CafeOBJ method. Section 3 describes the sample workflow system. Section 4 describes formal modeling of the workflow system. Section 5 describes how to express safety and liveness properties and mentions their verification; Section 6 concludes this paper. 2. The OTS/CafeOBJ Method OTS (Observational Transition System) is a definition of transition systems that is suitably written in equations. We assume that there exists a universal state space called Υ. We also assume that data types used, including the equivalence relation (denoted by =) for each data type, have been defined in advance. An OTS S consists of O, I, T where: O : A set of observers. Each o O is a function o : Υ D, where D is a data type and may differ from observer to observer. Given an OTS S and two states υ 1, υ 2 Υ, the equivalence (denoted by υ 1 = S υ 2 ) between them wrt S is defined as o O, o(υ 1 ) = o(υ 2 ). I : The set of initial states such that I Υ. T : A set of conditional transition rules. Each τ T is a function τ : Υ Υ, provided that τ(υ 1 ) = S τ(υ 2 ) for each [υ] Υ/ = S and each υ 1, υ 2 [υ]. τ(υ) is called the successor state of υ Υ wrt τ. The condition c τ of τ is called the effective condition. For each υ Υ such that c τ (υ), υ = S τ(υ). Observers and transition rules may be parameterized. Generally, observers and transition rules are denoted by o i1,...,i m and τ j1,...,j n, respectively, provided that m, n 0 and there exist data types D k such that k D k (k = i 1,..., i m, j 1,..., j n ). An OTS is described in CafeOBJ which can be used to specify abstract machines as well as abstract data types. A visible sort denotes an abstract data type, and a hidden sort the state space of an abstract machine. There are two kinds of operators in hidden sorts: action and observation operators. An action operator can change a state of an abstract machine; only observation operators can be used to observe the inside of an abstract machine. Declarations of observation and action operators start with bop or bops, and those of other operators with op or ops. Declarations of equations start with eq, and those of conditional equations with ceq. The CafeOBJ system rewrites a given term by regarding equations as left-to-right rewrite rules. The universal state space Υ is denoted by a hidden sort, say H. An observer o i1,...,i m O is denoted by a CafeOBJ observation operator. We assume that there exist visible sorts V k and V denoting D k and D, where k = i 1,..., i m. The CafeOBJ observation operator is declared as bop o : H V i1... V im -> V. Any state in I (namely any initial state) is denoted by a constant, say init, which is declared as op init : -> H. Suppose that the initial value of o i1,...,i m is f(i 1,..., i m ). This is expressed by the following equation: eq o(init, X i1,..., X im ) = f(x i1,..., X im ). X k is a CafeOBJ variable of V k, where k = i 1,..., i m, and f(x i1,..., X im ) is a CafeOBJ term denoting f(i 1,..., i m ). A transition τ j1,...,j n T is denoted by a CafeOBJ action operator. We assume that there exists a visible sort V k denoting D k, where k = j 1,..., j n. The CafeOBJ action operator is declared as bop a : H V j1... V jn -> H. τ j1,...,j n may change the value returned by o i1,...,i m if it is applied in a state υ such that c τj1 (υ), which can be,...,jn written generally as follows: ceq o(a(s, X j1,..., X jn ), X i1,..., X im ) = e-a(s, X j1,..., X jn, X i1,..., X im ) if c-a(s, X j1,..., X jn ). S is a CafeOBJ variable for H and X k is a CafeOBJ variable of V k, where k = j 1,..., j n. a(s, X j1,..., X jn ) denotes the successor state of S wrt τ j1,...,j n. e-a(s, X j1,..., X jn, X i1,..., X im ) denotes the value returned by o i1,...,i m in the successor state. c-a(s, X j1,..., X jn ) denotes the effective condition c. τj1,...,jn τ j1,...,j n changes nothing if it is applied in a state υ such that c τj1 (υ), which can be written generally as,...,jn follows: ceq a(s, X j1,..., X jn ) = S if not c-a(s, X j1,..., X jn ). If the value returned by o i1,...,i m is not affected by applying τ j1,...,j n in any state (regardless of the truth value of c τj1 ), the following equation may be declared:,...,jn eq o(a(s, X j1,..., X jn ), X i1,..., X im ) = o(s, X i1,..., X im ).

3 start apply applied evaluate1 evaluate2 rejected1 rejected2 approved1 approved2 notify m-trans Figure 1. A simplified state-transition diagram of the workflow end 3. A Sample Workflow System The workflow system (taken from [7]) we have formally analyzed deals with travel expense reimbursements. This workflow system has been widely used to demonstrate RBAC mechanism and SoD constraints. Figure 1 shows the related state-transition diagram of this workflow. The workflow consists of five tasks represented as rectangles; seven ovals represent the states of the workflow system before and after execution of each task. Initially, the state of the workflow system is start. In the first task apply, an employee applies for the reimbursement of his/her travel expenses by filling out an application form. Two managers have to evaluate this application (tasks evaluate1 and evaluate2 ). Then based on the results of the managers, a secretary will transfer refund to the employee s bank account (task mtrans ) if both managers approved this application; or the secretary will notify the employee that his/her application has been rejected (task notify ) if either of the managers rejected it. Now we illustrate RBAC mechanism, static SoD (SSoD) and dynamic SoD (DSoD) constraints involved in this sample workflow. There are three roles in this workflow system: manager, secretary and employee. All users belong to role employee ; each user that belongs to role manager or secretary also belongs to role employee, but a user who belongs to role manager, cannot belong to role secretary, and vice versa (i.e., the roles manager and secretary have no shared users). SSoD constraints demand that different tasks are executed by different roles [3]. In other words, task apply can be executed by users belonging to role employee (i.e., all users), tasks evaluate1 and evaluate2 can only be executed by users belonging to role manager, and tasks notify and m-trans can only be executed by users belonging to role secretary. DSoD constraints demand that a user belonging to multiple roles (such as, a user belonging to roles employee and manager ) can dynamically activate only one of these roles ( employee or manager ) in the run-time. This sample Function Table 1. Functions used in the model assignedto(s) assumedby(r) auth(r, T, F) exe(t, S, F) Description returns roles that subject S belongs to; returns subjects that role R contains; denotes an authorization (also called authorization record), which means, for an application form F, role R is granted privilege to execute task T; denotes an execution (also called execution record), which means, for an application form F, task T is executed by subject S. workflow focuses on DSoD 1 constraints, which include: - A manager should not be allowed to evaluate his/her own travel claim. - A secretary should not be allowed to transfer the refund of his/her own travel expenses. - A manager should not be allowed to perform both evaluate tasks in a same workflow instance Modeling the Sample Workflow System We model the sample workflow system as an OTS. In this modeling, the workflow process consists of three subprocesses: mainpath that starts from the initial state of the workflow; path1 that starts from the task evaluate1 ; and path2 that starts from task evaluate2 ; and all these three sub-processes stop at the final state end of the workflow. The reason we regard the workflow process as three subprocesses is that: the concurrent execution of tasks evaluate1 and evaluate2 makes the workflow process have two different states at one time (such as rejected1 and approved2 by two different managers). According to the 1 In the rest of this paper, we will use SoD instead of DSoD if not otherwise stated. 2 In this paper, different workflow instances are represented by different application forms to be dealt with by this workflow system.

4 Table 2. Equations defining condition of transition rule evaluate1" -- condition of transition rule evaluate1 op c-evaluate1 : Sys Subject Subject Obj Quality -> Bool -- Sys, Subject, Obj, Quality are sorts of: -- state space of OTS, subject, application form, and application form s quality respectively. eq c-evaluate1(s,sub1,sub2,f,q) = (mainpath(s,f) = applied and path1(s,f) = p1start and pripath1(s,f) = auth(manager,evaluate1,f) and (SUB1 /in assumedby(manager)) and (if (exe(apply,sub2,f) /in eh(s,f)) then not(sub1 = SUB2) else true fi) and (if (exe(evaluate2,sub2,f) /in eh(s,f) and (SUB2 /in assumedby(manager))) then not(sub1 = SUB2) else true fi)). three sub-processes, we define six observers in the OTS: mainpath, path1, path2, primainpath, pripath1 and pripath2. Among them, the first three observers observe current states of the three sub-processes; and the last three observers observe current authorizations defined on the three sub-processes with the purpose to check: currently, privilege to execute some task has been granted to which role. And such a privilege is denoted by an authorization (also called authorization record shown in Table 1). Additionally, two special observers are defined to satisfy SoD constraints: ah and eh, which are used to observe the elements of authorization history and execution history respectively. For each workflow instance, there exist one authorization history of actual authorizations granted to roles and one execution history of actual executions of tasks by subjects. Authorization/Execution history is denoted by a queue, whose elements are authorization/execution records. During the execution of workflow, all authorizations that have been granted to roles (i.e. authorization records) are added to the the queue of authorization history, and all executions of tasks by subjects (i.e. execution records) are added to the queue of execution history. Besides the observers in OTS, some functions used in our model are presented in Table 1. There are five transition rules in the OTS according to five tasks in the sample workflow. In the following, we will describe the effective conditions of these transition rules, and how these transition rules change the state 3 of the OTS. We present three sets of equations of the specification: one for any initial state of the OTS, and the other two for transition rule evaluate1. The equations defining any initial state (represented by init in the codes) are as follows: eq mainpath(init,f) = start. eq path1(init,f) = p1start. eq path2(init,f) = p2start. eq primainpath(init,f) = auth(employee,apply,f). 3 Here state of the OTS includes: states of the three sub-processes, states of authorizations defined on the three sub-processes, and states of authorization and execution histories (i.e. elements in authorization and execution histories). eq pripath1(init,f) = null. eq pripath2(init,f) = null. eq eh(init,f) = empty. eq ah(init,f) = auth(employee,apply,f). Constants start, p1start and p2start represent the initial states of the three sub-processes respectively. Variable F represents an application form, which is used to distinguish different workflow instances executed concurrently. Initially, role employee is granted the privilege to execute task apply on application form F and this authorization (record) is put into the queue of authorization history (denoted by the fourth and last equations respectively); and no authorizations exist on sub-processes path1 and path2 (denoted by the fifth and sixth equations); and no execution record exists in the execution history (denoted by the seventh equation). The equations defining how a state (say, S) of the OTS changes if transition rule evaluate1 is executed are shown in Table 2 and Table 3. 4 A comment starts with -- and terminates at the end of the line. The commas before ah(s,f) and eh(s,f) are the data constructors of queues of authorization history and execution history. For example, exe(evaluate1, SUB1, F), eh(s, F) denotes the queue of execution history obtained by adding the execution record exe(evaluate1, SUB1, F) to the queue eh(s, F). Operator _/in_ is the membership predicate of queues. Variable Q is used to represent the quality of the application form, and it has two possible values: good and bad. The effective condition of transition rule evaluate1 is denoted as c-evaluate1 (shown in Table 2), which demands that: the state of mainpath is applied and path1 is in its initial state p1start ; and role manager has been granted the privilege to execute task evaluate1 on the current application form F, and there exists a subject (say, SUB1) that belongs to role manager. In addition, due to the SoD constraints, c-evaluate1 also demands that: first, the subject (SUB1) who is to be assigned to execute task evaluate1 4 Due to space limitation, only transition rule evaluate1 is demonstrated in this paper, which is the most representative one among all the five transition rules.

5 Table 3. Equations defining state changes caused by transition rule evaluate1" -- change the states of three sub-processes of workflow -- states of mainpath and path2 are not changed by evaluate1, so omitted here. ceq path1(evaluate1(s,sub1,sub2,f,q),f1) = (if F1 = F then approved1 else path1(s,f1) fi) if c-evaluate1(s,sub1,sub2,f,q) and Q = good. ceq path1(evaluate1(s,sub1,sub2,f,q),f1) = (if F1 = F then rejected1 else path1(s,f1) fi) if c-evaluate1(s,sub1,sub2,f,q) and Q = bad. -- change authorizations defined on sub-processes -- authorizations defined on mainpath and path2 are not changed by evaluate1, so omitted here. ceq pripath1(evaluate1(s,sub1,sub2,f,q),f1) = (if F1 = F then auth(secretary,notify,f) else pripath1(s,f1) fi) if c-evaluate1(s,sub1,sub2,f,q) and Q = bad. ceq pripath1(evaluate1(s,sub1,sub2,f,q),f1) = (if F1 = F then auth(secretary,m-trans,f) else pripath1(s,f1) fi) if c-evaluate1(s,sub1,sub2,f,q) and Q = good. -- change execution and authorization histories ceq eh(evaluate1(s,sub1,sub2,f,q),f1) = (if F1 = F then exe(evaluate1,sub1,f),eh(s,f) else eh (S,F1) fi) if c-evaluate1(s,sub1,sub2,f,q). ceq ah(evaluate1(s,sub1,sub2,f,q),f1) = (if F1 = F then auth(secretary,m-trans,f),ah(s,f) else ah(s,f1) fi) if c-evaluate1(s,sub1,sub2,f,q) and Q = good. ceq ah(evaluate1(s,sub1,sub2,f,q),f1) = (if F1 = F then auth(secretary,notify,f),ah(s,f) else ah(s,f1) fi) if c-evaluate1(s,sub1,sub2,f,q) and Q = bad. ceq evaluate1(s,sub1,sub2,f,q) = S if not c-evaluate1(s,sub1,sub2,f,q). should not be the same subject who has executed task apply (this is done by checking whether there exists such execution record in the execution history of current application form); and second, if task evaluate2 has been executed by another manager (say, SUB2), then the subject (SUB1) who is to be assigned to execute task evaluate1 should not be the same subject who has executed task evaluate2. If the effective condition c-evaluate1 is satisfied, then the transition rule evaluate1 will change the state of the OTS (shown in Table 3), which includes: change the state of sub-process path1 to approved1 if Q = good or to rejected1 if Q = bad ; and grant role secretary the privilege to execute task m-trans if Q = good or grant role secretary the privilege to execute task notify if Q = bad ; and also, add execution record exe(evaluate1, SUB1, F) to the queue of execution history, and add authorization record auth(secretary, m-trans, F) or auth(secretary, notify, F) to the queue of authorization history according to the two possible values of Q. Here note that F1 = F in each equation is used to check whether the application form to be dealt with is the correct application form (the correct one is represented by variable F ). Otherwise, if c-evaluate1 is not satisfied, this transition rule will not change the state of the OTS, which is represented by the last line in Table 3. Other transition rules apply, evaluate2, notify and m-trans have been defined with equations in a similar way. 5. Verification of Desired Properties In this section, we describe the safety and liveness properties, which we have verified that the sample workflow system has. The informal descriptions of the safety and liveness properties are as follows (1-4 are safety properties and 5 is a liveness property): 1. A subject can execute a task if and only if a role has been granted privilege to execute this task and the subject belongs to this role. 2. A manager cannot evaluate his/her own application forms. 3. A secretary should not be allowed to transfer the refund of his/her own travel expenses. 4. A manager cannot perform both evaluate tasks in a same workflow instance. 5. The workflow can run successfully from the initial state to the final state with security considerations. For any reachable state s, any subject sub, sub1, sub2 and any application form form, Table 4 shows formal definitions of the above properties accordingly. 5 We have formally verified that these safety properties (INV1 to INV4) and liveness property (LIV) hold for the 5 In Table 4, INV1 only deals with the case task apply of property 1, while the other four cases, according to the remaining four tasks of the workflow, are defined in a similar way. And c-apply(...) is the effective condition of transition rule apply.

6 Table 4. Formal definitions of safety and liveness properties INV1: c-apply(s, sub, form) and sub /in assumedby(employee) implies auth(employee, apply, form) /in ah(s, form) INV2: ((exe(evaluate1, sub, form) /in eh(s, form) or exe(evaluate2, sub, form) /in eh(s, form)) and sub /in assumedby(manager)) implies not(exe(apply, sub, form) /in eh(s, form)) INV3: (exe(m-trans, sub, form) /in eh(s, form) and sub /in assumebdby(secretary)) implies not(exe(apply, sub, form) /in eh(s, form)) INV4: (exe(evaluate1, sub1, form) /in eh(s, form) and exe(evaluate2, sub2, form) /in eh(s, form)) implies not(sub1 = sub2) LIV: (mainpath(s, form) = start and path1(s, form) = p1start and path2(s, form) = p2start and primainpath(s, form) = auth(employee, apply, form) and pripath1(s, form) = null and pripath2(s, form) = null) leads-to mainpath(s, form) = end workflow system. Precisely, safety properties in this paper are invariants, and proofs of invariants often need induction, especially induction on the number of applied transition rules. The liveness property is described as a leads-to property, and proofs of leads-to properties consist of proofs of several ensure properties. An ensure property (p ensures q) is similar to a leads-to property (p leads-to q). Both p ensures q and p leads-to q basically mean that: if a system reaches a state where p holds, then the system will eventually reach a state where q holds. But in p ensures q, p keeps holding until q becomes true, while p does not necessarily in p leads-to q. The verification of safety and liveness properties have been done by writing proof scores showing that the workflow system satisfies these properties in CafeOBJ and executing the proof scores with CafeOBJ rewriting engine. Additionally, the liveness property is verified under the assumptions that: there exist at least three managers and two secretaries. In this paper, we do not describe details on how to verify the properties due to space limitation. (see [8, 11] for more details.) 6. Conclusion In this paper we have described the modeling of a workflow system together with some security considerations and verified the safety and liveness properties that should be satisfied by the workflow system. Compared with our previous work [9, 10], the case study in this paper can be considered as another step toward expanding the application areas in which CafeOBJ can be used well. The primary advantages of our method are as follows: - The workflow system, together with the RBAC mechanism and the SoD constraints, is described in terms of equations, which are easier to understand; and the verification is done by means of equational reasoning, which moderates the difficulties of proofs. - Different workflow instances are distinguished explicitly during specification and verification, which reflects the important feature of concurrent execution of workflow systems. - The analysis of workflow processes is combined with authorization flows. In other words, our method analyzes whether the workflow process is executable along with the authorization flow. Most other work on the other hand, analyzes these two aspects separately. Future work: we are going to use model checking technique to analyze such workflow systems. Although model checking technique is usually used to verify finite systems, it is a good complement of theorem proving technique and is generally easier to use. As a sibling language of CafeOBJ, Maude [4] is a specification and programming language, which has model checking facilities. It would be a good choice for us to carry out our future work. References [1] CafeOBJ web site. [2] V. Atluri and W.-K. Huang. An authorization model for workflows. In ESORICS 1996, volume 1146 of LNCS, pages Springer, [3] E. Bertino and E. Ferrari. The specification and enforcement of authorization constraints in workflow management systems. ACM Transactions on Information and System Security, 2:65 104, [4] M. Clavel, F. Durán, S. Eker, P. Lincoln, N. Martí-Oliet, J. Meseguer, and C. Talcott. Maude 2.0 manual: Version March [5] R. Diaconescu and K. Futatsugi. CafeOBJ report. Number 6 in AMAST Series in Computing. World Scientific, [6] P. C. K. Hung and K. Karlapalem. A secure workflow model. In AISW on ACSW frontiers (2003), pages Australia, [7] K. Knorr and H. Weidner. Analyzing separation of duties in Petri Net workflows. In MMM-ACNS 01, volume 2052 of LNCS, pages Springer, [8] K. Ogata and K. Futatsugi. Proof score approach to verification of liveness properties. Preparation for publication. [9] K. Ogata and K. Futatsugi. Formal analysis of suzuki&kasami distributed mutual exclusion algorithm. In FMOODS 02, pages Kluwer, [10] K. Ogata and K. Futatsugi. Formal verification of the hornpreneel micropayment protocol. In VMCAI 2003, volume 2575 of LNCS, pages Springer, [11] K. Ogata and K. Futatsugi. Proof scores in the OTS/CafeOBJ method. In FMOODS 03, volume 2884 of LNCS, pages Springer, 2003.

Analysis of the Suzuki-Kasami Algorithm with the Maude Model Checker

Analysis of the Suzuki-Kasami Algorithm with the Maude Model Checker Analysis of the Suzuki-Kasami Algorithm with the Maude Model Checker Kazuhiro Ogata NEC Software Hokuriku, Ltd. ogatak@acm.org Kokichi Futatsugi School of Information Science, JAIST kokichi@jaist.ac.jp

More information

Formalization and Verification of Behavioral Correctness of Dynamic Software Updates

Formalization and Verification of Behavioral Correctness of Dynamic Software Updates Available online at www.sciencedirect.com Electronic Notes in Theoretical Computer Science 294 (2013) 12 23 www.elsevier.com/locate/entcs Formalization and Verification of Behavioral Correctness of Dynamic

More information

Algebraic approaches to formal analy mondex electronic purse system. Kong, Weiqiang; Ogata, Kazuhiro; Fut Author(s) Kokichi

Algebraic approaches to formal analy mondex electronic purse system. Kong, Weiqiang; Ogata, Kazuhiro; Fut Author(s) Kokichi JAIST Reposi https://dspace.j Title Algebraic approaches to formal analy mondex electronic purse system Kong, Weiqiang; Ogata, Kazuhiro; Fut Author(s) Kokichi Citation Research report (School of Informati

More information

Equational Approach to Formal Analysis of TLS

Equational Approach to Formal Analysis of TLS Equational Approach to Formal Analysis of TLS Kazuhiro Ogata NEC Software Hokuriku, Ltd. ogatak@acm.org Kokichi Futatsugi School of Information Science, JAIST kokichi@jaist.ac.jp Abstract TLS has been

More information

CafeOBJ. CafeOBJ. Starting CafeOBJ. Wolfgang Schreiner 1. A Quick Overview. 2.

CafeOBJ. CafeOBJ. Starting CafeOBJ. Wolfgang Schreiner 1. A Quick Overview. 2. CafeOBJ Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at 1. A Quick Overview Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.uni-linz.ac.at

More information

Specification and Analysis of Real-Time Systems Using Real-Time Maude

Specification and Analysis of Real-Time Systems Using Real-Time Maude Specification and Analysis of Real-Time Systems Using Real-Time Maude Peter Csaba Ölveczky1,2 and José Meseguer 1 1 Department of Computer Science, University of Illinois at Urbana-Champaign 2 Department

More information

The Maude 2.0 System. M. Clavel F. Durán S. Eker P. Lincoln. N. Martí-Oliet J. Meseguer C. Talcott

The Maude 2.0 System. M. Clavel F. Durán S. Eker P. Lincoln. N. Martí-Oliet J. Meseguer C. Talcott The Maude 2.0 System M. Clavel F. Durán S. Eker P. Lincoln N. Martí-Oliet J. Meseguer C. Talcott 1 Overview Maude is a language based on rewriting logic. Type system is based on membership equation logic.

More information

On Mutually-Exclusive Roles and Separation of Duty

On Mutually-Exclusive Roles and Separation of Duty On Mutually-Exclusive Roles and Separation of Duty Ninghui Li ninghui@cs.purdue.edu Ziad Bizri zelbizri@cs.purdue.edu Mahesh V. Tripunitara tripunit@cerias.purdue.edu Center for Education and Research

More information

Formal Methods in Software Engineering. Lecture 07

Formal Methods in Software Engineering. Lecture 07 Formal Methods in Software Engineering Lecture 07 What is Temporal Logic? Objective: We describe temporal aspects of formal methods to model and specify concurrent systems and verify their correctness

More information

Petri Nets. Robert A. McGuigan, Department of Mathematics, Westfield State

Petri Nets. Robert A. McGuigan, Department of Mathematics, Westfield State 24 Petri Nets Author: College. Robert A. McGuigan, Department of Mathematics, Westfield State Prerequisites: The prerequisites for this chapter are graphs and digraphs. See Sections 9.1, 9.2, and 10.1

More information

Dorel LUCANU. University Al.I.Cuza of Iaşi Department of Computer Science Berthelot Iaşi, Romania

Dorel LUCANU. University Al.I.Cuza of Iaşi Department of Computer Science Berthelot Iaşi, Romania Dorel LUCANU University Al.I.Cuza of Iaşi Department of Computer Science Berthelot 16 6600-Iaşi, Romania e-mail: dlucanu@infoiasi.ro Understanding CafeOBJ by examples (Introduction to concurrent object-oriented

More information

The Maude LTL LBMC Tool Tutorial

The Maude LTL LBMC Tool Tutorial The Maude LTL LBMC Tool Tutorial Kyungmin Bae 1, Santiago Escobar 2, and José Meseguer 1 1 University of Illinois at Urbana-Champaign, IL, USA 2 Universidad Politécnica de Valencia, Spain Abstract. A concurrent

More information

System Correctness. EEC 421/521: Software Engineering. System Correctness. The Problem at Hand. A system is correct when it meets its requirements

System Correctness. EEC 421/521: Software Engineering. System Correctness. The Problem at Hand. A system is correct when it meets its requirements System Correctness EEC 421/521: Software Engineering A Whirlwind Intro to Software Model Checking A system is correct when it meets its requirements a design without requirements cannot be right or wrong,

More information

Towards Integrated Specification and Analysis of Machine-Readable Policies Using Maude 1

Towards Integrated Specification and Analysis of Machine-Readable Policies Using Maude 1 Towards Integrated Specification and Analysis of Machine-Readable Policies Using Maude 1 Rukman Senanayake, Grit Denker, and *Jon Pearce SRI International, Menlo Park, CA 94025, *San Jose State University,

More information

An Object-Dependent and Context Constraints-Aware Access Control Approach Based on RBAC

An Object-Dependent and Context Constraints-Aware Access Control Approach Based on RBAC An Object-Dependent and Context Constraints-Aware Access Control Approach Based on RBAC Xiaoli Ren, Lu Liu and Chenggong Lv School of Economics & Management, Beihang University, Beijing 100083, P.R. China

More information

The Maude LTL Model Checker and Its Implementation

The Maude LTL Model Checker and Its Implementation The Maude LTL Model Checker and Its Implementation Steven Eker 1,José Meseguer 2, and Ambarish Sridharanarayanan 2 1 Computer Science Laboratory, SRI International Menlo Park, CA 94025 eker@csl.sri.com

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

The Maude Formal Tool Environment

The Maude Formal Tool Environment The Maude Formal Tool Environment Manuel Clavel 1, Francisco Durán 2, Joe Hendrix 3, Salvador Lucas 4, José Meseguer 3, and Peter Ölveczky 5 1 Universidad Complutense de Madrid, Spain 2 Universidad de

More information

Negations in Refinement Type Systems

Negations in Refinement Type Systems Negations in Refinement Type Systems T. Tsukada (U. Tokyo) 14th March 2016 Shonan, JAPAN This Talk About refinement intersection type systems that refute judgements of other type systems. Background Refinement

More information

Timo Latvala. January 28, 2004

Timo Latvala. January 28, 2004 Reactive Systems: Kripke Structures and Automata Timo Latvala January 28, 2004 Reactive Systems: Kripke Structures and Automata 3-1 Properties of systems invariants: the system never reaches a bad state

More information

Predicting and Learning Executability of Composite Web Services

Predicting and Learning Executability of Composite Web Services Predicting and Learning Executability of Composite Web Services Masahiro Tanaka and Toru Ishida Department of Social Informatics, Kyoto University Kyoto 606-8501 Japan mtanaka@ai.soc.i.kyoto-u.ac.jp, ishida@i.kyoto-u.ac.jp

More information

Computing Fundamentals 2 Introduction to CafeOBJ

Computing Fundamentals 2 Introduction to CafeOBJ Computing Fundamentals 2 Introduction to CafeOBJ Lecturer: Patrick Browne Lecture Room: K408 Lab Room: A308 Based on work by: Nakamura Masaki, João Pascoal Faria, Prof. Heinrich Hußmann. See notes on slides

More information

Proof Carrying Code. using Algebraic Specifications

Proof Carrying Code. using Algebraic Specifications Journal of Applied Mathematics & Bioinformatics, vol.3, no.1, 2013, 43-56 ISSN: 1792-6602 (print), 1792-6939 (online) Scienpress Ltd, 2013 Proof Carrying Code using Algebraic Specifications Nikolaos Triantafyllou

More information

Petri Nets ee249 Fall 2000

Petri Nets ee249 Fall 2000 Petri Nets ee249 Fall 2000 Marco Sgroi Most slides borrowed from Luciano Lavagno s lecture ee249 (1998) 1 Models Of Computation for reactive systems Main MOCs: Communicating Finite State Machines Dataflow

More information

Outline Mousavi: ADT

Outline Mousavi: ADT Outline Abstract Data Types Mohammad Mousavi Eindhoven University of Technology, The Netherlands Requirement Analysis and Design Verification (RADV) Outline Outline Basic Concepts Booleans Standard Data

More information

1 Introduction. 3 Syntax

1 Introduction. 3 Syntax CS 6110 S18 Lecture 19 Typed λ-calculus 1 Introduction Type checking is a lightweight technique for proving simple properties of programs. Unlike theorem-proving techniques based on axiomatic semantics,

More information

Modeling and Verification of Distributed Real-Time Systems Based on CafeOBJ

Modeling and Verification of Distributed Real-Time Systems Based on CafeOBJ Modeling and Verification of Distributed Real-Time Systems Based on CafeOBJ Kazuhiro Ogata, Koichi Futatsugi Graduate School of Information Science, JAIST Tatsunouchi, Ishiawa 923-1292, Japan ogata, oichi

More information

Advanced Access Control. Role-Based Access Control. Common Concepts. General RBAC Rules RBAC96

Advanced Access Control. Role-Based Access Control. Common Concepts. General RBAC Rules RBAC96 Advanced Access Control In many cases, identity is a bad criteria for authorization. We examine two modern paradigms for access control, which overcome this limitation: 1. Role-Based Access Control 2.

More information

Secure Role-Based Workflow Models

Secure Role-Based Workflow Models Secure Role-Based Workflow Models Savith Kandala and Ravi Sandhu Savith Kandala Ravi Sandhu CygnaCom Solutions. SingleSignOn.Net and George Mason University (An Entrust Technologies Company) Dept. of Information

More information

Proving the Correctness of Distributed Algorithms using TLA

Proving the Correctness of Distributed Algorithms using TLA Proving the Correctness of Distributed Algorithms using TLA Khushboo Kanjani, khush@cs.tamu.edu, Texas A & M University 11 May 2007 Abstract This work is a summary of the Temporal Logic of Actions(TLA)

More information

On-demand evaluation for Maude 1

On-demand evaluation for Maude 1 RULE 2004 Preliminary Version On-demand evaluation for Maude 1 Francisco Durán a Santiago Escobar b Salvador Lucas b a LCC, Universidad de Málaga, Campus de Teatinos, Málaga, Spain. duran@lcc.uma.es b

More information

On The Theoretical Foundation for Data Flow Analysis in Workflow Management

On The Theoretical Foundation for Data Flow Analysis in Workflow Management Association for Information Systems AIS Electronic Library (AISeL) AMCIS 2005 Proceedings Americas Conference on Information Systems (AMCIS) 2005 On The Theoretical Foundation for Data Flow Analysis in

More information

APETRI net (PN) (cf. [1] [3]) is said to be live if it is possible

APETRI net (PN) (cf. [1] [3]) is said to be live if it is possible IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL 57, NO 2, FEBRUARY 2012 435 On the Existence of Supervisory Policies That Enforce Liveness in Partially Controlled Free-Choice Petri Nets R S Sreenivas, Senior

More information

I613: Formal Methods. Mutual Exclusion Problem

I613: Formal Methods. Mutual Exclusion Problem I613: Formal Methods Analysis of the Bakery Protocol (1) Modeling and Specification CafeOBJ Team of Jaist Mutual Exclusion Problem Computer systems have resources such that they are shared by multiple

More information

Discrete Mathematics Lecture 4. Harper Langston New York University

Discrete Mathematics Lecture 4. Harper Langston New York University Discrete Mathematics Lecture 4 Harper Langston New York University Sequences Sequence is a set of (usually infinite number of) ordered elements: a 1, a 2,, a n, Each individual element a k is called a

More information

Key-Secrecy of PACE with OTS/CafeOBJ

Key-Secrecy of PACE with OTS/CafeOBJ Key-Secrecy of PACE with OTS/CafeOBJ Dominik Klein Bundesamt für Sicherheit in der Informationstechnik (BSI) Dominik.Klein@bsi.bund.de Abstract The ICAO-standardized Password Authenticated Connection Establishment

More information

Thread Synchronization: Foundations. Properties. Safety properties. Edsger s perspective. Nothing bad happens

Thread Synchronization: Foundations. Properties. Safety properties. Edsger s perspective. Nothing bad happens Edsger s perspective Testing can only prove the presence of bugs Thread Synchronization: Foundations Properties Property: a predicate that is evaluated over a run of the program (a trace) every message

More information

Modeling and Verification for the Micropayment Protocol Netpay

Modeling and Verification for the Micropayment Protocol Netpay Modeling and Verification for the Micropayment Protocol Netpay Kaylash Chaudhary, and Ansgar Fehnker Abstract There are many virtual payment systems available to conduct micropayments. It is essential

More information

A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm

A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm Appears as Technical Memo MIT/LCS/TM-590, MIT Laboratory for Computer Science, June 1999 A Correctness Proof for a Practical Byzantine-Fault-Tolerant Replication Algorithm Miguel Castro and Barbara Liskov

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets)

Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets) Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets) Cédric Favre(1,2), Hagen Völzer(1), Peter Müller(2) (1) IBM Research - Zurich (2) ETH Zurich 1 Outline

More information

On Petri Nets and Predicate-Transition Nets

On Petri Nets and Predicate-Transition Nets On Petri Nets and Predicate-Transition Nets Andrea Röck INRIA - project CODES Roquencourt - BP 105 Le Chesnay Cedex 78153, FRANCE Ray Kresman Department of Computer Science Bowling Green State University

More information

Graph Theory for Modelling a Survey Questionnaire Pierpaolo Massoli, ISTAT via Adolfo Ravà 150, Roma, Italy

Graph Theory for Modelling a Survey Questionnaire Pierpaolo Massoli, ISTAT via Adolfo Ravà 150, Roma, Italy Graph Theory for Modelling a Survey Questionnaire Pierpaolo Massoli, ISTAT via Adolfo Ravà 150, 00142 Roma, Italy e-mail: pimassol@istat.it 1. Introduction Questions can be usually asked following specific

More information

T Reactive Systems: Kripke Structures and Automata

T Reactive Systems: Kripke Structures and Automata Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Kripke Structures and Automata Spring 2005, Lecture 3 January 31, 2005 Tik-79.186 Reactive Systems 2 Properties of systems invariants: the system

More information

BOBJ: A Quickstart for Software Engineers

BOBJ: A Quickstart for Software Engineers BOBJ: A Quickstart for Software Engineers Lutz Hamel Dept. of Computer Science and Statistics University of Rhode Island Kingston, RI 02881 hamel@cs.uri.edu DRAFT 12/7/03 Getting Started BOBJ is a specification

More information

3.7 Denotational Semantics

3.7 Denotational Semantics 3.7 Denotational Semantics Denotational semantics, also known as fixed-point semantics, associates to each programming language construct a well-defined and rigorously understood mathematical object. These

More information

Recursively Enumerable Languages, Turing Machines, and Decidability

Recursively Enumerable Languages, Turing Machines, and Decidability Recursively Enumerable Languages, Turing Machines, and Decidability 1 Problem Reduction: Basic Concepts and Analogies The concept of problem reduction is simple at a high level. You simply take an algorithm

More information

A Framework for Enforcing Constrained RBAC Policies

A Framework for Enforcing Constrained RBAC Policies A Framework for Enforcing Constrained RBAC Policies Jason Crampton Information Security Group Royal Holloway, University of London jason.crampton@rhul.ac.uk Hemanth Khambhammettu Information Security Group

More information

Introduction to Linear-Time Temporal Logic. CSE 814 Introduction to LTL

Introduction to Linear-Time Temporal Logic. CSE 814 Introduction to LTL Introduction to Linear-Time Temporal Logic CSE 814 Introduction to LTL 1 Outline Motivation for TL in general Types of properties to be expressed in TL Structures on which LTL formulas are evaluated Syntax

More information

Distributed Systems. Rik Sarkar James Cheney Global State & Distributed Debugging February 3, 2014

Distributed Systems. Rik Sarkar James Cheney Global State & Distributed Debugging February 3, 2014 Distributed Systems Rik Sarkar James Cheney Global State & Distributed Debugging Global State: Consistent Cuts The global state is the combination of all process states and the states of the communication

More information

Enforcing Security Properties in Task-based Systems

Enforcing Security Properties in Task-based Systems Enforcing Security Properties in Task-based Systems Keith Irwin North Carolina State University kirwin@ncsu.edu Ting Yu North Carolina State University yu@csc.ncsu.edu William H. Winsborough University

More information

A Non-Blocking Concurrent Queue Algorithm

A Non-Blocking Concurrent Queue Algorithm A Non-Blocking Concurrent Queue Algorithm Bruno Didot bruno.didot@epfl.ch June 2012 Abstract This report presents a new non-blocking concurrent FIFO queue backed by an unrolled linked list. Enqueue and

More information

IBM Security Identity Manager Version Planning Topics IBM

IBM Security Identity Manager Version Planning Topics IBM IBM Security Identity Manager Version 7.0.1 Planning Topics IBM IBM Security Identity Manager Version 7.0.1 Planning Topics IBM ii IBM Security Identity Manager Version 7.0.1: Planning Topics Table of

More information

On the Definition of Sequential Consistency

On the Definition of Sequential Consistency On the Definition of Sequential Consistency Ali Sezgin Ganesh Gopalakrishnan Abstract The definition of sequential consistency is compared with an intuitive notion of correctness. A relation between what

More information

Limitations of Algorithmic Solvability In this Chapter we investigate the power of algorithms to solve problems Some can be solved algorithmically and

Limitations of Algorithmic Solvability In this Chapter we investigate the power of algorithms to solve problems Some can be solved algorithmically and Computer Language Theory Chapter 4: Decidability 1 Limitations of Algorithmic Solvability In this Chapter we investigate the power of algorithms to solve problems Some can be solved algorithmically and

More information

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph:

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph: System Design&Methodologies Fö - 1 System Design&Methodologies Fö - 2 Petri Nets 1. Basic Petri Net Model 2. Properties and Analysis of Petri Nets 3. Extended Petri Net Models Petri Nets Systems are specified

More information

[module 2.2] MODELING CONCURRENT PROGRAM EXECUTION

[module 2.2] MODELING CONCURRENT PROGRAM EXECUTION v1.0 20130407 Programmazione Avanzata e Paradigmi Ingegneria e Scienze Informatiche - UNIBO a.a 2013/2014 Lecturer: Alessandro Ricci [module 2.2] MODELING CONCURRENT PROGRAM EXECUTION 1 SUMMARY Making

More information

Asynchronous Models. Chapter Asynchronous Processes States, Inputs, and Outputs

Asynchronous Models. Chapter Asynchronous Processes States, Inputs, and Outputs Chapter 3 Asynchronous Models 3.1 Asynchronous Processes Like a synchronous reactive component, an asynchronous process interacts with other processes via inputs and outputs, and maintains an internal

More information

Temporal Logic of Actions (TLA) (a brief introduction) Shmuel Katz Computer Science Department The Technion

Temporal Logic of Actions (TLA) (a brief introduction) Shmuel Katz Computer Science Department The Technion Temporal Logic of Actions (TLA) (a brief introduction) Shmuel Katz Computer Science Department The Technion CS236368 Formal Specifications Lecture-- TLA 1 Basic Idea Combine transitions with temporal logic

More information

Language Based isolation of Untrusted JavaScript

Language Based isolation of Untrusted JavaScript Dept. of Computer Science, Stanford University Joint work with Sergio Maffeis (Imperial College London) and John C. Mitchell (Stanford University) Outline 1 Motivation 2 Case Study : FBJS Design Attacks

More information

P E O P L E S O F T 9. 2 P A Y M E N T R E Q U E S T A P P R O V A L

P E O P L E S O F T 9. 2 P A Y M E N T R E Q U E S T A P P R O V A L P E O P L E S O F T 9. 2 P A Y M E N T R E Q U E S T A P P R O V A L CONTENTS PAYMENT REQUEST APPROVAL SECURITY... 2 PEOPLESOFT ONLINE APPROVAL FOR DEPARTMENT FORM 9.2... 2 PAYMENT REQUEST OVERVIEW...

More information

Implementing I/O-Automaton Specifications on Erlang

Implementing I/O-Automaton Specifications on Erlang SCIS & ISIS 2010, Dec. 8-12, 2010, Okayama Convention Center, Okayama, Japan Implementing I/O-Automaton Specifications on Erlang Yoshinobu Kawabe and Jun Zhao Department of Information Science Aichi Institute

More information

Hybrid Role Hierarchy for Generalized Temporal Role Based Access Control Model

Hybrid Role Hierarchy for Generalized Temporal Role Based Access Control Model Hybrid Role Hierarchy for Generalized Temporal Role Based Access Control Model James B. D. Joshi #, Elisa Bertino *, Arif Ghafoor # Center for Education and Research in Information Assurance and Security

More information

OPERATING SYSTEMS. Prescribed Text Book. Operating System Principles, Seventh Edition. Abraham Silberschatz, Peter Baer Galvin and Greg Gagne

OPERATING SYSTEMS. Prescribed Text Book. Operating System Principles, Seventh Edition. Abraham Silberschatz, Peter Baer Galvin and Greg Gagne OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne 1 DEADLOCKS In a multi programming environment, several processes

More information

A CRASH COURSE IN SEMANTICS

A CRASH COURSE IN SEMANTICS LAST TIME Recdef More induction NICTA Advanced Course Well founded orders Slide 1 Theorem Proving Principles, Techniques, Applications Slide 3 Well founded recursion Calculations: also/finally {P}... {Q}

More information

A DAG-BASED ALGORITHM FOR DISTRIBUTED MUTUAL EXCLUSION ATHESIS MASTER OF SCIENCE

A DAG-BASED ALGORITHM FOR DISTRIBUTED MUTUAL EXCLUSION ATHESIS MASTER OF SCIENCE A DAG-BASED ALGORITHM FOR DISTRIBUTED MUTUAL EXCLUSION by Mitchell L. Neilsen ATHESIS submitted in partial fulfillment of the requirements for the degree MASTER OF SCIENCE Department of Computing and Information

More information

arxiv: v2 [cs.ds] 9 Apr 2009

arxiv: v2 [cs.ds] 9 Apr 2009 Pairing Heaps with Costless Meld arxiv:09034130v2 [csds] 9 Apr 2009 Amr Elmasry Max-Planck Institut für Informatik Saarbrücken, Germany elmasry@mpi-infmpgde Abstract Improving the structure and analysis

More information

Proof Pearl: The Termination Analysis of Terminator

Proof Pearl: The Termination Analysis of Terminator Proof Pearl: The Termination Analysis of Terminator Joe Hurd Computing Laboratory Oxford University joe.hurd@comlab.ox.ac.uk Abstract. Terminator is a static analysis tool developed by Microsoft Research

More information

Computing the Parallelism Degree of Timed BPMN Processes

Computing the Parallelism Degree of Timed BPMN Processes Computing the Parallelism Degree of Timed BPMN Processes Francisco Durán 1, Camilo Rocha 2, and Gwen Salaün 3 1 University of Málaga, Spain 2 Pontificia Universidad Javeriana, Cali, Colombia 3 Univ. Grenoble

More information

CS 6110 S11 Lecture 25 Typed λ-calculus 6 April 2011

CS 6110 S11 Lecture 25 Typed λ-calculus 6 April 2011 CS 6110 S11 Lecture 25 Typed λ-calculus 6 April 2011 1 Introduction Type checking is a lightweight technique for proving simple properties of programs. Unlike theorem-proving techniques based on axiomatic

More information

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic 3.4 Deduction and Evaluation: Tools 3.4.1 Conditional-Equational Logic The general definition of a formal specification from above was based on the existence of a precisely defined semantics for the syntax

More information

Separation of Duty in Role-Based Access Control Model through Fuzzy Relations

Separation of Duty in Role-Based Access Control Model through Fuzzy Relations Third International Symposium on Information Assurance and Security Separation of Duty in Role-Based Access Control Model through Fuzzy Relations Hassan Takabi Morteza Amini Rasool Jalili Network Security

More information

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Dataflow Lecture: SDF, Kahn Process Networks Stavros Tripakis University of California, Berkeley Stavros Tripakis: EECS

More information

Automatic Generation of Graph Models for Model Checking

Automatic Generation of Graph Models for Model Checking Automatic Generation of Graph Models for Model Checking E.J. Smulders University of Twente edwin.smulders@gmail.com ABSTRACT There exist many methods to prove the correctness of applications and verify

More information

SORT INFERENCE \coregular" signatures, they derive an algorithm for computing a most general typing for expressions e which is only slightly more comp

SORT INFERENCE \coregular signatures, they derive an algorithm for computing a most general typing for expressions e which is only slightly more comp Haskell Overloading is DEXPTIME{complete Helmut Seidl Fachbereich Informatik Universitat des Saarlandes Postfach 151150 D{66041 Saarbrucken Germany seidl@cs.uni-sb.de Febr., 1994 Keywords: Haskell type

More information

Verifying Behavioural Specifications in CafeOBJ Environment

Verifying Behavioural Specifications in CafeOBJ Environment Verifying Behavioural Specifications in CafeOBJ Environment Akira Mori and Kokichi Futatsugi Japan Advanced Institute of Science and Technology, Hokuriku 1-1 Asahidai Tatsunokuchi Nomi Ishikawa, 923-1292,

More information

CRC 3: A Church-Rosser Checker Tool for Conditional Order-Sorted Equational Maude Specifications

CRC 3: A Church-Rosser Checker Tool for Conditional Order-Sorted Equational Maude Specifications CRC 3: A Church-Rosser Checker Tool for Conditional Order-Sorted Equational Maude Specifications Francisco Durán E.T.S.I. Informática Universidad de Málaga, Spain duran@lcc.uma.es José Meseguer Computer

More information

EQUELLA. Searching User Guide. Version 6.4

EQUELLA. Searching User Guide. Version 6.4 EQUELLA Searching User Guide Version 6.4 Document History Document No. Reviewed Finalised Published 1 19/05/2015 20/05/2015 20/05/2015 May 2015 edition. Information in this document may change without

More information

Built-in Module BOOL. Lecture Note 01a

Built-in Module BOOL. Lecture Note 01a Built-in Module BOOL Lecture Note 01a Topics! Built-in Boolean Algebra module BOOL and the equivalence of two boolean expressions (or SAT problems)! Study important concepts about CafeOBJ system through

More information

Formal methods and access control. Dr. Hale University of Nebraska at Omaha Information Security and Policy Lecture 8

Formal methods and access control. Dr. Hale University of Nebraska at Omaha Information Security and Policy Lecture 8 Formal methods and access control Dr. Hale University of Nebraska at Omaha Information Security and Policy Lecture 8 Today s topics: Access control basics Model Matrix and protection states Access control

More information

Incompatibility Dimensions and Integration of Atomic Commit Protocols

Incompatibility Dimensions and Integration of Atomic Commit Protocols The International Arab Journal of Information Technology, Vol. 5, No. 4, October 2008 381 Incompatibility Dimensions and Integration of Atomic Commit Protocols Yousef Al-Houmaily Department of Computer

More information

The Wait-Free Hierarchy

The Wait-Free Hierarchy Jennifer L. Welch References 1 M. Herlihy, Wait-Free Synchronization, ACM TOPLAS, 13(1):124-149 (1991) M. Fischer, N. Lynch, and M. Paterson, Impossibility of Distributed Consensus with One Faulty Process,

More information

Maintaining Configuration Settings in Access Control

Maintaining Configuration Settings in Access Control Maintaining Configuration Settings in Access Control Applies to: SAP BusinessObjects Access Control 10.0 SP05 Summary: This guide contains additional information about the parameters used when configuring

More information

Petri-net-based Workflow Management Software

Petri-net-based Workflow Management Software Petri-net-based Workflow Management Software W.M.P. van der Aalst Department of Mathematics and Computing Science, Eindhoven University of Technology, P.O. Box 513, NL-5600 MB, Eindhoven, The Netherlands,

More information

Principles of AI Planning. Principles of AI Planning. 7.1 How to obtain a heuristic. 7.2 Relaxed planning tasks. 7.1 How to obtain a heuristic

Principles of AI Planning. Principles of AI Planning. 7.1 How to obtain a heuristic. 7.2 Relaxed planning tasks. 7.1 How to obtain a heuristic Principles of AI Planning June 8th, 2010 7. Planning as search: relaxed planning tasks Principles of AI Planning 7. Planning as search: relaxed planning tasks Malte Helmert and Bernhard Nebel 7.1 How to

More information

Realistic Program Visualization in CafePie

Realistic Program Visualization in CafePie Realistic Program Visualization in CafePie Tohru Ogawa and Jiro Tanaka Institute of Information Sciences and Electronics University of Tsukuba Tennodai 1-1-1, Tsukuba, Ibaraki 305-8573 Japan WRKUX#VRIWODELVWVXNXEDDFMS

More information

What s New in Maude 2.4

What s New in Maude 2.4 What s New in Maude 2.4 Manuel Clavel 1, Francisco Durán 2, Steven Eker 3, Patrick Lincoln 3, Narciso Martí-Oliet 1, José Meseguer 4, Carolyn Talcott 3, and Alberto Verdejo 1 1 Universidad Complutense

More information

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system.

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system. Introduction to Formal Methods 1 Introduction to Formal Methods 2 Formal Specification Requirements specification R notational statement of system services Software specification R formal abstract depiction

More information

Enhancing The Fault-Tolerance of Nonmasking Programs

Enhancing The Fault-Tolerance of Nonmasking Programs Enhancing The Fault-Tolerance of Nonmasking Programs Sandeep S Kulkarni Ali Ebnenasir Department of Computer Science and Engineering Michigan State University East Lansing MI 48824 USA Abstract In this

More information

Concurrency, Mutual Exclusion and Synchronization C H A P T E R 5

Concurrency, Mutual Exclusion and Synchronization C H A P T E R 5 Concurrency, Mutual Exclusion and Synchronization C H A P T E R 5 Multiple Processes OS design is concerned with the management of processes and threads: Multiprogramming Multiprocessing Distributed processing

More information

Synchronous Specification

Synchronous Specification Translation Validation for Synchronous Specification in the Signal Compiler Van-Chan Ngo Jean-Pierre Talpin Thierry Gautier INRIA Rennes, France FORTE 2015 Construct a modular translation validationbased

More information

Talen en Compilers. Jurriaan Hage , period 2. November 13, Department of Information and Computing Sciences Utrecht University

Talen en Compilers. Jurriaan Hage , period 2. November 13, Department of Information and Computing Sciences Utrecht University Talen en Compilers 2017-2018, period 2 Jurriaan Hage Department of Information and Computing Sciences Utrecht University November 13, 2017 1. Introduction 1-1 This lecture Introduction Course overview

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

Software Model Checking: Theory and Practice

Software Model Checking: Theory and Practice Software Model Checking: Theory and Practice Lecture: Specification Checking - Specification Patterns Copyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course

More information

Fundamental Concepts. Chapter 1

Fundamental Concepts. Chapter 1 Chapter 1 Fundamental Concepts This book is about the mathematical foundations of programming, with a special attention on computing with infinite objects. How can mathematics help in programming? There

More information

Outline. Petri nets. Introduction Examples Properties Analysis techniques. 1 EE249Fall04

Outline. Petri nets. Introduction Examples Properties Analysis techniques. 1 EE249Fall04 Outline Petri nets Introduction Examples Properties Analysis techniques 1 Petri Nets (PNs) Model introduced by C.A. Petri in 1962 Ph.D. Thesis: Communication with Automata Applications: distributed computing,

More information

Formal Modeling and Analysis of AADL Threads in Real Time Maude

Formal Modeling and Analysis of AADL Threads in Real Time Maude A Journal of Software Engineering and Applications, 2012, 5, 187-192 doi:10.4236/jsea.2012.512b036 Published Online December 2012 (http://www.scirp.org/journal/jsea) Formal Modeling and Analysis of AADL

More information

Petri Nets ~------~ R-ES-O---N-A-N-C-E-I--se-p-te-m--be-r Applications.

Petri Nets ~------~ R-ES-O---N-A-N-C-E-I--se-p-te-m--be-r Applications. Petri Nets 2. Applications Y Narahari Y Narahari is currently an Associate Professor of Computer Science and Automation at the Indian Institute of Science, Bangalore. His research interests are broadly

More information

Computer Science Technical Report

Computer Science Technical Report Computer Science Technical Report Feasibility of Stepwise Addition of Multitolerance to High Atomicity Programs Ali Ebnenasir and Sandeep S. Kulkarni Michigan Technological University Computer Science

More information