Class-based Visibility from an MDA Perspective: From Access Graphs to Eiffel Code

exporting mechanism. These mechanisms are often static and class-based, sometimes method-based, giving classes the status of both the client and service provider. They help in hiding implementation as well as capturing part of the domain rules on access rights. We explore solutions for introducing design and implementation of class-based access control from a Model-Driven Architecture (MDA) perspective. As UML proposes only language-dependent solutions for access control representation, we consider extending UML with access graphs, a formalism previously introduced for comparing and reasoning about static access rights. In this paper, we describe the integration of AGATE, a suite of access graph based tools dedicated to access control, in the MDA process. We focus on two access control design tools operating at the Platform-Independent Model (PIM) level: the Rule Adapter makes access graphs compliant with specific design rules while the Client Discovery Module adds new relevant classes expressing client organization. Mapping to a Platform-Specific Model (PSM) is illustrated with the Eiel Access Graph Adapter and rules for generating code from this PSM are presented.

[1]  Michael Eichberg MDA and programming languages , 2002 .

[2]  Marianne Huchard,et al.  AGATE, access graph based tools for handling encapsulation , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[3]  Marianne Huchard,et al.  Computing interfaces in Java , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[4]  Ray Farmer,et al.  Object-Oriented Systems Analysis and Design Using UML , 2001 .

[5]  Marianne Huchard,et al.  Access Graph Visualization: A step towards better understanding of static access control , 2002, GraBaTs.

[6]  Tom Mens,et al.  Analysing Object-Oriented Application Frameworks Using Concept Analysis , 2002, OOIS Workshops.

[7]  Rokia Missaoui,et al.  Design of Class Hierarchies Based on Concept (Galois) Lattices , 1998, Theory Pract. Object Syst..

[8]  Hervé Leblanc,et al.  Galois lattice as a framework to specify building class hierarchies algorithms , 2000, RAIRO Theor. Informatics Appl..

[9]  Hafedh Mili,et al.  Building and maintaining analysis-level class hierarchies using Galois Lattices , 1993, OOPSLA '93.

[10]  Ian Joyner Objects Unencapsulated: Java, Eiffel, and C++ , 1999 .

[11]  James Gosling,et al.  The Java Language Specification, 3rd Edition , 2005 .

[12]  Bertrand Meyer,et al.  Eiffel: The Language , 1991 .

[13]  Marianne Huchard,et al.  Extracting Formal Concepts out of Relational Data , 2003 .

[14]  Bernhard Ganter,et al.  Formal Concept Analysis: Mathematical Foundations , 1998 .

[15]  Marianne Huchard,et al.  On automatic class insertion with overloading , 1996, OOPSLA '96.

[16]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[17]  James Gosling The Java Language Specification - Second Edition , 2000 .

[18]  Marianne Huchard,et al.  Access Graphs: Another View on Static Access Control for a Better Understanding and Use , 2002, J. Object Technol..

[19]  Andreas Rausch,et al.  Journal of Object Technology , 2002 .

[20]  Gilles Ardourel Modélisation des mécanismes de protection dans les langages à objets , 2002 .

[21]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[22]  Adele Goldberg,et al.  Smalltalk-80 - the interactive programming environment , 1984 .

[23]  Frank Tip,et al.  Understanding class hierarchies using concept analysis , 2000, TOPL.