MibML: A Conceptual Modeling Grammar for Integrative Business

advertisement
MibML: A Conceptual Modeling Grammar for Integrative Business
Information Systems Using the Agent Metaphorα
RAJIV KISHOREβφ
Department of Management Science and Systems
School of Management
The State University of New York at Buffalo
Buffalo, NY 14260-4000
Tel: (716) 645-3507
Fax: (716) 645-6117
rkishore@buffalo.edu
RAJ SHARMAN
Department of Management Science and Systems
School of Management
The State University of New York at Buffalo
Buffalo, NY 14260-4000
Tel: (716) 645-3507
Fax: (716) 645-6117
rkishore@buffalo.edu
HONG ZHANG
Computer Information Systems
Glass Hall 373
Southwest Missouri State University
901 South National Avenue
Springfield, Missouri 65804
Tel: (417)836-4121
Fax: (417)836-6907
Email: hoz565f@smsu.edu
R. RAMESH
Department of Management Science and Systems
School of Management
The State University of New York at Buffalo
Buffalo, NY 14260-4000
Tel: (716) 645-3258
Fax: (716) 645-6117
rramesh@acsu.buffalo.edu
UB School of Management Working Paper #801
March 2004
© Kishore, Sharman, Zhang, and Ramesh, 2004
α
The authors are grateful to Vijayan Sugumaran, participants at the SOM-Informatics Working Group
seminar at SUNY Buffalo, and anonymous reviewers and attendees at the AMCIS 2003 and HICSS
2004 conferences for providing invaluable suggestions during the course of development of this
paper. We are also grateful to Sukhamay Kundu for his critical evaluation of the MibML formal
grammar included in the paper.
β
Corresponding author.
φ
The first three authors have contributed equally to this paper and their names are listed in the
alphabetical order.
1
MibML: A Conceptual Modeling Grammar for Integrative Business
Information Systems Using the Agent Metaphor
Abstract
In this paper we introduce the concept of multiagent-based integrative business information
systems (MIBIS). MIBIS is derived from an integration of two analogous modeling
metaphors: Agents and IS Work Systems. Our conceptualization is based on three basic
attributes of the two metaphors – autonomous behavior, goal orientation and rolecentricity. We develop a theoretically-grounded conceptual modeling grammar termed
MibML (Multiagent-based Integrative Business Modeling Language) for modeling the MIBIS
universe. The need for the special-purpose grammar for MIBIS is motivated by the
inadequacy of existing software engineering and multiagent modeling formalisms such as
ER, DFD, PetriNets, AUML, etc. to capture the specific characteristics and semantic
requirements of the MIBIS universe. The MibML grammar is presented as a formal model
using BNF and first order logic. An illustrative example of the application of MibML grammar
is presented as a proof-of-concept and is included as supplemental material to this paper.
ACM Taxonomy Keywords: D.2.1.a Analysis; D.2.1.g Specification; D.2.10.b Design
notations and documentation; D.2.10.c Representation.
Paper Keywords: conceptual modeling grammar, systems modeling, requirements
specifications, role-based modeling, multiagent systems modeling, integrative business
information systems modeling.
1
INTRODUCTION
The fundamental unit of conceptualization in Multiagent Systems (MAS) is the Agent.
An agent is basically a computational entity with specific goals that operates in coordination
with other such entities in a given environment. Similarly, a fundamental unit of
conceptualization in an Integrative Business Information System (IBIS) is the IS Work
System [2]. An IS work system is essentially an encapsulated Information System (IS)
component with a fully defined interface that performs specific tasks in coordination with
other such systems in an IBIS. Although the two concepts originate from different domains,
their functionality and architectures have much in common. Consequently, using the Agent
metaphor in IBIS design or the IS Work System metaphor in MAS design can be considered
analogous. This equivalence has some significant implications. First, a common conceptual
grammar could support the development of both types of systems. Second, the common
conceptual basis would lead to an integration of the two, leading to the notion of Multiagentbased IBIS (MIBIS). In this research, we introduce the MIBIS concept and develop a
2
theoretically-grounded conceptual-modeling grammar termed MibML (Multiagent-based
Integrative Business Modeling Language) for modeling the MIBIS universe. MibML is a
demonstration of the equal applicability of the two metaphors in both the design contexts.
The Agent metaphor has been extensively used in various IBIS contexts [2],
including
e-commerce,
business
process
management,
supply
chain
management,
enterprise integration, manufacturing, etc. While considerable research exists in the areas
of distributed and cooperative multiagent architectures that implicitly employ the work
system concept in the form of agents [10, 26, 30, 40], to our knowledge there is no effort
towards defining a unified and coherent conceptual semantic and structural modeling
grammar [54] for the MIBIS context. Currently, the situation remains one of craftsmanship
where system developers create multiagent architectures or IBIS solutions either from
scratch or by reusing existing components as required in a given context. The lack of a
unified conceptual modeling approach for MIBIS design has resulted in a proliferation of
several such independently developed architectures; this has led to the well-recognized
problems of interoperability, integration and scalability challenges in system design, to
name a few.
This paper essentially addresses these lacunae in both the literature and practice.
The distinguishing feature of the proposed developmental framework is its unique focus on
conceptual modeling of MIBIS universes. The area of conceptual modeling has grown
enormously over the years from simple representations of concepts and their relationships
to modeling complex and dynamic behaviors of entities and systems. Further, conceptual
models have been used very effectively in the design processes in several software
engineering domains; they have also served as effective means of communication and coordination
among
development
teams,
besides
providing
common
bases
for
the
development of encapsulated component systems. A MIBIS universe typically possesses the
attributes of a complex dynamic environment; the universe can be viewed as a collection of
interactive autonomous agents or analogously as a network of autonomous work systems.
3
These components together perform a set of tasks to accomplish their system goals. A
MIBIS at a minimum can be configured with component goals, their role and task
definitions,
coordination
and communication
mechanisms,
system
states
and
data
management, and resource sharing protocols. Consequently, conceptual modeling is
extremely important in MIBIS design.
The proposed modeling language MibML consists of a set of simple fundamental
concepts required in modeling a MIBIS universe, their structural and semantic associations,
and a coherent framework for a systematic development, verification and validation of
MIBIS designs. The grammar includes axiomatic specifications of the concepts, their
relationships and rules of application in the design framework, and is formally described
using BNF and predicate logic. An illustrative example provided in the supplemental set
demonstrates the use of MibML in MIBIS design, including the underlying design principles.
MibML has been developed from an integration of the Agent and Work System metaphors
along with their properties derived from extant multiagent systems and IBIS literatures.
Similar approaches in other domains include the Smart Object Model for complex operations
management [48], the SEAM model for workflow systems [4], the knowledge-based
approach for reusable business information systems [46, 53], and the GBMS/SM model for
structured optimization [11]. The MibML grammar provides a representation vocabulary,
which other existing modeling approaches for the MIBIS universe do not provide.
The paper is organized as follows. In section 2, we develop the basic framework of
the MIBIS universe. In section 3, we justify the need for a formal conceptual-modeling
grammar for the MIBIS universe by showing that existing software engineering and
multiagent modeling formalisms such as ER, DFD, PetriNets, AUML, etc. are inadequate to
capture the specific characteristics and semantic requirements of the MIBIS universe. In
section 4, we discuss and formally define the MibML grammar. Finally, we conclude with
some future research directions in section 5. An illustrative proof-of-concept example of the
application of MibML grammar is included as supplemental material to this paper.
4
2
THE MIBIS FRAMEWORK
The proposed MIBIS framework is derived by adapting the Agent metaphor in
Multiagent Systems (MAS) to an IBIS context. Equivalently, employing the IS work system
metaphor of IBIS in a MAS context would provide another view of MIBIS. Without loss of
generality, we focus on the former view throughout the paper. In the following discussion,
we first introduce the notion of IBIS and then develop a conceptual framework for MIBIS by
adapting the Agent metaphor.
2.1
IBIS: A COMPONENT VIEW
Alter [2] defines a work system as the highest-level conceptual system abstraction
within an organization. An information system is only a particular type of work system that
supports other organizational work systems. Using this definition, we conceptualize a work
system in the current context as “a system comprised of man-machine components
performing a specific business process; the process could entail data, man-machine tasks,
coordination, communication and resource sharing among the man-machine components.”
As a result, we can view a work system as an encapsulated business component with
complete definitions of its internal logic, resources and external interfaces. A business
organization typically contains a number of work systems (such as materials procurement,
sourcing processes etc.) that interface, interact, coordinate and share resources among
each other in order to achieve specific organizational objectives.
Business integration
essentially involves the integration of multiple work systems within a business organization.
An Information System (IS), as a particular type of work system, supports other
business process work systems within organizations [2]. We refer to an information system
as an Integrative Business Information System (IBIS) when it comprises of a set of IS work
systems that together support a set of business process work systems. We conceptualize an
IBIS as an integration of several autonomous, goal-oriented and role-centric component
work systems within its own framework. Some of the well known IS solutions that can be
5
generally characterized as traditional IBIS would include ERP systems [29], Enterprise
Application Integration (EAI) frameworks [31], and work flow systems [16], to name a few.
In general, an IBIS environment deals with the integration of cross-functional processes,
integration of IS components (legacy or new) within an organization-wide federated
schema,
tight/loose
coupling
of
IS
components
across
organizations,
and
more
fundamentally, automation of processes wherever possible.
The emerging next-generation IBIS architectures have several distinguishing
attributes compared to their traditional counterparts. In general, the business process
contexts of the emerging IBIS tend to be more functionally specialized within a wide array
of inter-dependent processes.
As a result, several IS work systems may need to be
integrated to accomplish the support requirements of a single business process. Coupled
with the interfacing requirements across business processes, an IBIS could entail a network
of IS work systems interacting through their interfaces to support a set of related business
processes. Each IS work system can be viewed as a fully self-contained component with
appropriate interfaces. This encapsulation also implies autonomous behavior and a
capability scope for each component. Hence, system integration is a far greater challenging
task when faced with an array of components where each component could be defined with
a set of goals, role-centric task capabilities and internal/external resources with other
components and a capability of autonomous behavior. Consequently, a primary focus of the
next-generation IBIS will be on coordination of autonomous work systems and their
communication
protocols
conceptualization
of
IBIS
[32].
work
The emerging IBIS
systems
as
paradigm
autonomous
leads
agents
logically
with
to
a
coordination
mechanisms among them. Using this idea, we develop the concept of MIBIS in the following
discussion.
2.2
MIBIS: INTEGRATING THE AGENT METAPHOR
IBIS can be conceptualized and possibly even implemented using multiagent system
6
architectures. A multiagent system (MAS) is defined as a loosely coupled network of
problem solving agents; the agents interact with one another to solve problems that are
beyond the individual capabilities of each problem solver [15, 57, p. 3].
Recently
researchers have brought out the similarities between integrative business systems and
“communities” of autonomous problem solving agents [e.g., 23, 24, 39, 45]. The network of
work system components in an IBIS can therefore be modeled as a community of
autonomous agents with both agent-specific and shared objectives. The agent paradigm
provides suitable abstractions that minimize the semantic gap between the conceptual
specification and the corresponding system realization of IBIS work system components
[22]. Furthermore, multiagent systems, for the most part, are concerned with coordinating
intelligent behavior among autonomous agents [8, 15, 21, 37], which is also a central
concern in IBIS.
The Agent metaphor in MAS is analogous to an IS Work System in an IBIS or a
Human Actor in a business process context within IBIS. Clearly, they all have goals, assume
relative roles, perform tasks, possess and employ resources, communicate and coordinate
with each other – in their respective contexts. The MIBIS framework shown in Figure 1
reflects this conceptualization. A number of agents (shown as small yellow circles)
representing human actors or IS work systems are contained within the MIBIS (shown as a
green oval). The MIBIS operates within an external environment (shown as the external red
rectangle), which is similar to the notion of organizational environment and corresponds to
that of multiple agents in the MAS context. The MIBIS is designed with a set of overall
system goals (shown within the blue arrow); the goals are derived from an analysis of user
requirements and incorporated within the conceptual and physical schema of the MIBIS
architecture. The system goals could be specified at different levels of granularity and
ordered into hierarchies. However for the sake of simplicity and without loss of generality,
we assume a simple partitioning scheme where the system goal set is partitioned into a
collection of mutually exclusive and collectively exhaustive subgoals. Each subgoal is
7
associated with an agent, which could be a work system or a human actor as the case may
be. Since each work system is modeled as a fully encapsulated component, autonomous
behavior of work systems is logically implied in this design. Autonomous behavior also
implies a peer-to-peer role relationship, which is assumed throughout the paper for
simplicity in exposition. Extension of the proposed grammar to non-autonomous behaviors
is beyond our current scope and is a significant are for future research. The capabilities of
individual agents can be organized into declarative and procedural knowledge with direct
implications to the associated subgoals. Finally, agents interact with each other and with
other entities within the environment, and the information resources for the agents are
assumed to be distributed within the environment.
The MIBIS framework presents two fundamentally dual views: a view of an IBIS as a
MAS, and a view of a MAS as an IBIS. We term the two views as “Agent view of IBIS” and
“Work system view of MAS”, respectively. The equivalence between the agent and work
system metaphors yields a common framework for designing either a MAS or an IBIS.
Consequently, the conceptual grammar developed for the MIBIS framework is equally
applicable in the two views. In summary, based on the above conceptualization, we adopt
the following conventions in specifying a MIBIS using the Agent metaphor: 1) the MIBIS
system as a whole has an agreed and shared business goal; 2) the MIBIS system is
composed of a collection of agents, each with their individual goals; 3) there is no global
control over the agents within a MIBIS entity; 4) interactions serve as coordination
mechanisms among agents and between agents within a MIBIS system and the
environment; and 5) agents within a MIBIS system react to stimuli and changes from other
agents and the environmental and adapt their behaviors as needed.
8
MIBIS Environment
MIBIS
(Multiagent-based Integrative Business Information System)
Entity
System
Goals
Legend:
MIBIS Entity
Non-MIBIS Entity
Software Agent
Information resource
Interaction between
agents
Information Flow to/from an agent with an
environmental entity / information resource
User
Figure 1: The MIBIS Universe and its Architecture
3
NEED FOR A CONCEPTUAL-MODELING GRAMMAR FOR THE MIBIS UNIVERSE
A conceptual-modeling grammar provides a set of constructs and semantic rules for
modeling real-world domains [54]. Conceptual-modeling grammars are classified into
general-purpose and special-purpose grammars [25]. A general-purpose grammar is
applicable generally in any domain but lacks domain-specific semantics, whereas a specialpurpose grammar provides a representation vocabulary and appropriate domain semantics
for the specific domain [42, p. 322]. For example, UML and ER modeling grammars are in
the general-purpose category; the Smart Object Model [48] and the SEAM Model [4] are
cases of special-purpose modeling grammars.
Currently, there is a lack of a special-purpose modeling grammar for the MIBIS
universe.
Traditionally,
general-purpose
modeling
grammars
such
as
data-oriented
techniques (e.g. ER-Diagrams), process models (e.g. Petri-nets), and more recently UML,
9
have been used to represent business information systems. While these general-purpose
grammars provide a rich vocabulary and strong syntax for aiding the analysis and design of
systems, they lack domain-specific semantics, creating the need for special-purpose
modeling grammars for various domains.
For instance, it has been shown that most
enterprise and workflow models lack the essential semantics to concisely represent specific
business processes, goals, tasks and organization structures of particular business
domains[43, 55]. This is quite true for the MIBIS universe as well, because domain-specific
semantics derived from the Agent metaphor such as autonomy, reactivity, distributed
control, interactions, etc., are not supported adequately by general-purpose modeling
grammars. For example, behavioral modeling is crucial to the Agent metaphor and the ER
grammar provides very limited support for this; while data flow diagrams (DFD) provide
partial semantics for modeling the problem-solving processes of agents, they overlook the
modeling requirements of agent intelligence. Similarly, Petri nets are primarily oriented
towards analysis of timing and conflict resolution, rather than towards agent interactions
and coordination. Object-oriented methodologies may be useful in defining MIBIS
specifications by identifying objects that correspond to actors and the dependencies
between these objects. However, as has been discussed in the literature [e.g., 18, 38, 57],
object orientation provides no explicit support for agent concepts such as autonomy,
reactivity, and sociability, and
therefore, it is difficult to model agent knowledge and
interactions within MIBIS using OO modeling formalisms. Without a well-defined specialpurpose conceptual-modeling grammar, common terms used in the MIBIS universe such as
role, resource, knowledge, interactions, etc. will have to be force-fitted with constructs
available in general-purpose modeling grammars, and this will result in arbitrariness and
confusion while modeling MIBIS systems.
Based on the characteristics of the MIBIS universe discussed earlier, a conceptual
grammar for MIBIS modeling should provide adequate and distinct representation of
informational, functional, knowledge, and organizational characteristics of the Agent
10
metaphor and its implementation as a work system within an IBIS environment. The
informational requirement focuses on the information entities involved in the system, their
structures and interrelationships. The functional requirement focuses on the tasks that are
to be performed and the information entities involved. The knowledge requirement deals
with representing knowledge as a unique component associated with agents constituting a
MIBIS. This representation should have a problem solving focus and be defined in
conjunction with the other requirements. The organizational requirement focuses on
structuring all the MIBIS components and linking their goals with functions, coordination
mechanisms and communication protocols. The existing general-purpose and multiagent
systems modeling grammars and the IBIS modeling approaches do not possess adequate
expressive semantics to adequately represent all these requirements. This is summarized in
the analysis provided in Table 1. In this table, H indicates that the feature being discussed is
fully supported, M indicates that the feature is partially supported, and L indicates that the
feature is not supported by the modeling grammar being discussed. In the next section we
turn our attention to the MibML grammar with a specific focus on the MIBIS modeling
requirements discussed above.
11
Table 1. A Summary of Various Modeling Grammars and their Support for the MIBIS Universe
IS Grammar
Supported Feature
Agent modeling
General-purpose IS grammar
MAS methodology
IBIS modeling grammar
ERD
DFD
Petri-Net
[41]
UML
[9]
Gaia
[59]
MaSE
[13]
AUML
[6]
TOVE
[17]
SEAM
[4]
SF1
[46]
DND
[47]
AWS2
[35]
XRL
[49]
L
L
L
L
H
H
H
H
L
L
L
L
L
Organizational modeling
Goal-oriented
L
L
L
L
L
H
L
H
L
H
L
L
L
Role modeling
M
L
L
M
H
H
M
H
L
L
H
M
L
Data entity
H
L
L
H
L
L
L
L
H
H
L
L
L
Date flow
L
H
H
H
H
H
H
L
L
H
H
H
H
Declarative
L
L
L
L
L
L
L
H
H
L
L
L
L
Procedural
L
L
L
L
H
H
H
H
M
L
L
L
H
Communication
L
H
H
H
H
H
H
H
L
H
H
H
H
Conversation
L
L
L
L
H
H
H
H
L
L
L
H
L
L
M
H
H
H
H
H
H
M
L
L
L
H
Data modeling
Knowledge modeling
Coordination mechanism3
Task modeling
Legend: H – High; M – Medium; L – Low.
1
Knowledge reuse framework of Sugumaran et al.
2
Action Workflow System
3
Coordination occurs at the communication and conversation levels. Communication supports message-content passing. Conversation
supports speech acts to specify actor’s intentions.
12
4
THE MIBML GRAMMAR
The MibML grammar extracts core concepts from both IBIS and MAS literatures and
presents a framework for the conceptual specification of MIBIS architecture. Using the
Agent metaphor, MibML defines seven key concepts that are central to MIBIS: Goal, Role,
Interaction, Task, Information, Knowledge, and Agent. Each agent (or equivalently an IS
work system) in MIBIS can be specified using this grammar, and a collection of
specifications for a set of agents in an environment with their interrelationships would
together describe a MIBIS architecture. The grammar is descriptive as well as prescriptive;
it is descriptive in defining an architecture using orthogonal conceptual elements of MIBIS;
it is prescriptive in providing a set of modeling tools and an approach to the analysis and
design of a MIBIS. The MibML specifications describe a system at two levels: MIBIS
environment and MIBIS internals. We first develop a framework for MibML and subsequently
present a formal specification of the grammar in the following discussion.
4.1
THE MIBML FRAMEWORK
At the environmental level, a MIBIS is regarded as an integrated system, interacting
with other entities in the surrounding business environment as shown in Figure 1. A
description of the MIBIS environment provides a set of requirements for configuring its
internals in terms of agents. This description follows well-known systems analysis principles
and would broadly include specifications of the environment in terms of (a) functional
requirements, (b) data requirements, (c) interface requirements, and (d) coordination
requirements on a MIBIS with respect to the environment in which it operates. Traditional
conceptual modeling techniques such as ER, UML Use Case etc. could be used for this
purpose. These requirements will be translated into component agent level specifications in
describing the internals of a MIBIS. Since MIBIS is conceptualized as a set of autonomous,
goal-oriented and role-centric agents, the environmental specifications would naturally
translate into component agent architectures comprising of these attributes along with their
13
internal and external coordination mechanisms and communication protocols. In a
description of the environment, we differentiate between user and other objects that exist
outside the perimeter of a MIBIS. A reason for this is that the user objects not only transact
input/output with a MIBIS, but also specify business goals for the system. We choose goal
as a construct to capture requirements of user objects because goal-based system
development is more stable than those based on functions, processes or information
structures that often change with time [13, 60].
The internal level specifications describe the components of a MIBIS. A MIBIS in this
paper is regarded as an organization of software agents, which play different roles in the
system. Similar to a human organization, role is a key concept in MIBIS analysis. The role
construct in the grammar is essentially an abstraction for: (a) the tasks that are performed
by a component agent, (b) the interactions that need to occur with other roles to achieve
individual agent goals, (c) the information that needs to be accessed or will be generated
during the course of performance of those tasks/interactions, and (d) the knowledge that is
needed for the achievement of the agent’s goals. Just as in an organizational context where
an abstract role is assigned to one or more physical human agents (e.g., the abstract role of
[1, m]
Is_involved_in /
Includes
[1, m]
Agent
[1, m]
Interaction
Is_constrained_by /
Includes_procedural_knowledge_about
Plays /
Is_played_by
[1, m]
[1, 1]
[2, 2]
[1, 1]
Role
Knowledge
Possesses / Is_possessed_by
[1, m]
[1, m]
Goal
[1, 1]
[1, m]
[1, 1]
[1, m]
[1, 1]
[1, m]
Has_privileges_to_access /
Is_accessed_by
Is_assigned_to /
Is_assigned
Information
[1, m]
[1, m]
Is_required_for / Requires
Performs / Is_performed_by
Figure 2: The MibML Constructs and their Inter-relationships
14
Includes_procedural_knowledge_about /
Is_constrained_by
[1, m]
Task
[1, m]
an “inventory manager” may be assigned to a physical human agent named “John Q.
Batman”), an abstract role in the MIBIS universe is assigned to and implemented by
physical component agents. Therefore, a role in MibML provides a template that can be
instantiated by agents. Figure 2 presents a conceptual meta-model of the MibML constructs
and shows the relationships among the Goal, Role, Interaction, Task, Information,
Knowledge, and Agent constructs that are formally discussed and developed in the following
section.
4.2
FORMAL SPECIFICATION OF MIBML
In this section, we define the MibML constructs as a set of schemas using BNF syntax
[34]. The relationships, axioms, and constraints which govern the usage of the MibML
constructs are defined in first order predicate logic. Table 2 presents the conventions
adopted for the notations and symbols used in specifying the MibML grammar. These
conventions apply to all the symbols used to explicate the various ontological categories
that arise during the specification, namely: instance, collections, types, and collection of
types. Table 3 provides an explanation of the symbols used in specifying the MibML
grammar. Table 4 unambiguously defines the key MibML constructs in BNF and Table 5
provides a list of predicates that are used in specifying the MibML grammar. In the rest of
this section, we provide a more detailed explanation of the fundamental MibML constructs
along with their constraints and relationships based on theories in both the IBIS and MAS
literatures. During our discussion, we have attempted to avoid trivial axioms and constraints
that can be easily reasoned.
Table 2: Convention of Notations used in MibML Specifications
Type
Instances
Individual
Bolded Lower Case letter(s)
Lower Case letter(s)
15
Collection
Bolded Upper Case letter/(s)
Upper Case letter/(s)
Table 3: Symbols used in MibML Specifications
Notation
General
Description
Ψ
Collection of MibML constructs
ψ
MibML Construct
∆
Collection of relationships
Notation
Description
Knowledge
Knowledge
k
Ψ = {ψ i : i = 1,..., n}
Relationships
δ
Τ
Collection of constraints
τ
constraints
C attributes
Common Attributes
at
Activity (a task or an interaction)
Goal
g
G
Goal
Goal Status
Completed
Executing
goal status
Duties of a role
Privilege
Interaction
Interactions
i
msg Communication from initiator role
External event
evexternal
evtemporal
Temporal event
ev state
State event
Information
Information flow
e
e
Information entity
Information entity instance
Information entity type
einfo
Internal entity information
i / flow−control −inf o
Metadata for information flow
c
control
i
/
i
/
flow− source
Source from which an
information flow emanates
flow− sink
Entity receiving the
information flows
to responder role
Response to a message
/
i data
i ' flow−external
Communicative act
Actual data with flow
External source/sink for
information flow
Action verb for
i
communication
Example: Assertion, Query,
etc.
Actual message
content
/
flow− frequency
Agent
ag
Task
φ
Event
i/
i/ f
i/e
rgeneral Generic roles
r
Normal roles
rcoordinator
Special role to maintain
t
Workflow patterns
Procedural knowledge
Information
Waiting
Suspended
resp
speech
speech Act
wp
ev
Collection of goals;
Role
d
p
Declarative knowledge
f
Facts
rule d Deduction rule
x structure
Execution structure
xorder Execution order
x constra int
Execution constraint
G = {g i : i = 1,.., n}
status
c
ex
w
s
kd
kp
Tasks
Property / Logic / Subcomponent.
16
Agent
Information flow frequency
Table 4: The MibML Conceptual Modeling Grammar in BNF
MibML Grammar
(Ω ) = {Ψ , ∆, Τ}
where
Ψ = {ψ i ∀i = 1..n} in which ψ i is a MibML construct,
∆ = {δ i ∀i = 1..n} in which δ i is a relationship between concepts, and
Τ = {τ i ∀i = 1..n} in which τ i is a constraint.
ψ ::= [ G | R | I | T | I / | K | A ]
C attributes ::= id , name, description
Goal:
< g >::=< C attributes >< status >
< status >::= [c | e x | w | s | ...]
Bijective
mapping
< g >  
→ < r >
Role:
< rGeneral >::= [< r >|< rcoordinator >]
< r >::=< C attributes >< k >< d >
< d >::=< a >|< d >< a >
< a >::= [< t >|< i >]
< rcoordinator >::=< C attributes >< d special >
< d special >::= {Update goal status}
Interaction:
< i >::=< Cattributes >< Speech >
< Speech >::=< Msg >|< Speech > [< Resp >]
/* Comments :
The symbol < Message
> is used to express both < Msg > and < Re sp >
same format. [< Msg >|< Re sp >::=< Message > */
< Message >::=< initiator >< responder >< speech Act >< content >
as they have the
−a
[< initiator >|< responder >] is→

