The standard for role based access control
(RBAC) could be utilized by enterprises for
protecting digital resources (Ferraiolo et al. 2001). In
RBAC, “Users” are assigned “Roles”, which are in
turn assigned permissions on “Resources”. In our
case, the UI is the resource we need to secure.
Table 1: CRUD to UI property mappings.
CRUD Permission UI Property Value
Allow / Deny (Create) isEnabled True / False
Allow / Deny (Delete) isEnabled True / False
Allow / Deny (Read) isVisible True / False
Allow / Deny (Update) isEnabled True / False
Table 1 lists the mapping between the CRUD
permissions and UI-specific properties. The
“Create” and “Delete” permissions are applied on
the domain model UML classes whereas “Read” and
“Update” are applied on UML class properties.
To demonstrate that the proposed method is not
only meant for newly developed applications we
chose an existing open source dental practice
software called OpenDental (www.opendental.com).
We selected the “Claims” form, illustrated in the UI
studio in Figure 2. It has 87 widgets of 9 different
types, and was reverse engineered from code into
relational data based on our proposed meta-model.
We tested the performance of the dynamic UI,
which loads all the widgets at runtime from a
database, versus the code based compiled UI.
Both versions of the “Claims” form were loaded
and closed 1000 times. The time was plotted on the
graph illustrated in Figure 3. The dynamic UI took
slightly more time when it was loaded the first time
then the caching allowed a significant drop in the
time. Overall we could say that our approach will
not incur negative impact on performance.
Figure 3: User interface performance.
8 CONCLUSIONS
Adaptive user interfaces could be considered as a
means for addressing variations in the needs of
enterprise application users without incurring a high
increase in the cost of developing such applications.
In this paper, we have presented an approach that
uses interpreted runtime models for creating
enterprise applications, which makes it easier to
realize both adaptive and adaptable user interfaces.
Additionally, the dynamic model-driven nature of
the proposed method could make enterprise
applications more resilient to change in both
technology and business requirements.
In the future we will adopt the proposed
approach as a basis for devising an adaptive solution
for the scenarios discussed in Section 2.
REFERENCES
Blumendorf, Marco, Lehmann, Grzegorz and Albayrak,
Sahin, (2010). ‘Bridging Models and Systems at
Runtime to Build Adaptive User Interfaces’.
Calvary, Gaëlle, Coutaz, Joëlle, Dâassi, Olfa, Balme,
Lionel and Demeure, Alexandre, (2005). ‘Towards a
New Generation of Widgets for Supporting Software
Plasticity: The ”Comet”.
Calvary, Gaëlle, Coutaz, Joëlle, Thevenin, David,
Limbourg, Quentin, et al., (2003). ‘A Unifying
Reference Framework for Multi-Target User
Interfaces’.
Clerckx, Tim, Luyten, Kris and Coninx, Karin, (2004).
‘DynaMo-AID: a Design Process and a Runtime
Architecture for Dynamic Model-based User Interface
Development’.
Ferraiolo, David F., Sandhu, Ravi, Gavrila, Serban, Kuhn,
D. Richard and Chandramouli, Ramaswamy, (2001).
‘Proposed NIST standard for role-based access
control’.
France, Robert and Rumpe, Bernhard, (2007). ‘Model-
Driven Development of Complex Software: A
Research Roadmap’.
Gajos, Krzysztof Z., Weld, Daniel S. and Wobbrock,
Jacob O., (2010). ‘Automatically Generating
Personalized User Interfaces with Supple’.
Guerrero-Garcia, Josefina, Vanderdonckt, Jean and
Gonzalez-Calleros, Juan Manuel, (2008). ‘Towards a
Multi-User Interaction Meta-Model’.
Kramer, Jeff and Magee, Jeff, (2007). ‘Self-Managed
Systems: an Architectural Challenge’.
Lepreux, Sophie, Vanderdonckt, Jean and Kolski,
Christophe, (2010). ‘User Interface Composition with
UsiXML’.
McGrenere, Joanna, Baecker, Ronald M. and Booth,
Kellogg S., (2002). ‘An Evaluation of a Multiple
Interface Design Solution for Bloated Software’.
UsingInterpretedRuntimeModelsforDevisingAdaptiveUserInterfacesofEnterpriseApplications
77