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
|