<r>
< speech Act >::= [ Assertion | Query | Re quest | Perform | Commitment | Denial | ...]
< content >::= {message communicated during interaction}
Task:
< A >::=< a >|< A > [< a >]
< a >→ [< t >|< i >]
< t >::=< C attributes >< input >< output >< method >
/* Comments:
The symbol < i / o
>
is used to express both
< input >
17
and
< output >
as they have the same
[< input >|< output >] ::=< i / o > */
< i / o >::= [< k d >|< i / f >] |< i / o > [< k d >|< i / f >]
< Method >::=< Φ >
< Φ >::=< φ >|< Φ >< φ >
< φ >::= Method1 | Method 2 | ... | property1 | property 2 | ...
format
Information:
_a
< i / > is

→[< i / e >|< i / e >]
< i / e >::=< C Attributes >< einf o >< e >
< einfo >::= {Semantic, syntactic and structral information about the entity}
< e >::= {data associated with an entity instance}
< i / f >::=< C Attributes >< i / flow_control_info >< i / flow _ data _ inf o >< i / data >
< i / flow_control_info >::=< i / flow − source >< i / flow − sink >< i / flow− frequency >< i / flow −response _ time >
< i / flow − source >::= [< r >|< i / e >|< i / flow −external >] |< i / flow− source > [< r >|< i / e >|< i / flow −external >]
< i / flow − sink >::= [< r >|< i / e >|< i / flow− external >] |< i / flow− sink > [< r >|< i / e >|< i / flow−external >]
< i / flow−external >::= [End User | MIBIS entity | Non - MIBIS entity]
< i / flow_data_info >::= [ Data_Structure | format_Information | ...] |< i / flow_data_info > [ Data_Structure | format_Information
< i / data >::= instance_data
< i / chunk >::= Entity | Entity_instance | Entity _ attribute | Entity_instance_attribute_value |
< P >::= [Re ad | Write | View | Grant | Pr int | ...] |< P > [Re ad | Write | View | Grant | Pr int |
Knowledge:
< k >::= [< k d >|< k p >] |< k > [< k d >|< k p >]
< k d >::=< C Attributes > [< F >|< RULE d >] |< k d > [< F >|< RULEd >]
< F >::=< f >|< F >< f >
< f >::= [ Assertion1 | Assertion 2 | Assertion 3 | ...]
< RULEd >::=< rule d >|< RULEd >< rule d >
< rule d >::= [ Dedection _ rule _ 1 | Dedcution _ Rule _ 2 | ...]
< k p >::=< C Attributes >< w p >|< k p >< w p >
< w p >::= [< x structure >|< x constraints > ]
< x strucuture >::= [sequence | parallel _ split | exclusive _ choice | ...]
< x constraint >::= [ev external | ev temporal | ev state | ev resource | ...]
Agent:
Bijective
< r > mapping

→ < a >
18
Table 5: List of Predicates Used to Specify the MibML Grammar.
PREDICATE
MEANING
/
accesses (r , i chunk )
accomplish( g , r )
agent ( a g )
Role
Goal
r accesses the information i / chunk
g is accomplished by role r
is an agent
ag
/
assign( p, r , ichunk
)
assigned (r , g )
change _ goal − stat (rcoordinator , g , status )
Role
concurrent (at1 , at 2 )
Activity at1 is in parallel with activity at2
Privilege
p is assigned to role r
r is assigned to goal g
Role
rcoordinator
status
for
i / chunk
changes the state of goal
g to
execute(r, at)
Role r performs activity at
frequency(at , n)
goal ( g )
has _ goal ( a g , g )
Activity at must be performed with frequency n
Agent
has _ initiator (i, r )
Role
r
has _ permission (r , p, i / chunk )
has _ properties (ti , Φ)
has _ responder (i, r )
has _ state( g , status )
Role
r has permission p to access i / chunk
ti has a collection of Properties / Methods Φ
r is the responder of the interaction
g has state status
/
information(i )
inherits (ti , t j , Φ)
interaction(i )
isa _ typeof (ti , t j )
knowledge (k )
new _ fact ( f )
operate _ on(rule d , F )
g
is a goal
Task
Role
Goal
i/
has a goal
ag
g
is the initiator of an interaction
is either an information entity or flow
Task t i inherits from task
tj
collection of Properties
/Methods Φ
i is an interaction
Task t i is of type
k
f
tj
is a knowledge nugget
is a new fact
Deduction rule has to operate on facts
optional (at )
Activity
overrides (ti , φ1 , φ2 )
Task t i overrides property
partOf (t i , t j )
Task t i is a sub-task of part of task
plays ( a g , r )
Agent
precedes(at1 , at 2 )
at is optional
plays role
ag
φ1
with property
tj
r
Activity at1 is executed before activity at2
/
revoke( p, r , ichunk
)
role(r )
subordinat e( ri , r j )
Role
task (t )
t
trigger(ev, at)
Activity at is triggered by event ev
Privilege
r
p is assigned to role r
for
is a role
ri
is subordinate to role
rj
is a task
19
i / chunk
φ2
4.2.1 Goal
In systems development, goal has been identified as an essential concept for
capturing user requirements. It is capable of aiding in the elicitation and elaboration of
requirements, relating system requirements to organizational and business contexts,
clarifying requirements, and dealing with conflicts [60].
Accordingly, systems developed
based on goals are more stable than those based on functions, processes or information
structures that often change with time [13].
As discussed earlier, the goal construct in MibML provides a bridge between the
environmental-level and the internal-level specifications of a MIBIS. The overall goals of a
MIBIS identified at the environmental level are organized into a goal tree to represent user
requirements at different levels of details. In the goal tree, a goal is decomposed iteratively
until it reaches a collection of individual goals ( g i ) at the leaf goal level. For ease of
discussion, we refer to the collection of all individual goals ( g i ) as a goal-set (G ) . It is
important to note that a goal is decomposed only to the point where the level of granularity
corresponds to a role (details are discussed in the role section).
The individual goals ( g i ) are mutually exclusive and collectively exhaustive of the
MIBIS system goals. As a result, the goal-set (G ) forms a whole-part relationship in which
an individual goal ( g i ) is a component of the goal-set (G ) . The implication is that all the
individual goals ( g i ) have to be accomplished in order to satisfy the overall goals of the
system. This constraint is expressed in Axiom 1.
Axiom 1: System goals are accomplished if and only if all individual goals are
accomplished.
has _ state( g , c )− > (∨ g )(has _ state ( g1 , c ) ∧ ...has _ state( g 1 , c ) )
………….. C 1
In order to ensure the enforcement of Axiom 1 in the process of system
development, we include an attribute called status in the goal schema (as shown in Table 4)
in addition to the common attributes that are common to all MibML constructs. The attribute
20
is used to maintain the state of a goal. An individual goal can be in one of the following
states: completed (c), executing (e), waiting (w), or suspended (s). Although the attribute
status is a design consideration, we include it in the goal schema to facilitate the transition
from conceptual models to design models in system development.
4.2.2 Role
Role is a powerful concept that introduces the organizational view into intelligent
information systems. Traditionally, role has been used to decouple business process
definitions from concrete resources such as physical individual actors [5, 27, 28, 50]. In
system development, role provides “a new abstraction that can unify diverse aspects of a
system” [59]. Usage of the role construct for MIBIS modeling will provide the advantages of
design focus, reusability, and flexibility.
A role has been classically defined as “a collection of duties and rights” [7]. In the
MibML grammar, duties of a role are modeled as tasks and interactions that roles are
obligated to perform for achieving a goal. Rights of a role are modeled as permissions to
utilize information entities. Knowledge within a role provides the intelligence to coherently
perform tasks and interactions to achieve an assigned goal. Tasks are activities that can be
performed by a role alone. On the other hand, interactions are activities that involve at least
two roles. Permissions about global access to information entities (i.e., information entities
contained within the MIBIS) define the rights a role possesses to access and manipulate
them (e.g., create, read, update, and delete information entities). Roles contain declarative
and procedural knowledge components. The functions of roles are directly linked to the
underlying goals associated with them. In essence, the role construct is an abstraction that
provides complete contextual relationship of an agent with all other entities within a MIBIS.
These relationships are shown in Figure 2 and the BNF formalism is presented in Table 4.
In the MibML grammar, roles are responsible for accomplishing system goals. The
relationship between the goal and role concepts is bijective, and is explained as follows.
21
MibML employs a one-to-one mapping between goal and role. This implies that an individual
goal can be assigned to only one role, and a role is responsible for only one leaf goal of the
larger system goal tree. This is done to provide a rigorous and conceptually simple
distinction between goals and tasks, i.e., the distinction between “what” and “how.” This
distinction, while conceptually intuitive, is often difficult to implement in practice, because it
is hard to draw the boundary between “what” needs to be accomplished versus “how” it will
be accomplished. For example, consider the statement “check credit”. It is difficult to
exactly specify whether this statement is a goal (what) or a task (how), and further,
whether its decomposition will lead to further sub-goals or tasks. The proposed bijective
relationship solves this classical systems analysis problem. MibML requires that a goal
should not be further decomposed when it is assigned to a role. Consequently, such a goal
is a leaf in the goal tree. The bijective mapping also implies that the number of leaf goals
and the number of roles in the system are the same; if there is a difference, then either the
goal tree needs to be folded back (due to over decomposition) or more roles need to be
created (due to role inadequacy). In many design situations, this requirement can easily be
incorporated using any feasible combination of the two strategies. The bijective relationship
between individual goals ( g i ) and individual roles (ri ) are expressed in Axiom 2.
Axiom 2: Each individual goal is assigned to a unique role, and each role is responsible for
a unique individual goal.
((∀g i ∈ G )(∃ri ∈ R )assigned (ri , g i )) ∧ ((∀ri ∈ R )(∃g i ∈ G )assigned (ri , g i ))
((∀g ∈ G )(assigned (r , g ) → ¬assigned (r , g )) ∧ (r
i
j
i
……………. C 2
≠ rj )) ∧
((∀r ∈ R )(assigned (g1 , r ) → ¬assigned (g 2 , r )) ∧ (g1 ≠ g 2 )) ……….. C 3
In order to perform tasks, roles need existing information as inputs. In addition,
roles generate new information, which need to be stored in the system. Therefore, roles in
MibML possess one or more privileges that allow them to access and use information entities
and information flows. The granularity at which permissions are granted is determined by
business rules enforced in the system. MibML defines privileges at different levels of
22
granularity ( ichunk ), as described in Axiom 3.
/
Axiom 3: Each role possesses permissions to access certain information.
/
/
/
role( r ) ∧ information(ichunk
) ∧ has _ permission ( r , p, ichunk
) → accesses ( r , ichunk
) …..
C4
Roles within MibML do not have any hierarchical relationships. Existence of a role
hierarchy would imply Mater-Slave relationships. In the current conceptualization, a MIBIS
system is viewed as a composition of distributed autonomous agents without any central
control. Incorporation of role hierarchies in MibML is beyond our current scope and is a
significant area for future research. Therefore, all agents within the system are
conceptualized to be in peer-to-peer relationships. Consequently, supervisory roles do not
exist as reflected in Axiom 4.
Axiom 4: No role can control other roles in a MIBIS system.
((∀ri , r j ∈ R ) ∧ ( ri ≠ r j )) → ¬subordinate( ri , r j )
…………………..
C5
Finally, in order to ensure the accomplishment of the overall systems goals in a peerto-peer environment, MibML provides one special role termed coordinator to track goal
accomplishment status of other roles. The task of the coordinator role
(rcoordinato r )
is to
update the status of all the goals in the system and ensure that every goal in the overall
system goal tree is accomplished. Therefore, we have the following axiom:
Axiom 5: There exists a coordinator role that possesses the necessary permission to
change the status of goals in the MIBIS system.
change _ goal − stat (rcoordinator , g , status )
………………………………
C6
where status = {c, e, w, s} is as defined in Table 3.
4.2.3 Interaction
Interaction is the mechanism by which interdependencies among roles are
coordinated. These interdependencies arise due to functional dependencies among the tasks
performed by different roles, simultaneity constraints, task/subtask relationships, and
23
shared resources [32]. MibML employs speech act theory to model the communication and
coordination requirements in role interactions. An interaction is defined as a coordinated
sequence of speech acts or communicative acts aimed at defining and reaching a goal [14,
56]. Speech Acts (SA) are utterances that contain information needed to assert and perform
actions and serve as building blocks of communication protocols. They define what people
do while communicating [3, 19, 44]. Speech act verbs are used in speech act utterances, to
perform actions such as booking, complaining, forgiving, etc. [51, 52].
An interaction includes the following four attributes: initiator, responder, speech act,
and message as defined in Table 4. Because isolated roles do not exist in a MIBIS system,
all roles interact with other roles, as indicated in Axiom 6.
Axiom 6: Each role involves in at least one interaction.
(∀r)(∃≥1i)(has_initiator(i, r) ∨ has_responder(i, r))
……………………..
C7
Obviously, every interaction must involve at least two distinct roles. This is captured
in Axiom 7. The role that initiates the interaction is called the initiator and the role receiving
the communication is called the responder. The initiator starts an interaction by sending a
message using a speech act. However, the message may or may not evoke a response.
Likewise, the response from the responder may or may not evoke a new message from the
initiator. The procedural knowledge of roles dictates issues relating to precedence, timing,
frequency, etc. of interactions. A more detailed conceptualization on this subject is included
as part of the knowledge construct discussed subsequently.
Axiom 7: Every interaction involves an initiator role and a responder role.
(∀i )(∃=1ri )(∃=1r j )((has _ initiator (i, ri ) → has _ responder (i, ri ) ∧ ( ri ≠ rj )) ………… C 8
4.2.4 Task
A task is also an activity performed to achieve a goal, but is different from an
interaction in that it can be performed by a single role alone. It can be as simple as a single
activity or as complex as a business process workflow. MibML specifies tasks along two
24
dimensions: task structure and task behavior. The structural specification defines the
composition of task units using a hierarchical structure. A task may be decomposed into
sub-tasks, and a recursive decomposition would lead to a task hierarchy. The task behaviors
specify how the tasks in a hierarchy should be performed (sequence of the tasks, task
interdependencies, the number of times a task is required, optional versus required tasks,
etc). The task behaviors are specified in the activity execution structure and constraints of
the knowledge construct.
MibML supports tasks to be decomposed recursively not only into its constituent
subtasks, but also into different subtypes. For example, a parent task “increase sales” can
be decomposed into the constituent subtask “reduce price”, “change display layout”, etc; it
can also be decomposed into subtypes “increase toy sales”, “increase furniture sales”, etc.
While the former is a decomposition of a task into AND/OR subtask components, the latter
represents an IS-A hierarchy. MibML supports both types task structures. Similar
conceptualization is also employed in Malone et al. [33].
In order to support the task structures, MibML provides two predicates: (a)
partOf (t i , t j ) - task ti is considered a subpart of task t j ; and (b) isa _ typeof (ti , t j ) - task ti
is considered to be of type task t j . Axiom 8 describes the transitive closure (C 9 and C 10)
and non-reflexivity properties (C11 and C12) of task decomposition. These properties are
important because they ensure task structure to be represented as a Directed Acyclic Graph
(DAG).
Axiom 8: A task and its sub-level tasks are transitive and non-reflexive.
partOf (t i , t j ) ∧ partOf (t j , t k ) → partOf (t i , t k )
……………………
isa _ typeof (ti , t j ) ∧ isa _ typeof (t j , t k ) → isa _ typeof (ti , t k )
partOf (t i , t j ) → ¬partOf (t j , t i )
……….. C 10
………………………………………….. C 11
isa _ typeof (t i , t j ) → ¬isa _ typeof (t j , t i )
25
C9
………………………………. C 12
Partitioning along the dimension of subtypes (isa_typeof relationships) allows for
inheritance from a more generalized type to a more specialized type, in a manner that is
similar to the type hierarchy considered in most object-oriented approaches. In order for a
subtype to inherit a property Φ , the generalized task must have the property and the
generalized type must have an ancestral relationship with the subtype as described in
Axiom 9. Similar to the object-oriented approach, MibML allows for subtypes to override
inherited properties as described in Axiom 10.
Axiom 9: A subtype is able to inherit the properties from its parent.
isa _ typeof (ti , t j ) ∧ has _ properties (t j , Φ ) → inherits (ti , t j , Φ ) …………. C 13
Axiom 10: A subtype is able to override the properties inherited from its parent.
inherits (ti , t j ,Φ1 ) ∧ overrides (ti , φ1 , φ2 ) → has _ properties (ti , Φ 2 ) ………… C 14
The task construct has been conceptualized to include three attributes: Input, Output
and Method as defined in Table 4. Typically, the Inputs include declarative knowledge and
other data flows; Outputs are task generated and could be classified under either
information or declarative knowledge; the Method metaphor embodies the procedural
knowledge used. While the Inputs are needed for task execution, outputs could result in
updates or may even cause information flows within the MIBIS application or to external
users. A method specifies the detailed logic for execution of the task. A method can be
described using different mechanisms, including structured English and pseudo code.
4.2.5 Information
Information refers to data resources available within a MIBIS application and may
pertain to both the functional (business-aware) and the non-functional (business-unaware;
IT system-specific) aspects of the MIBIS application. The information construct of MibML
consists of information entities and information flows. Information entities refer to internal
data within the system that are part of data stores. They represent regular business objects
(such as PRODUCT, CUSTOMER, etc.) and other materialized views of data. The schema of
26
information entities includes the structure of tables, the relationships, entity integrity
constraints, referential integrity constraints, cardinality constraints, etc. Information entities
may be implemented using relational databases and the schema corresponds to items
typically stored in database repositories. Information flows represent data that are in
transit; for example, data moving between external users and roles, between information
entities and roles, or between other external systems and roles. Information flows are
different from information entities in their time orientation [12]. Information flows are
temporal. They cease to exist once they are acted upon by an agent or stored in a data
store or provided to an entity external to the MIBIS system. The specifications of both
information entities and information flows are detailed in Table 4.
All data resources and information available within the MIBIS application are
protected and access is based on privileges roles possess. Privileges reflect authority of
roles to view, manipulate, create, or take other alternative actions on information. Privilege
to access information entities and flows are granted at various levels of granularity as
determined by business rules. A role has to be granted the privilege at the intended level of
granularity if it has to be able to access information. Therefore, we have the following
axiom.
Axiom 11: A role is granted privilege to access necessary information.
/
role( r ) ∧ assign ( p, r , ichunk
) → has _ permission ( r , p, i / chunk )
………….. C 15
4.2.6 Knowledge
Knowledge is modeled as justified true belief that increases an entity’s capacity for
effective action [20, 36]. It resides in the user and not in the collection of information. It is
information possessed in the mind of individuals [1]. Similarly, knowledge in MibML is
conceptualized to exist within individual roles and is therefore private to the roles.
Accordingly, a role must posses the needed knowledge in order to use it. This constraint is
represented in Axiom 12.
27
Axiom 12: A role can only use its own knowledge.
∀k(uses_knowledge(r, k) Æ ∃r(role(r) ∧ knowledge(k) ∧ has_knowledge(r, k)) …………………..
C 16
Individual and organizational knowledge are very broad constructs consisting of both
explicit and tacit knowledge [1]. However, the knowledge construct in MibML is viewed from
a somewhat narrower perspective, in that it captures and represents only computational
knowledge that is explicitly defined 4 . Individual and organizational knowledge includes
declarative (know-that) or procedural (know-how). Correspondingly, explicit computational
knowledge
in
MibML
consists
of
both
declarative
knowledge
(d k )
and
procedural
knowledge ( pk ) . Declarative knowledge is defined as a collection of facts and deduction
rules. Facts are beliefs that a role keeps about itself, about other roles in the system, and
about the environment it resides in. Deduction rules empower roles to engage in deductive
reasoning with the constraint that at least two existing facts are needed to deduce a new
fact. This is further elaborated in Axiom 13.
Axiom 13: A new fact can only be deducted from at least two existing facts.
((∃ruled )(∃≥2 f )operates _ on( ruled , F ) → f new ) ∧ new _ fact ( f new ) … C 17
Procedural knowledge is conceptualized to consist of activity execution structure and
activity execution constraints. Activity execution structure relates to knowing the order in
which activities need to occur. An activity is defined here either as a task or as an
interaction. Activity execution structure also includes information regarding how frequently
activities have to be performed and whether certain activities are optional. The predicates
( precedes(at1 , at 2 ) , concurrent (at1 , at 2 ) ,
frequency(a, n) and optional (a ) ) are used to
express activity execution structure, as shown in Table 5.
Activity execution constraints determine the events that trigger activities. In MibML,
4
If tacit knowledge can be converted into explicit knowledge, it can be represented using the
knowledge component of the MibML grammar.
28
an activity is always triggered by an event. The event can be an external event ( evexternal ), a
temporal event ( evtemporal ), or a state event ( ev state ). External events emanate either from
the environment including other roles or from end-users (such as a customer placing an
order). External events generated by another role in the system correspond to inter-roletask dependencies. For example, a role r1 may start executing a task t1 only when another
role r2 completes a task t2. In order to preserve the autonomy of roles and hence the agents
playing the roles, MibML does not permit modeling such constraints as part of the task
execution structure of the role r1. However, such constraints can be modeled as an external
event for role r1. Temporal events are constraints placed on the execution of tasks or
interactions based on some time consideration such as the elapse of some time period. A
state event is an event that occurs inside a role, and changes the state of the role, and
accordingly triggers a task or a set of tasks. The requirements of activity execution
constraints are expressed in Axiom 14.
Axiom 14: Activities in the MIBIS universe must be triggered by an event.
(∀at)(execute(r, at) Æ ∃ev(trigger(ev, at))
……………………….
C 18
4.2.7 Agent
In an organizational context, a role is assigned to one or more physical human actors
to accomplish organizational goals. In a similar manner, an abstract role in the MIBIS
universe is instantiated by autonomous component agents as shown in Figure 2. The
component agent is modeled as a system entity that is capable of sensing its environment
and acting autonomously to meet its design objectives [58]. Axioms 15 and 16 describe the
conceptualization of the relationship between a role and an agent.
Axiom 15: Every agent in MIBIS must play a role and every role must be played by at least
one agent.
((∀a
gi
(
(
)
)
∈ AG )(∃ri ∈ R ) plays (a gi , ri )) ∧ (∀ri ∈ R ) ∃≥1a gi ∈ AG plays (a gi , ri )
29
………. C 19
Axiom 16: A goal of a role is accomplished by an agent playing the role.
accomplish( a g , g ) → (∃r )(∃g )((assigned _ goal ( r , g ) ) ∧ ( plays _ role (a g , r ))) … C 20
5
CONCLUSION
The concept of Agent is a powerful modeling metaphor for the conceptual
specification of Integrative Business Information Systems. While a typical IBIS can be
conceptualized using the notion of an IS work system, the lack of a global agreement on
what constitutes such a metaphor has led to a proliferation of IBIS architectures and the
ensuing problems of interoperability, integration and scalability, to name a few. On the
other hand, the notion of autonomous agent is well understood in both the MAS literature
and practice. Drawing upon the analogy between the two metaphors, we exploit the wellunderstood architectures and behaviors of agents and use it as a metaphor in modeling
IBIS. Using the Agent concept as a fundamental building block of IBIS architectures, we
develop the concept of MIBIS in this work. As a result, a common modeling grammar has
evolved from this research. This grammar can be used to model IBIS architectures in terms
of Agents or MAS architectures in terms of IS work systems. The concept of MIBIS basically
embodies these two and also requires a special-purpose conceptual-modeling grammar to
facilitate its analysis and design. In response, we have developed the MibML grammar for
the conceptual modeling of MIBIS systems. The MibML constructs are extracted from both
MAS and IBIS literatures, and are specified formally in BNF and first order predicate logic. A
proof-of-concept model has also been developed for an e-commerce application to illustrate
the application of MibML grammar and is available as a supplement to this paper.
The
MibML
grammar
provides
a
starting
point
for
ontology-driven
MIBIS
development. There are several future research directions to further this study. First, in
order to enhance the reuse of MIBIS domain specific knowledge, lower-level ontological
categories for the MibML foundation constructs need to be developed (e.g., an ontology of
MIBIS roles, an ontology of MIBIS goals, etc.). These initiatives could also imply a degree of
30
domain-specificity in MibML definitions and axioms. Second, extensions of the role construct
to incorporate hierarchical role structures that would capture non-autonomous behaviors
present significant areas for further research. Third, interactions in the current study are
limited to direct interactions between a pair of roles. In future work, interactions will be
extended to include those between more than two roles. Finally, knowledge in this study is
limited to deductive reasoning and it is possible to extend MibML to include other types of
knowledge and reasoning mechanisms, such as abductive, inductive, and case-based, etc.
31
6
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
M. Alavi and D. E. Leidner, "Knowledge management and knowledge management
systems: conceptual foundations and research issues," MIS Quarterly, vol. 25, no. 1,
pp. 107-136, 2001.
S. Alter, "A general, yet useful theory of information systems," Communications of
the Association for Information Systems, vol. 1, no. 13, pp. 1-70, 1999.
J. L. Austin, How to Do Things with Words. Oxford, UK: Clarendon, 1962.
A. Bajaj and S. Ram, "SEAM: a state-entity-activity-model for a well-defined
workflow development methodology," IEEE Transactions on Knowledge and Data
Engineering, vol. 14, no. 2, pp. 415-431, March/April 2002.
A. Basu and A. Kumar, "Research commentary: workflow management issues in ebusiness," Information Systems Research, vol. 13, no. 1, pp. 1-14, March 2002.
B. Bauer, J. P. Muller, and J. Odell, "Agent UML: A formalism for specifying
multiagent software systems," presented at the First International Workshop (AOSE2000), Berlin, Germany, 2000.
B. J. Biddle and E. J. Thomas, Role Theory: Concepts and Research: John Wiley &
Son, Inc, 1966.
A. H. Bond and L. Gasser, Readings in Distributed Artificial Intelligence. San Mateo,
CA: Morgan Kaufmann, 1988.
G. Booch, J. Rumbaugh, and I. Jacobson, The Unified Modeling Language User
Guide: Addison-Wesley, 1999.
F. M. T. Brazier, C. M. Jonker, and J. Treur, "Compositional design and reuse of a
generic agent model," Applied Artificial Intelligence Journal, vol. 14, no. 5, pp. 491538, 2000.
K. Chari and T. K. Sen, "An implementation of a graph-based modeling system for
structured modeling (GBMS/SM)," Decision Support Systems, vol. 22, no. 2, pp.
103-120, February 1998.
S. Conger, The New Software Engineering. California: Wadsworth Publishing
Company, 1994.
S. A. Deloach, M. F. Wood, and C. H. Sparkman, "Multiagent systems engineering,"
International Journal on Software Engineering and Knowledge Engineering, vol. 11,
no. 3, pp. 231-258, 2001.
J. L. G. Dietz, "DEMO: towards a discipline of organisation engineering," European
Journal of Operational Research, vol. 128, no. 2, pp. 351-363, 2001.
E. H. Durfee and V. R. Lesser, "Negotiating task decomposition and allocation using
partial global planning," in Distributed Artificial Intelligence, vol. 2, L. Gasser and M.
Huhns, Eds. San Francisco, CA: Morgan Kaufmann, 1989, pp. 229-244.
L. Fischer, "The Workflow Handbook 2001," Association with the Workflow
Management Coalition (WfMC), 2000.
M. S. Fox, M. Barbuceanu, M. Gruninger, and J. Lin, "An organization ontology for
enterprise modeling," in Simulating Organizations: Computational Models of
Institutions and Groups, M. Prietula, K. Carley, and L. Gasser, Eds. Menlo Park CA:
AAAI/MIT Press, 1998, pp. 131-152.
S. Franklin and A. Graesser, "Is it an agent, or just a program?: a taxonomy for
autonomous agents," presented at Third International Workshop on Agent Theories,
Architectures, and Languages, 1996.
J. Habermas, The Theory of Communicative Action, vol. I. Boston: Beacon Press,
1984.
G. Huber, "Organizational learning: the contributing processes and the literatures,"
Organization Science, vol. 2, no. 1, pp. 88-115, 1991.
32
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[28]
[29]
[30]
[31]
[32]
[33]
[34]
[35]
[36]
[37]
[38]
[39]
[40]
[41]
N. R. Jennings, "Coordination techniques for distributed artificial intelligence," in
Foundations of Distributed Artificial Intelligence, G. M. P. O'Hare and N. R. Jennings,
Eds. London: Wiley, 1996, pp. 187-210.
N. R. Jennings, "An agent-based approach for building complex software systems,"
Communications of the ACM, vol. 44, no. 4, pp. 35-41, 2001.
N. R. Jennings, P. Faratin, M. J. Johnson, T. J. Norman, P. O'Brien, and M. E.
Wiegand, "Agent-based business process management," International Journal of
Cooperative Information Systems, vol. 2 & 3, pp. 105-130, 1996.
N. R. Jennings, T. J. Norman, P. Faratin, P. O'Brien, and B. Odgers, "Autonomous
agents for business process management," Journal of Applied Artificial Intelligence,
vol. 14, no. 2, pp. 145--189, 2000.
R. Kishore, H. Zhang, and R. Ramesh, "Ontologies, frameworks, and systems: a
helix-spindle model for ontological engineering," Communications of the ACM, 2004.
M. Knapik and J. Johnson, Developing Intelligent Agents for Distributed Systems :
Exploring Architecture, Technologies, and Applications. New York: McGraw-Hill,
1998.
A. Kumar, "Dynamic routing and operational controls in workflow management,"
Management Science, vol. 45, no. 2, pp. 253-272, 1999.
A. Kumar, W. M. P. van der Aalst, and E. M. W. Verbeek, "Dynamic work distribution
in workflow management systems: how to balance quality and performance," Journal
of Management Information Systems, vol. 18, no. 3, pp. 157-193, Winter 2001-2002
2002.
J. Lee, K. Siau, and S. Hong, "Enterprise integration with ERP and EAI,"
Communications of the ACM, vol. 46, no. 2, pp. 54-60, 2003.
M. Lejter and T. Dean, "A framework for the development of multi-agent
architectures," IEEE Expert, vol. 11, no. 6, pp. 47-59, 1996.
D. S. Linthicum, Enterprise Application Integration. Boston, MA: Addison-Wesley,
1999.
T. W. Malone and K. Crowston, "The interdisciplinary study of coordination," ACM
Computing Surveys, vol. 26, no. 1, pp. 87-119, 1994.
T. W. Malone, K. Crowston, J. Lee, B. Pentland, C. Dellarocas, G. Wyner, J. Quimby,
C. S. Osborn, A. Bernstein, G. Herman, and M. Klein, "Tools for inventing
organizations: Toward a handbook or organizational processes," Management
Science, vol. 45, no. 3, pp. 425-443, 1999.
M. Marcotty and H. Ledgrad, "The World of programming Languages." Berlin:
Springer-Verlag, 1986, pp. 41-47.
R. Medina-Mora, T. Winograd, and P. Flores, "Action workflow as the enterprise
integration technology," Bulletin of the Technical Committee on Data Engineering,
vol. 16, no. 2, pp. 49-52, 1993.
I. Nonaka, "A dynamic theory of organizational knowledge creation," Organization
Science, vol. 5, no. 1, pp. 14-37, February 1994 1994.
H. Nwana, L. Lee, and N. Jennings, "Coordination in software agent systems," BT
Technology Journal, vol. 14, no. 4, pp. 79-88, 1996.
J. Odell, "Objects and agents compared," Journal of Object Technology, vol. 1, no. 1,
pp. 41-53, 2002.
J. Y. C. Pan and J. M. Tenenbaum, "An intelligent agent framework for enterprise
integration," IEEE Transactions on Systems, man, and cybernetics, vol. 21, no. 6,
pp. 1391-1991, 1991.
M. P. Papazoglou and W.-J. v. d. Heuvel, "From business processes to cooperative
information systems: an information agents perspective," in Intelligent Information
Agents, M. Klusch, Ed.: Springer, 1999.
J. L. Peterson, Petri Net Theory and the Modeling of Systems. Englewood Cliffs, NJ:
Prentice-Hall, Inc., 1981.
33
[42]
[43]
[44]
[45]
[46]
[47]
[48]
[49]
[50]
[51]
[52]
[53]
[54]
[55]
[56]
[57]
[58]
[59]
[60]
S. Russell and P.-. Norvig, Artificial Intelligence: A Modern Approach, Second Edition
ed. Upper Saddle River, NJ: Prentice Hall, 2003.
A.-W. Scheer, ARIS-Business Process Modeling. Berlin: Springer, 1999.
J. R. Searle, Speech Acts: An Essay in the Philosophy of Language: Cambridge
University Press, 1969.
R. Sikora and M. J. Shaw, "A multi-agent framework for the coordination and
integration of information systems," Management Science, vol. 44, no. 11, pp. 65 78, November 1998.
V. Sugumaran, M. Tanniru, and V. C. Storey, "Supporting reuse in systems analysis,"
Communications of the ACM, vol. 43, no. 11es, pp. 312-322, November 2000 2000.
J. Tillquist, J. L. King, and C. Woo, "A representational scheme for analyzing
information technology and organizational dependency," MIS Quarterly, vol. 26, no.
2, pp. 91-118, June 2002 2002.
V. K. Vaishnavi, G. C. Buchanan, and W. L. K. Jr, "A data/knowledge paradigm for
the modeling and design of operations support systems," IEEE Transactions on
Knowledge and Data Engineering, vol. 9, no. 2, pp. 275-291, March-Aprial 1997.
W. M. P. van der Aalst and K. Akhil, "XML-based schema definition for support of
interorganizational workflow," Information Systems Research, vol. 14, no. 1, pp. 2346, 2003.
W. M. P. van der Aalst and A. Kumar, "A reference model for team-enabled workflow
management systems," Data & Knowledge Engineering, vol. 38, no. 3, pp. 335-363,
2001.
J. Verschueren, The analysis of speech act verbs: theoretical preliminaries.
Bloomington, Indiana: Indiana University Linguistic Club, 1977.
J. Verschueren, On speech act verbs. Amsterdam: John Benjamins, 1980.
P. Vitharana, F. M. Zahedi, and H. Jain, "Knowledge-based repository scheme for
storing and retrieving business components: a theoretical design and an empirical
analysis," IEEE Transactions on Software Engineering, vol. 29, no. 7, pp. 649-664,
July 2003.
Y. Wand and R. Weber, "Research commentary: information systems and conceptual
modeling - a research agenda," Information Systems Research, vol. 13, no. 4, pp.
363-376, 2002.
H. Weigand and W.-J. v. d. Heuvel, "Cross-organizational workflow integration using
contracts," Decision Support Systems, vol. 33, pp. 247-265, 2002.
T. Winograd, "A language/action perspective on the design of cooperative work,"
Journal Of Human-Computer Interaction, vol. 3, no. 1, pp. 3-30, 1987-88.
M. Wooldridge, An Introduction to Multiagent Systems. West Sussex, England: John
Wiley & Sons, Ltd, 2002.
M. Wooldridge and N. R. Jennings, "Intelligent agents: theory and practice,"
Knowledge Engineering Review, vol. 10, no. 2, pp. 115-152, 1995.
M. Wooldridge, N. R. Jennings, and D. Kinny, "The Gaia methodology for agentoriented analysis and design," Autonomous Agents and Multi-Agent Systems, vol. 3,
no. 3, pp. 285 - 312, 2000.
E. Yu and J. Mylopoulos, "Why goal-oriented requirements engineering," presented at
4th International Workshop on Requirements Engineering: Foundations of Software
Quality, Pisa, Italy, 1998.
34
7
SUPPLEMENTAL MATERIAL: PROOF-OF-CONCEPT ILLUSTRATION
This supplemental material provides a simple but comprehensive example to
illustrate the application of the MibML grammar in modeling a MIBIS application. In the
example, we consider a fictitious online retailer that sells computer products, software, and
electronics to consumers. The goal of the particular MIBIS application is to support sales of
made-to-order personal computers. We model the key features of this scenario using MibML
so that the essential concepts of the MibML modeling grammar can be illustrated without
getting bogged down with trivial details about the business scenario and the application. We
simplify the business processes of made-to-order PC sales and put our focus on describing
how the MibML constructs are applied to model this MIBIS application.
The business processes involves actors in the following areas: the customer service
area deals with customers, the PC assembly planning area plans the assembly of PCs
according to customers’ requirements, and the delivery area is responsible for delivering
assembled PCs to customers. These three areas work independently but coordinate with
each other to provide services to customers. The scenario begins with a customer trying to
buy a new PC with his/her own hardware and software options. After the customer finalizes
a computer configuration, the customer service area generates a price quote for the
customer. If the customer decides to place an order, the customer service collects customer
information and sets up an account for him/her if this is his/her first order. Based on
customer’s credit, the customer service area decides whether to reject the order or to
approve the order and propose financing options. If an order is approved, the PC assembly
planning area checks inventory for necessary parts to assemble the PC. If some required
parts are not available, the PC assembly area contacts suppliers and decides where to
order5. The PC assembly planning area also estimates the time needed to assemble the PC
5
Generally inventory planning and procurement from suppliers is done based on demand forecasts
but we are not modeling this function in this simple illustration.
35
and updates the PC assembly status. After the PC is assembled, the delivery area schedules
the shipment. The responsibilities of the delivery area include determining the method of
delivery, packaging the assembled PC, estimating the delivery date, scheduling the pick-up
of the assembled PC by a shipping company, and updating the shipment status. We only
consider some of the delivery area responsibilities in this example as we wish to keep the
illustration comprehensive yet simple. Further, while a real application will have to handle
several more functions and exception conditions, selecting an appropriate supplier,
additional information requested for credit processing, etc., we do not include them in the
example discussed below as they will be modeled in a similar manner as other situations
and conditions will be modeled, and we wish to keep the illustration to a manageable
length.
In order to model the above application, we first need to identify user requirements.
In the MibML grammar, the user requirements are captured as goals which are organized in
a tree structure. The goal tree for this particular application is very simple and is
constructed as in Figure 3. We have an overall goal G1 to provide made-to-order PC service.
G1 is decomposed into sub-level goals: G1.1 to manage customers and their orders, G1.2 to
plan PC assembly, and G1.3 to schedule PC delivery. These sub-level goals are mutually
exclusive and collectively exhaustive. Therefore, G1 is accomplished only when G1.1, G1.2,
and G1.3 are all accomplished.
36
Figure 3: The goal tree for the online PC made-to-order system
In Figure 3, we have three individual goals, which form a goal set {G1.1, G1.2,
G1.3}. In MibML, each individual goal is assigned to a unique role and each individual role is
associated with a unique goal. Therefore, these individual goals are assigned to 3 distinct
roles – customer service representative, assembly planner, and delivery manager. In
addition, a special coordinator role is required in MibML to ensure the accomplishment of all
individual goals. Because the coordinator role does not affect business process modeling, we
do not discuss the coordinator role in this example. The bijective mapping between goals
and roles are described in Table 6.
Table 6: The bijective mapping between goals and roles
Goal
Role
G1.1 to manage customers and their orders
R1 Customer service representative
G1.2 to plan PC assembly
G1.3 to schedule PC delivery
R2 Assembly planner
R3 Delivery manager
Role is the central construct in MibML for modeling the MIBIS universe. A MIBIS
conceptual model provides definitions of roles and defines how roles interact. Figure 4
presents the conceptual model developed in MibML for the made-to-order PC service
application. As indicated in Figure 4, a role is an abstraction of goal, activities (tasks and
37
interactions), knowledge, and information privileges. Role R1 Customer Service
Representative is responsible for interacting with customers. Therefore, there are
information flows between role R1 and customers. Customers need to pass their selected PC
configuration and order request to role R1, and role R1 returns price quote, order
processing results, financing options, or order status. The tasks of role R1 include
generating price quote for customers’ request, managing account, checking credits, and
processing order. These tasks require information and knowledge as inputs and generate
outputs. For example, in order to generate price quote, role R1 must be able to read
information entity Inventory to get cost information. Therefore, there are information flows
between role R1 and information entities Customer, Order, and Inventory6.
Correspondingly, role R1 has information privileges to fully control (create, read, update,
and delete) information entity Customer and Order, and to read information entity
Inventory. In addition, role R1 must have knowledge on pricing policy, financing options,
and decision policies to reject or approve an order. Further, when a customer places an
order, role R1 interacts with role R2 Assembly Planner to notify that an order has been
received for assembly and delivery of a PC. Role R2 Assembly Planner is responsible for
planning PC assembly after receiving order notification from role R1 Customer Service
Representative. Its tasks include scheduling assembly, checking if the necessary parts are
available, and placing orders with suppliers if the parts are out of stock. In order to perform
these tasks, role R2 needs to access information entity Inventory and Order. This is
represented as information flows between role R2 and information entities. Role R2 is
assigned information privileges as required by its tasks. It has full control on Inventory, and
read privilege on Order and update privilege on the order assembly status. In order to
perform its tasks, role R2 also need to possess knowledge about part suppliers and
knowledge on estimating assembling time. Knowledge about part suppliers can also be
6
Once again to keep the example to a manageable length, we model essential information about PC
parts and quantities available in a single information entity Inventory. In real-life applications, these
may be modeled as two or more separate information entities.
38
modeled as an information entity in this example. However, we choose to model knowledge
about parts suppliers as knowledge and not as an information entity because this
information is private to the role, i.e., it is not required by other roles, and hence there is
not need to model it is a shared information entity7. When PC assembly is complete, role R2
sends a notification to role R3 Delivery Manager. This is represented as an interaction
between role R2 and R3. When receiving the PC ready notification, role R3 Delivery Manager
schedules PC delivery. Information required for performing this task is Order, and it is
represented as information flow between role R3 and information entity Order.
Correspondingly, role R3 is able to read information entity Order and to update the order
shipment status. In addition, role R3 possesses knowledge to determine whether PC
delivery should be batch delivery or individual delivery.
Figure 4 provides a high-level conceptual model for describing the made-to-order PC
service application. In the rest of the paper, we discuss individual MibML constructs involved
in the model.
7
While the MibML grammar does not provide explicit guidelines for modeling something as knowledge
versus information entity or vice versa, knowledge is private to a role whereas information entities
are repositories of shared information. Therefore, unique pieces of information that are only used by
a particular can be modeled as declarative knowledge by way of facts and rules.
39
Figure 4: The conceptual model of the made-to-order PC service application
A task is an internal activity performed by a role. In MibML, a high-level task can be
refined by decomposition and specialization. Figure 5 shows an example of task
40
decomposition and specialization. Figure 3(a) depicts that a high-level task of Assembly
Planner T2 Order Inventory consists of two parts: T2.2 Check Inventory and T2.3 Order
Parts. T2.2 and T2.3 are mutually exclusive and collectively exhaustive, and T2 is
accomplished only when both T2.2 and T2.3 are accomplished. Figure 3(b) depicts that a
task of Delivery Manager T3.1 Schedule Delivery has two subtypes: T3.1.1 Schedule Batch
Delivery and T3.1.2 Schedule Individual Delivery. Both T3.1.1 and T3.1.2 inherit properties
from T3.1, but they may override inherited properties.
Figure 5: Task decomposition and specialization
Task in MibML is specified by input, output, and method in addition to the common
attributes for all MibML constructs. Due to space limitations, we only include task
specifications for role R1 Customer Service Representative. The detail specifications are
presented in Table 7 - Table 10.
41
Table 7: Specification of task “Generate quote”
Task
Identifier
T1.1
Name
Generate quote
Description
Input
Generate the price quote for the pc configuration selected by customer
INF12 Inventory (component cost)
KF1.1 PC base price
KF1.2 Discount threshold
Output
KF1.3 PC final price
INF3 price quote
Method
Do for each customer
Generate price based on component cost and pricing policy
Enddo
Table 8: Specification of task “Manage account”
Task
Identifier
T1.2
Name
Description
Manage account
Set up an account for new customer and update customer information
Input
INF1 customer information
Output
Method
INF8 customer
If new customer
set up a new account
Endif
If existing customer
authenticate customer
Endif
If customer changes information
update customer information
Endif
Table 9: Specification of task “Manage account”
Task
Identifier
T1.3
Name
Check credit
Description
Check customer’s credit
Input
INF10 Customer
INF11 Credit
Output
INF8 Customer
INF9 Credit
Method
Check internal credit records of customer
If no internal credit records exist
Check customer’s credit with credit card company
Endif
42
Table 10: Specification of task “Process order”
Task
Identifier
T1.4
Name
Process order
Description
Decide whether to accept or reject order, create order for customer, propose
financing options, and update order status
Input
INF3 Order request
INF11 Credit
KF1.4 Credit ranking score
KD1.2 Order rejection/approval policy
KD1.3 Financing rule
Output
INF5 Order rejection / approval
INF6 Financing options
INF14 Order
INF7 Order status
Method
Approve or reject order
If order approved
Create order
Propose financing options
Endif
If order rejected
Notify customer of the rejection
Endif
An interaction is an activity that occurs between two roles. Figure 4 shows two
interactions existing in the application. Interaction I1_2 is an interaction initiated by
Customer Service Representative to notify Assembly Planner that an order is ready to be
assembled; I2_3 an interaction initiated by Assembly Planner to notify Delivery Manager
that a PC ordered by customer has been assembled and is ready to be shipped. In MibML,
an interaction is specified by initiator, responder, speech acts, and message content in
addition to common attributes defined for all MibML constructs. Table 11 provides the detail
specifications of interaction I1_2 Order Notification. Table 12 provides the detail
specifications of interaction I2_3 Assembly Completion Notification.
43
Table 11: Specification of the interaction “Order notification”
Interaction
Identifier
Name
I1_2
Order notification
Description
Customer Service Representative notifies Assembly Planner that an
order is ready to be assembled
Initiator role
R1 Customer service representative
Responder role
R2 Assembly planner
Initiator speech act
Initiator message
Assertion
A specific order is ready to be assembled
Responder speech act
Acceptance
Responder message
Notification is confirmed
Table 12: Specification of the interaction “Assembly complete notification”
Interaction
Identifier
I2_3
Name
Assembly completion notification
Description
Assembly Planner notifies Delivery Manager that a PC ordered by a
customer is ready to be shipped
Initiator role
Assembly planner
Responder role
Initiator speech act
Delivery manager
Assertion
Initiator message
The PC in a specific order is ready to be shipped
Responder speech act
Responder message
Acceptance
Notification is confirmed
Information in MibML includes information entities and information flows. Information
entities represent stable data in the system. Figure 4 indicates that our application includes
3 information entities: INE1 Customer, INE2 Order and INE3 Inventory. The specifications of
information entities in MibML are not different from those in traditional data model.
Attributes are used to keep data that system analysts are interested in. Table 13 provides a
detail specification of information entity inventory.
44
Table 13: Specification of information entity “Customer”
Information entity
Identifier
INF1
Name
Customer
Description
Attributes
Customer information and his/her credit status
Customer number, Name, address, phone, internal credit ranking
Table 14: Specification of information entity “Order”
Information entity
Identifier
Name
INF2
Order
Description
Order information
Attributes
Order number, order date, PC configuration, order status, price
Table 15: Specification of information entity “Inventory”
Information entity
Identifier
INF3
Name
Description
Inventory
Inventory information of pc components
Attributes
Part name, model, serial number, cost, quantity available, suppliers
Information flows are temporary data transmitted between external entities and
roles within the systems or between roles and information entities within the MIBIS system.
In MibML, it is specified by flow source, flow sink, flow frequency, flow response time, and
flow data. Figure 4 indicates there are 20 information flows involved in the application. We
do not intend to specify all of them due to space limitation. Table 16 is the specification of
information flow Customer Information, which is an example of information flows between
an external entity and a role. Table 17 is the specification of information flow Credit, which
is an example of information flows between a role and an information entity.
Table 16: Specification of information flow INF1 Customer Information
Information Flow
Identifier
INF1
Name
Customer information
Description
Basic customer information to set up an account
Flow source
External entity Customer
45
Flow sink
R1 Customer service representative
Flow frequency
When a customer account is set up for the first time or when there are changes
to existing customer information
Flow response
time
Synchronous
Flow data
Name, address, phone
Table 17: Specification of information INF9 Credit
Information Flow
Identifier
INF9
Name
Credit
Description
Update customer’s credit information
Flow source
Flow sink
R1 Customer service representative
INE1 Customer
Flow frequency
When there are changes to customer’s credit information
Flow response
time
Synchronous
Flow data
Customer’s credit ranking
Knowledge in MibML is private to a role. It includes declarative knowledge and
procedural knowledge. Declarative knowledge is a role’s beliefs about the environment and
other roles. Declarative knowledge is specified in MibML using facts and deduction rules.
Declarative knowledge, like information, is used as inputs or generated as outputs of tasks.
Procedural knowledge describes the constraints on performing activities (tasks and
interactions). It is specified as activity execution structure and activity execution
constraints. Activity execution structure is represented a sequence of tasks inside a role.
Activity execution constraints are defined as a set of events that are used to coordinate
tasks among different roles. Table 18 provides specifications of knowledge for Customer
Service Representative. Table 18 indicates that Customer Service Representative possesses
3 facts (KF1.1, KF1.2, and KF1.3) and 3 deduction rules (KD1.4, KD1.5, and KD1.6). In
MibML, a deduction rule uses at least two existing facts or information flows to generate a
new fact or information flow. For example, deduction rule KD1.1 uses an existing KF1.1 fact
and an existing KF1.2 fact to generate a new KF1.3 fact; and deduction rule KD1.2 uses an
existing information flow of INF11 and an existing K1.3 fact to generate a new information
46
flow of INF5. Table 18 also specifies procedural knowledge (KT1.1 and KX1.1) for Customer
Service Representative. Activity execution structure KT1.1 specifies the order to execute the
internal tasks (T1.1, T1.2, T1.3, and T1.4) and the interactions (I1_2). Activity execution
constraint KX1.1 specifies task-triggering events that are used to coordinate Customer
Service Representative with other roles. Similarly, Table 19 and Table 20 specify the
knowledge of Assembly Planner and Delivery Manager.
Table 18: Specification of knowledge of “Customer Service Representative”
Knowledge
Identifier
Name
K1
Customer Service Representative Knowledge
Description
Knowledge on pricing, credit ranking, financing, order rejection/approval
policy, and constraints on performing tasks
Facts
KF1.1 PC base price
PC base price = Cost x (1+10%)
KF1.2 Discount threshold
KF1.3 PC final price
PC final price = PC base price x (1-discount percentage)
KF1.4 Credit ranking score
High ranking score and low ranking score
Deduction rules
KD1.1 Discount policy
If the base price of an order (KF1.1) is more than the discount
threshold (KF1.2), the customer gets 5% discount (K1.3).
KD1.2 Order rejection/approval policy
If customer has credit ranking (INF11) less than the low ranking
score (K1.3), reject the order (INF5). Otherwise, accept the order
(INF5).
KD1.3 Financing rule
If customer has credit ranking (INF11) greater than the high
Ranking score (K1.4), propose financing options (INF6).
Declarative Knowledge
Procedural Knowledge
Execution structure
KT1.1 Activity execution structure
•
T1.1 generate quote and T1.2 manage account precede T1.3
check credit.
•
T1.3 check credit precedes T1.4 process order.
•
T1.4 process order precedes I1_2 order notification.
Execution constraints
KX1.1 Activity execution constraints
•
T1.1 generate quote is triggered by receiving customer’s quote
request.
•
T1.2 management account is triggered by receiving customer’s
order request.
47
Table 19: Specification of knowledge of Assembly Planner
Knowledge
Identifier
K2
Name
Assembly Planner Knowledge
Description
Knowledge on suppliers, assembly time, and constraints on performing
tasks
Declarative Knowledge
Facts
KF2.1 suppliers
•
Supplier A provides high quality parts.
•
Supplier B is less expensive.
KF2.2 Supplier selection
KF2.3 Assembly time
Deduction rules
KD2.1 Supplier selection
If high quality components are needed (INF18 and KF2.1), select
Supplier A (KF2.2); otherwise, select Supplier B (K2.2).
KD2.2 Assembly time estimation
If all parts are available (INF16 and INF 18), it takes average 1
week to assemble PC (KF2.2). Otherwise, it takes average 2 weeks
(KF2.2).
Procedural Knowledge
Execution structure
KT2.1 Activity execution structure
•
T2.2 check inventory precedes T2.3 order parts
•
T2.2 check inventory precedes T2.1 schedule assembly
•
T2.1 schedule assembly precedes I2_3 assembly completion
notification
Execution constraints
KX2.1 Activity execution constraints
•
T2.2 check inventory is triggered by I1_2 order notification
Table 20: Specification of knowledge of Delivery Manager
Knowledge
Identifier
K3
Name
Delivery Manager Knowledge
Description
Knowledge on delivery as well as constraints on performing tasks.
Facts
KF3.1 Delivery time
KF3.2 Delivery types
Local delivery and long distance delivery
KF3.3 Delivery methods
Individual delivery and batch delivery
Deduction rules
KD3.1 Delivery policy
If an order (INF19) is a local delivery (KF3.2), it delivered
individually (INF20). Otherwise, it is delivered in batches (INF20).
KD3.2 Delivery time estimation
If an order (INF19) is a local delivery (KF3.2), it takes 2-3 days
(KF3.1); otherwise, it takes average 7 days (KF3.1).
Declarative Knowledge
Procedural Knowledge
Execution structure
None
Execution constraints
KX3.3 Activity execution constraints
•
T3.1 schedule delivery is triggered by I2_3 assembly completion
notification
48
A role is an integration of goal, tasks, interaction, knowledge, and information
privilege. With the above constructs defined, it is easy to specify roles in the system. Table
21 - Table 23 provides specifications for role Customer Service Representative, Assembly
Planner, and Delivery Manager respectively.
Table 21: Specification of role Customer Service Representative
Role
Identifier
R1
Name
Customer service representative
Description
A customer service representative interacts with customer, and is
responsible for generating price quote, manage customer account, and
process order.
Goal
Interactions
G1.1 To manage customers and their orders
I2_3 Order notification
Tasks
T1.1
T1.2
T1.3
T1.4
Information permissions
•
•
•
Knowledge
Declarative Knowledge
KF1.1 PC base price
KF1.2 Discount threshold
KF1.3 PC final price
KF1.4 Credit ranking score
KD1.1 Discount policy
KD1.2 Order rejection/approval policy
KD1.3 Financing rule
Procedural Knowledge
KT1.1 Activity execution structure
KX1.1 Activity execution constraints
generate quote
manage account
check credit
process order
Full control on INE1 Customer
Full control on INE2 Order
Read INE3 Inventory
Table 22: Specification of role Assembly Planner
Role
Identifier
R2
Name
Assembly planner
Description
Goal
Plan PC assembly
G1.2 To plan PC assembly
• I1_2 Order notification
• I2_3 Assembly completion notification
Interactions
Tasks
T2.1 schedule assembly
T2.2 check inventory
T2.3 order parts
Information permissions
•
•
Full control on INE3 Inventory
Read INE2 Order
49
•
Knowledge
Update INE2 Order – assembly status
Declarative Knowledge
KF2.1 suppliers
KF2.2 Supplier selection
KF2.3 Assembly time
KD2.1 Supplier selection
KD2.2 Assembly time estimation
Procedural Knowledge
KT2.1 Activity execution structure
KX2.1 Activity execution constraints
Table 23: Specification of role Delivery Manager
Role
Identifier
R3
Name
Description
Delivery manager
Manage inventory and schedule delivery
Goal
G1.3 To manage delivery
Interactions
Tasks
• I2_3 Assembly completion notification
T3.1 schedule delivery
Information permissions
•
•
Knowledge
Declarative Knowledge
KF3.1 Delivery time
KF3.2 Delivery types
KF3.3 Delivery methods
KD3.1 Delivery policy
KD3.2 Delivery time estimation
Procedural Knowledge
KX3.1 Activity execution constraints
Read INE2 Order
Update INE2 Order – shipment status
Agents in MibML are instantiation of roles. There is one-to-one mapping between
roles and agent types. Table 24 provides mapping between roles and agents in our
application.
Table 24: Mapping between roles and agents
Role
Agent
R1 Customer service representative
R2 Assembly planner
A1 Customer service representative agent
A2 Assembly planner agent
R3 Delivery manager
A3 Delivery manager agent
50
Download