Results 1  10
of
23
A logical framework for reasoning about access control models
 ACM Trans. Inf. Syst. Secur
, 2003
"... The increased awareness of the importance of data protection has made access control a relevant component of current data management systems. Moreover, emerging applications and data models call for flexible and expressive access control models. This has led to an extensive research activity that ha ..."
Abstract

Cited by 85 (1 self)
 Add to MetaCart
The increased awareness of the importance of data protection has made access control a relevant component of current data management systems. Moreover, emerging applications and data models call for flexible and expressive access control models. This has led to an extensive research activity that has resulted in the definition of a variety of access control models that differ greatly with respect to the access control policies they support. Thus, the need arises for developing tools for reasoning about the characteristics of these models. These tools should support users in the tasks of model specification, analysis of model properties, and authorization management. For example, they must be able to identify inconsistencies in the model specification and must support the administrator in comparing the expressive power of different models. In this paper, we make a first step in this direction by proposing a formal framework for reasoning about access control models. The framework we propose is based on a logical formalism and is general enough to model discretionary, mandatory, and rolebased access control models. Each instance of the proposed framework corresponds to a CDatalog program, interpreted according to a stable model semantics. In the paper, besides giving the syntax and the formal semantics of our framework, we show some examples of its application. Additionally, we present a number of dimensions along which access control models can be analyzed and compared. For each dimension, we show decidability results and we present some examples of its application.
Shapely Hierarchical Graph Transformation
 Journal of Computer and System Sciences
, 2001
"... Diagrams can be represented by graphs, and the animation and transformation of diagrams can be modeled by graph transformation. This paper studies extensions of graphs and graph transformation that are important for programming with graphs: ..."
Abstract

Cited by 44 (11 self)
 Add to MetaCart
Diagrams can be represented by graphs, and the animation and transformation of diagrams can be modeled by graph transformation. This paper studies extensions of graphs and graph transformation that are important for programming with graphs:
Graph Transformation Units with Interleaving Semantics
 Formal Aspects of Computing
, 1999
"... The aim of the paper is to introduce the notion of a transformation unit together with its interleaving semantics and to study it as a means of constructing large graph transformation systems from small ones in a structured and systematic way. A transformation unit comprises a set of rules, descript ..."
Abstract

Cited by 33 (23 self)
 Add to MetaCart
The aim of the paper is to introduce the notion of a transformation unit together with its interleaving semantics and to study it as a means of constructing large graph transformation systems from small ones in a structured and systematic way. A transformation unit comprises a set of rules, descriptions of initial and terminal graphs, and a control condition. Moreover, it may import other transformation units for structuring purposes. Its semantics is a binary relation between initial and terminal graphs which is given by interleaving sequences. As a generalization of ordinary derivations, an interleaving sequence consists of direct derivation steps interleaved with calls of imported transformation units. It must obey the control condition and may be seen as a kind of structured derivation. The introduced framework is independent of a particular graph transformation approach and, therefore, it may enhance the usefulness of graph transformations in many contexts.
Computational Completeness of Programming Languages Based on Graph Transformation
, 2001
"... . We identify a set of programming constructs ensuring that a programming language based on graph transformation is computationally complete. These constructs are (1) nondeterministic application of a set of graph transformation rules, (2) sequential composition and (3) iteration. This language ..."
Abstract

Cited by 25 (10 self)
 Add to MetaCart
. We identify a set of programming constructs ensuring that a programming language based on graph transformation is computationally complete. These constructs are (1) nondeterministic application of a set of graph transformation rules, (2) sequential composition and (3) iteration. This language is minimal in that omitting either sequential composition or iteration results in a computationally incomplete language. By computational completeness we refer to the ability to compute every computable partial function on labelled graphs. Our completeness proof is based on graph transformation programs which encode arbitrary graphs as strings, simulate Turing machines on these strings, and decode the resulting strings back into graphs. 1 Introduction The use of graphs to represent and visualise complex structures is ubiquitous in computer science, and often these structures occur in contexts where they have to be dynamically changed. Functional and logic programming languages, on th...
Graph Transformation Units And Modules
, 1999
"... The significance of graphs and rules in many areas of computer science is evident: On the one hand, graphs constitute appropriate means for the description of complex relationships between objects. Trees, Petri nets, circuit diagrams, data flow graphs, state charts, and entityrelationship diagrams ..."
Abstract

Cited by 23 (16 self)
 Add to MetaCart
