Intelligent Agent Based Mapping of Software Requirement Specification to Design Model 631
population. This fits well, with “Design for the bottom
90% people”. Automation is one of the key ways to
minimize the software cost [1].
Many researchers have been working on automating
various parts of the software engineering including soft-
ware development process. e.g. to help architectural
design, and various models have been proposed like
Structural Models, Framework Models, Dynamic Models,
Process Models and Functional Models ([2-5]). A
number of different Architectural Description Languages
(ADLs) have been developed to represent these models
([6,7]). Similarly, to help requirement modeling, various
languages have been developed e.g. Requirement Model-
ing Language, RML ([8,9]). However, we could not find
any citation regarding automatically mapping a Require-
ment Model to a Design Model. A few somewhat related
researches are covered in ([10,11]).
In this paper, we present an Intelligent Agent (IA)
based automated method to map Requirement Model to a
Design Model. It is called IRTDM (Intelligent Agent
based requirement model to design model mapping). The
IA uses Artificial Intelligence (AI), semantic represen-
tation using Ontology or Predicate Logic, Design Struc-
tures (DS) using some well known design framework and
Machine Learning algorithms for learning over time. We
specifically focus on mapping Requirement Model to
Architecture. Mapping to other key software areas/steps
(e.g. converting the arch itecture into op erational software)
is also possible using similar approach but not cov ered in
this paper.
Section 2 provides a brief high level overview of
IRTDM (Intelligent Agent based requirement model to
design model mapping). Section 3 describes the basics of
the Flow-Oriented Requirement modeling to Data-Flow
architecture mapping method as done by experienced
designers. Section 4 describes an automated version of
Section 3 using Natural Language Processing/Under-
standing, Artificial Intelligence and an Intelligent Agent.
Section 5 describes the Architecture and Algorithms for
more general and versatile Intelligent Agent. It also
briefly discusses how to apply the concept for other types
of mapping, Section 6 describes future work and Section
7 provides conclusions.
2. High Level Overview of IRTDM
There is a good correspondence between requirement
model and design model (Figure 1). Various parts of the
Requirement Model have corresponding mapped parts in
the design model. E.g. class-based elements map to data/
class, architecture and component design parts in the
design model. In fact, designers use such basic mapping
as a basis to come up with an architecture. Designers also
use various levels of architectural abstractions (e.g. Ar-
chitectural Genre, Architectural Styles, Archetypes) to
come up with the structure showing key blocks or com-
ponents. Our main theme is to use designers approach to
come up with an automated approach. It is important to
note that for some cases there is no practical mapping
from requirement model to some architectural styles. But
for many cases such mapping exists. A good example is
mapping Flow-Oriented Requirement modeling to Data-
Flow architecture style. Since enough abstractions al-
ready exist and the manual method is understood rea-
sonably well, we can convert the same into appropriate
steps that can be done by an Intelligen t Agent (IA) i.e. IA
in IRTDM. First we discuss a simple IA to automati-
cally handle Flow-Oriented Requirement modeling to
Data-Flow architecture. Then we discuss more general
IA.
The key issues a general IA needs to address are:
1) Use of proper rules in doing the mapping.
2) Use of semantics to ensure correct mapping.
3) Use of appropriate rules and semantics to help map/
transform one architectural style to another (e.g. Data-
flow architecture to Layered architecture).
4) Use of Learning to improve the outcome.
5) Use of Verification to ensure correctness.
6) Help Ensure that Implementation (coding) can also
be automated in a similar way.
7) Other key issues as appropriate (e.g. refactoring,
generating test vectors and performing basic tests).
3. Flow-Oriented Requirement Modeling to
Data-Flow Architecture Mapping
A mapping technique called Structured Design (SD) is
often characterized as a data flow-oriented design me-
thod [10] as it provides a convenient transition from a
data flow diagram (DFD) to software architecture. Such
transformation involves the following 6 steps:
a) The type of data (information) flow is established.
b) Flow boundaries are determin ed.
c) The DFD is mapped into the program structure.
d) Control hierarchy is defined.
e) Resultant structure is refined using design measures
and heuristics, and
f) The architectural description is refined and elabora-
ted.
In order to design optimal module structure and inter-
faces two principles are crucial [12]:
Cohesion which is “concerned with the grouping of
functionally related processes into a particular mo-
dule” and
Coupling relates to “the flow of information, or para-
meters, passed between modules. Optimal coupling
reduces the interfaces of modules, and the resulting
complexity of the software”.
Open Access JSEA