PhDOOS Logo

Supported by AITO.

These pages are currently maintained by Alex Potanin

 

Modeling access control mechanisms for object-oriented languages

Gilles Ardourel
( France )

LIRMM
161 rue Ada 34392 Montpellier Cedex 5 France
tel:
fax:
ardourel@lirmm.fr

Keywords:

language concepts Encapsulation access control visibility

Abstract:

Encapsulation and modularity play a great role in the success of object-oriented languages. Various access control mechanisms are proposed to manage implementation hiding in software comp onents and to define interfaces adapted to different client or user profiles. Correct use of these mechanisms reduces components coupling (dependencies) and the cost of loca l changes in the different stages of implementation. It facilitates the maintenance and reusabi lity for the construction of software or libraries of components, including the case of distrib uted software components written in different languages.

Access control mechanisms operate at different granularity levels, i.e. package, class, object, and rule several aspects of object-oriented languages:
the right to access (read, write, etc.), to inherit, to redefine a property (method or attrib ute),
the right to use, inherit from, or instanciate a class,
the right to convert an object to another type.

In spite of this significant place, there appears to be no general model towards which would c onverge the various object-oriented languages and formalisms of design such as UML or OMT. Object-oriented analysis and design methods lack expressivity in this area. However, support for access control varies in object-oriented languages, which use very differ ent strategies and concepts to achieve it. Moreover the choice of access control strategies is often made only at implementation time, whereas it should be a design decision. Moreover, the object-oriented languages possess mechanisms which, although very varied, do not allow the expression of all the designer decisions. This raises the issue of ensuring continuity between the design and the development. It is clear that many questions have yet to be answered concerning access control.

We think that answering these questions requires a formal framework suited to access control. We introduce the access graphs, a formalization of access which allows to characterize , evaluate and compare access control mechanisms. We define expressivity for a set of mechanisms as the characterization of the access graph families they allow. We intend to use this formalization as a basis for several software engineering tools that,
generate code according to design decisions in various languages,
extract an access graph from existing components to provide a programmer a clear view of allowe d accesses, or to help a translation from a set of mechanisms to another,
warn the programmer about uses of access control that disagree with the specific ation, or the subtype relation.
More generaly we aim at a definition of a simple and general model of access control in object- oriented context.

The PhD work started: October 1999


The submitted work will probably not be presented in the
upcoming ECOOP PhD Workshop.


HTML3
NO JAVA

 


Last modified on Mon Aug 15 14:59:24 2005