Topic: data type by access rights

topics > computer science > data > Group: data type

access to data
data type as a set of variables
declaration scope
object-oriented data types
security by access rights
security by capabilities


Data may have associated rights which permit only protected operations. Rights are given to the object by a creator, and removed by parameters using a sub-set of the object's rights. Thus parameters are given stronger protection than the corresponding arguments. The rights of an object may differ from the rights of the object's components. A variable may be declared with more rights than its type has. In the language Russell, rights are equivalent to a data type since a procedure may be called with any arguments as long as they provide the appropriate rights. This allows an additional degree of abstraction, but does not provide representation information for generic selection. In languages with both data types and rights, rights provide redundant information used in consistency tests. (cbb 5/80)
Subtopic: type accessibility up

Quote: Java allows objects of a class to mutually access their private fields; undermines controlled access to individual objects [»knieG5_2001]
Quote: C# defines five levels of accessibility; internal if limited to containing program, protected if limited to class and subclasses [»wiltS10_2000]

Subtopic: opaque type up

Quote: a subtype declaration is opaque; a REVEAL clause introduces information about an opaque type into a scope [»cardL_1991]
Quote: the partially opaque type reveals some of an object's fields in its interface; e.g., used for I/O streams [»nelsG_1991]

Subtopic: static member class up

Quote: a nested, member class should be static; it has access to all of the enclosing class's members [»blocJ_2001]

Subtopic: type as sealed representation up

Quote: create a type by creating three operators: 'seal' to assign a type, 'testseal' to test a type, and 'unseal' to reveal an object's implementation or to use its parent type [»morrJH10_1973, OK]
Quote: implement a type by sealing objects before they leave a module and testing the type seal on reentry to the module [»morrJH10_1973]
Quote: allow static type checking by specifying the types, assigning a set of values for each type, and restricting 'seal', 'testseal', and 'unseal' to module boundaries [»morrJH10_1973]

Subtopic: read-only type up

Quote: for read-only types, use 'mutable' for variables and return values that are not part of the conceptual state; e.g., debugging output, counters, internal caches [»knieG5_2001]

Subtopic: type by access rights up

Quote: a right is name indicating a legal access to an object; e.g., via an operation [»joneAK5_1978]
Quote: to legally apply an operator, the operands must carry appropriate rights [»joneAK5_1978]
QuoteRef: joneAK4_1976 ;;22 can specify different rights for data structure and for each element
Quote: once created, an object can not increase its rights; e.g., by parameter passing [»joneAK4_1976, OK]
Quote: a block may grant (export) access rights of local variables to other blocks [»mcgrJR1_1979]
QuoteRef: robiL9_1975 ;;6 rights to object only if created by legitimately given rights
QuoteRef: joneAK4_1976 ;;9 rights of a variable are always fixed but object it references may change
QuoteRef: joneAK4_1976 ;;7 each object has rights and requires certain rights for arguments, can create rights when create a new object
QuoteRef: joneAK4_1976 ;;8 a variable declared with rights which is same or subset as rights of its type
Quote: if a function's parameter requires additional rights, then all callers must indicate those rights. [»wulfWA4_1974, OK]

Subtopic: consistency checks up

QuoteRef: joneAK4_1976 ;;11 two variables may share an object iff 2nd has nor more rights than the first variable (done by a .replaceArrow. b)

Related Topics up

Group: access to data   (12 topics, 307 quotes)
Topic: data type as a set of variables (11 items)
Topic: declaration scope (16 items)
Topic: object-oriented data types (29 items)
Topic: security by access rights (38 items)
Topic: security by capabilities
(65 items)

Updated barberCB 5/04
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.