requirements in a formal and precise model. It
describes a view of agents with responsibilities in
the domain and their behavior patterns called
affordances.
The Norm Analysis Method (NAM) focuses on
social, cultural and organizational norms that govern
the actions of agents. A Norm defines a
responsibility of an agent engaged in a task, or
condition under which certain actions may (deontic
operators) be performed by the agent.
Tailoring
Morch and Mehandjiev (2000) consider that end
users of software should be responsible for the
process of changing a computer-based tool in its
usage context.
Morch (1995) classifies Tailoring in three
categories: Customization, Integration, and
Extension. The focus of our work is in Extension
where the functionality of an application is enhanced
by adding new code. This author considers that
Extension is a not common feature of commercial
applications, and the main question pointed out by
him concerns the implementation language to be
used in this scenario, which should be accessible to
end users.
He also considers that Tailoring techniques could
be extended to support organizational changes. We
argue that OS may provide methods suitable for
doing Tailoring, since it puts equal emphasis on both
technical and organizational issues.
3 AN APPROACH PROVIDING
AUTONOMY
In this session we present an approach to provide
software autonomy to specialists and end users in
changing their applications according to their needs.
Based on previous works (Bonacin and
Baranauskas 2005; Simoni et al. 2005 a/b) we use
OS to provide a contextual understanding of the
problem, to model the static characteristics of the
context (SAM), and its dynamic aspects (NAM).
Based on Tailoring and OS concepts, a norm-
based framework called NBIC – Norm-Based
Interface Configurator was structured (Bonacin and
Baranauskas 2005) to support the work of interface
specialists. In the following sessions we present this
framework and the case study carried out in our
University.
3.1 NBIC – Norm-Based Interface
Configurator
By using NBIC architecture, the system maintenance
is understood in tree levels (Figure 1):
1. End users (or domain specialists) use tailorable
interfaces to change the system behavior;
2. An interface engineer interacts with three tools:
(a) Norm Manager to see the results of the
tailoring activity at level 1, (b) Action Manager
to link norms actions to interface objects and
actions, and (c) Tailoring Manager to specify the
tailoring interface to be used by the end-users.
3. The code of the system static part could be
maintained.
The users’ participation is not restricted to a
specific level. They should cooperate with the
interface engineer in the second level and with the
developers in the third level.
The end-user applications interact with the NBIC
by two mechanisms: perception and action. The
“perception” mechanism is the part of the system
that transmits context information to the inference
machine using a specific protocol. The “action”
mechanism reads the parameters resulted from the
inference machine that evaluate the specified norms
and triggers the appropriated action.
3.2 Extending NBIC with Norm
Modeler: a Case Study
We have structured a course (Special Topics in
Information Systems) in our University allowing the
students to have contact with the theme of the
evolving computational systems. The main goal was
to provide an overview about ways to deal with the
existing dependencies between the software and
organizational changes. The focus of our case study
was the first level of NBIC showed in Figure 1,
where the end-user can directly change the
application.
The class was divided in 9 teams with 4 students
in each one. The students’ groups worked with the
conception and the construction of two prototypes:
(1) a business application to be tailored and (2) a
norm modeler.
The method allowed the students to model the
problem context in terms of static (SAM) and
dynamic elements (NAM). All teams succeeded in
modeling the context through agents, their behavior
and norms that guide them.
Our interest was in investigating what kind of
software flexibility we could get and the end-user
skill that would be necessary to use this scenario.
ICEIS 2006 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
494