The significance of graphs and rules in many areas of computer science is evident: On the one hand, graphs constitute appropriate means for the description of complex relationships between objects. Trees, Petri nets, circuit diagrams, data flow graphs, state charts, and entityrelationship diagrams are some typical examples. On the other hand, rules are used to describe "permitted" actions on objects as, for example, in the areas of functional and logic programming, formal languages, algebraic specification, theorem proving, and rulebased systems. The intention of bringing graphs and rules together  motivated by several application areas  has led to the theory of graph grammars and graph transformation (see volume I of the Handbook and [17] for a survey). A wide spectrum of approaches exists within this theory and some of them are implemented (see, for example, Progres [8, 9], Graph Ed [10], Dactl [11], and Agg...
On the Interleaving Semantics of Transformation Units  A Step into GRACE
 Proc. Graph Grammars and Their Application to Computer Science
, 1994
"... The aim of the paper is to introduce the notion of a transformation unit together with its interleaving semantics and to study it as a means of constructing large graph transformation systems from small ones in a structured and systematic way. A transformation unit comprises a set of rules, descript ..."
Abstract

Cited by 22 (10 self)
 Add to MetaCart
The aim of the paper is to introduce the notion of a transformation unit together with its interleaving semantics and to study it as a means of constructing large graph transformation systems from small ones in a structured and systematic way. A transformation unit comprises a set of rules, descriptions of initial and terminal graphs, and a control condition. Moreover, it may import other transformation units for structuring purposes. Its semantics is a binary relation between initial and terminal graphs which is given by interleaving sequences. As a generalization of ordinary derivations, an interleaving sequence consists of direct derivation steps interleaved with calls of imported transformation units. It must obey the control condition and may be seen as a kind of structured derivation. The introduced framework is independent of a particular graph transformation approach and, therefore, it may enhance the usefulness of graph transformations in many contexts.
Abstract Rewriting
 In Proc. of Third Int'l Workshop on Static Analysis, WSA'93
, 1993
"... We tackle the problem of datastructure rewriting including pointer redirections. We propose two basic rewrite steps: (i) Local Redirection and Replacement steps the aim of which is redirecting specific pointers determined by means of a pattern, as well as adding new information to an existing data; ..."
Abstract

Cited by 14 (3 self)
 Add to MetaCart
We tackle the problem of datastructure rewriting including pointer redirections. We propose two basic rewrite steps: (i) Local Redirection and Replacement steps the aim of which is redirecting specific pointers determined by means of a pattern, as well as adding new information to an existing data; and (ii) Global Redirection steps which are aimed to redirect all pointers targeting a node towards another one. We define these two rewriting steps following the double pushout approach. We define first the category of graphs we consider and then define rewrite rules as pairs of graph homomorphisms of the form L ← K → R. Unfortunately, inverse pushouts (complement pushouts) are not unique in our setting and pushouts do not always exist. Therefore, we define rewriting steps so that a rewrite rule can always be performed once a matching is found. 1
A Graph Rewriting Visual Language For Database Programming
 Journal of Visual Languages and Computing
, 1997
"... Textual database programming languages are computationally complete, but have the disadvantage of giving the user a nonintuitive view of the database information that is being manipulated. Visual languages developed in recent years have allowed naive users access to a direct representation of data, ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
Textual database programming languages are computationally complete, but have the disadvantage of giving the user a nonintuitive view of the database information that is being manipulated. Visual languages developed in recent years have allowed naive users access to a direct representation of data, often in a graph form, but have concentrated on user interface rather than complex programming tasks. There is a need for a system which combines the advantages of both these programming methods. We describe an implementation of Spider, an experimental visual database programming language aimed at programmers. It uses a graph rewriting paradigm as a basis for a fully visual, computationally complete language. The graphs it rewrites represent the schema and instances of a database. The unique graph rewriting method used by Spider has syntactic and semantic simplicity. Its form of algorithmic expression allows complex computation to be easily represented in short programs. Furthermore, Spider...
Relating Graph and Term Rewriting via Böhm Models
 in Engineering, Communication and Computing 7
, 1993
"... . Dealing properly with sharing is important for expressing some of the common compiler optimizations, such as common subexpressions elimination, lifting of free expressions and removal of invariants from a loop, as sourcetosource transformations. Graph rewriting is a suitable vehicle to accommoda ..."
Abstract

Cited by 8 (4 self)
 Add to MetaCart
. Dealing properly with sharing is important for expressing some of the common compiler optimizations, such as common subexpressions elimination, lifting of free expressions and removal of invariants from a loop, as sourcetosource transformations. Graph rewriting is a suitable vehicle to accommodate these concerns. In [4] we have presented a term model for graph rewriting systems (GRSs) without interfering rules, and shown the partial correctness of the aforementioned optimizations. In this paper we define a different model for GRSs, which allows us to prove total correctness of those optimizations. Differently from [4] we will discard sharing from our observations and introduce more restrictions on the rules. We will introduce the notion of Bohm tree for GRSs, and show that in a system without interfering and nonleft linear rules (orthogonal GRSs), Bohm tree equivalence defines a congruence. Total correctness then follows in a straightforward way from showing that if a program M co...
A New Process Model for Functions
 Term Graph Rewriting: Theory and Practice, chapter 20
, 1993
"... Machine [Ber90] than a traditional graph reduction machine. 6 Results A translator has been developed which will convert "programs" in an extended Calculus to the process notation. Several different translations from Calculus to processes have been implemented. The process networks are converted ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
Machine [Ber90] than a traditional graph reduction machine. 6 Results A translator has been developed which will convert "programs" in an extended Calculus to the process notation. Several different translations from Calculus to processes have been implemented. The process networks are converted to the sublanguage which makes heavy use of agent definitions. This form is then converted to Dactl. The mapping from process notation to Dactl does not handle nontrivial processes with output guards (only inaction may follow an output guard). This enables us to express the new translation directly, but the ßCalculus translations of Milner cannot be translated directly. A Form of the Lazy Calculus translation modified in a manner inspired by [Hon91] has been produced. The translation is extended to handle constants. This has been called PiLazy: [[x]] u = x!u:() [[k]] u = u?v : v!k:() [[x:M ]] u = u?d: ( d!a:() j a?x: u?v: [[M ]] v )na [[M @L N ]] u = ( [[M ]] v j v!d:() j d?a: (a!t...