QUT Role of Knowledge Modelling Techniques in Software Development Presentation Your report should be limited to approx. 1500 words (not including referenc

QUT Role of Knowledge Modelling Techniques in Software Development Presentation Your report should be limited to approx. 1500 words (not including references). Use 1.5 spacing

with a 12-point Times New Roman font. Though your paper will largely be based on the chosen

Don't use plagiarized sources. Get Your Custom Essay on
QUT Role of Knowledge Modelling Techniques in Software Development Presentation Your report should be limited to approx. 1500 words (not including referenc
For $10/Page 0nly
Order Essay

article, you can use other sources to support your discussion. Citation of sources is mandatory

and must be in the Harvard style.

Your report or critique must include:

Title Page: The title of the assessment, the name of the paper you are reviewing and its authors,

and your name and student ID.

Introduction: A statement of the purpose for your report and a brief outline of how you will

discuss the selected article (one or two paragraphs). Make sure to identify the article being

reviewed.

Body of Report: Describe the intention and content of the article. If it is a research report, discuss

the research method (survey, case study, observation, experiment, or other method) and

findings. Comment on problems or issues highlighted by the authors. Discuss the conclusions of

the article and how they are relevant to what you are studying this semester.

Conclusion: A summary of the points you have made in the body of the paper. The conclusion

should not introduce any ‘new’ material that was not discussed in the body of the paper. (One or

two paragraphs)

References: A list of sources used in your text. They should be listed alphabetically by (first)

author’s family name. Follow the Harvard style.

The footer must include your name, student ID, and page number See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/222680552
The role of knowledge modelling techniques in software development: a
general approach based on a knowledge management tool
Article in International Journal of Human-Computer Studies · March 2000
DOI: 10.1006/ijhc.1999.0232 · Source: DBLP
CITATIONS
READS
40
83
2 authors, including:
Martin Molina
Universidad Politécnica de Madrid
92 PUBLICATIONS 867 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
The KSM environment for knowledge modeling View project
Modeling commercial knowledge View project
All content following this page was uploaded by Martin Molina on 05 March 2020.
The user has requested enhancement of the downloaded file.
The Role of Knowledge Modeling Techniques
in Software Development:
A General Approach Based on a Knowledge Management Tool
Jose Cuena and Martin Molina
Department of Artificial Intelligence, Technical University of Madrid
Campus de Montegancedo s/n, Boadilla del Monte, 28660-Madrid (SPAIN)
{jcuena,mmolina}@dia.fi.upm.es
http://www.dia.fi.upm.es
This version corresponds to a preprint
of the actual paper published in:
International Journal of Human and Computer Studies,
(2000) 52, 385-421
1
Abstract. The aim of the paper is to discuss the use of knowledge models to formulate
general applications. First, the paper presents the recent evolution of the software field where
increasing attention is paid to conceptual modeling. Then, the current state of knowledge
modeling techniques is described where increased reliability is available through the modern
knowledge acquisition techniques and supporting tools. The KSM (Knowledge Structure
Manager) tool is described next. First, the concept of knowledge area is introduced as a
building block where methods to perform a collection of tasks are included together with the
bodies of knowledge providing the basic methods to perform the basic tasks. Then, the
CONCEL language to define vocabularies of domains and the LINK language for methods
formulation are introduced. Finally, the object oriented implementation of a knowledge area
is described and a general methodology for application design and maintenance supported by
KSM is proposed. To illustrate the concepts and methods, an example of system for
intelligent traffic management in a road network is described. This example is followed by a
proposal of generalization for reuse of the resulting architecture. Finally, some concluding
comments are proposed about the feasibility of using the knowledge modeling tools and
methods for general application design.
1. INTRODUCTION
The use of knowledge based systems has been limited to an area of very specific applications
where special methodologies and tools are used (different from the techniques applied for
software engineering) oriented to model, according to different conventions of knowledge
representation, the expertise in several commercially relevant fields. The Software
Engineering field has been mainly focused in information systems development improving
the reliability and efficiency of data services. However, the current users of these services are
2
being increasingly interested in deeper functions integrated in the information systems
supported by the knowledge related with the data conceptual domains.
The relationship between both approaches has been produced only in the area of knowledge
based support to software engineering tasks. Lowry, Duran, (1989) summarize this recent
evolution in two main trends: (1) improvement of automatic program synthesis techniques
aiming to transform in operative programs high level specifications using set theory and logic
such as the commercial system REFINE or the experimental system KIDS Smith (1988) built
on top of REFINE, and (2) broadening the automatic programming scope to the entire
software life cycle by building knowledge based assistants for acquiring validating and
maintaining specifications. These capacities have been embedded in CASE tools. However,
three circumstances are creating a different situation:
• The need for a more open architecture in applications to ensure an adequate humanmachine interaction according to the recent approaches for design that follow a usercentred view.
• The need of software reuse which requires an open structure: (1) to easily understand the
contents of any software component and (2) to be able of accepting changes in its contents
according to the specific needs of the application where the component is going to be
reused.
• The improvements on reliability and capacity of representation produced in the last ten
years in the field of knowledge representation and knowledge acquisition methods, giving
3
birth to a collection of mature technologies supported by experimental tools, yet, but
providing levels of services very close to the industrial requirements.
Therefore, now it is possible to formulate and to build an application by using directly the
knowledge modeling concepts supported by adequate tools instead of formulating the
application using information structuring concepts and data processing algorithms as in the
usual software environments. This is a very important feature because it approaches the
design phase to the conceptual specification phase, that usually in the traditional software
world are separated by a bigger gap and, hence, subject to more errors than the errors possible
between the conceptual model and the knowledge model which is closer to the conceptual
abstractions.
However, not many attempts have been produced by the AI community to produce something
like cognitive programming environments in an operational way where reasoning steps using
domain models are applicable to describe and to explain the answers of the application. AI
has to invade with practical views the area of applications. Although the paradigm modeling
efforts must continue as focus of research, an additional focus should be the advanced
modeling of complex applications using the available paradigms.
This paper aims precisely to propose a type of this structured knowledge model formulation
based on a tool oriented to support the design and implementation of general applications
using the knowledge engineering approach which means to understand the current
applications from a richer conceptual perspective. The interest of the paper is to provide some
initial results on the possibilities of this class of tools to be acceptable by the general
applications development community.
4
First, a summary of the actual requirements for software development is commented. Then,
the concept, the structure and the organization of the KSM (Knowledge Structure Manager)
tool is presented conceived to support and extend the state of the art in knowledge modeling
approach. Then, an application using KSM for real time emergency management is described
where practical comments are included. Finally, some general conclusions are proposed about
the role of the knowledge oriented approach in the context of Software Engineering by
evaluating the behavior of the model experimented with respect to the usual parameters and
criteria applied for software evaluation.
2. GOALS OF THE SOFTWARE DEVELOPMENT SUPPORT
The conventional software field has evolved after the first crisis of software at the end of the
sixties in terms of better human understanding models for applications and the supporting
programming languages. Thus, now, there exists as main well understood programming
paradigms the object oriented ones, based mostly in C++, Java and CLOS, and the logic
programming ones based on different versions of Prolog language based environments. The
methods for design of applications supporting the evolution of the formulation of concepts
from the human mind structure format to the computable format on some programming
paradigm have been formalized in structured life cycles where the different steps of
requirements analysis, design, implementation, test and maintenance are detailed in diverse
standard processes derived from the initial proposals of Yourdon, De Marco, Weinberg, etc.
now summarized in the methodologies Metrica, Merise, Ssadm, OMT, etc. Pressman (1992).
To support these life cycles, different CASE tools have been proposed guiding the design and
maintenance process of an application from the conceptual specifications to computable
5
models. Increasing attention is given to the research area of Requirements Engineering
aiming to the conceptual modeling via specifications of the underlying human understanding
of applications. Finally, reuse techniques based on these conceptual modeling approaches
have been established without not too innovative results yet with respect to the traditional
reuse of libraries of functions and libraries of classes supported by objects. At the current
state of the art any environment to support application design and development should
provide as main functions:
• Structuring and encapsulation facilities to ensure an adequate size of the different
components of the application and an understandable format to allow easy access to the
different component modules.
• Software sharing facilities to ensure that no function is formulated twice with the
corresponding inconsistency and redundancy risks for operation and maintenance.
• Software reuse potentiality to ensure the use of the already experimented existing
applications.
• Advanced Human Computer Interaction support, to ensure adequate and reliable user and
programmer contribution to maintenance and operation of the applications.
• An adequate level of efficiency in the operation for the needs of the user.
• Test and validation facilities.
6
The current state of knowledge modeling technology allows to contribute with quality enough
to the previous items by providing higher levels of conceptual modeling in consonance with
the growing trend in Requirements Engineering. In the following paragraphs a brief summary
of the knowledge modeling area is presented and an example of a product, summarizing state
of the art in knowledge acquisition, used for application development is described.
3.
GENERAL
VIEW
OF
THE
KNOWLEDGE
MODELING
METHODOLOGY
First generation knowledge-based systems provided a set of standard reasoning procedures
using declarative representations (such as rules, frames, etc.). The next generation of
knowledge-based systems abstracted from symbolic representational considerations the
design process and evolved to the paradigm of model-based system development, in which a
knowledge system is viewed as an operational model capable of simulating a certain observed
problem solving behaviour from an intelligent agent (e.g., a human expert in a certain
professional field). This view contrasts to the traditional approach where a knowledge system
was usually considered as a container to be filled with knowledge extracted from an expert.
The modelling process considers the existence of an abstract level where the knowledge can
be functionally described showing its role in the problem solving process, independently of a
particular representation. This level, proposed by Newell with the name of knowledge level
Newell (1982), allows to describe a knowledge model in terms of strategies of reasoning and
roles of knowledge types, abstracting away from how these are implemented by specific
symbolic representation formalisms. After some years of different proposals for knowledge
modeling at the knowledge level, the knowledge acquisition community agreed several key
7
concepts such as the generic task (proposed by Chandrasekaran (1983, 1986), also present
with some variants in the KADS model Wielinga et al. (1992) and in the model of
components of expertise Steels (1990)), the role limiting method McDermott (1988) and the
ontology concept Gruber (1993). According to these concepts we can distinguish two main
organization principles for structured knowledge based applications:
• The task oriented principle. A task is defined as a goal to be achieved (for instance
diagnosis of infectious diseases or design of the machinery of an elevator). It is described
with the type of inputs it gets and the type of outputs it produces. The main function of the
model is represented by a global task. This task is decomposed into simpler subtasks
developing a tree which shows the general structure of the model. A problem-solving
method (or method in short) defines a way in which the goal of a task can be achieved
through the execution of subtasks, so that when a method is associated to a task, the
method establishes how the task is divided into subtasks. Thus, a knowledge model can be
understood as a hierarchical composition of tasks where each task is carried out by a
problem-solving method. We may call this organizational principle the task-oriented
organization that makes emphasis in procedural knowledge given that it mainly shows
how to reason for solving problems integrating other, simpler, problem solver results.
• The domain oriented principle. On the other hand, the notion of ontology was defined to
describe explicit specifications of domain elements. An ontology is a declarative
description of the structure of a particular domain. The use of ontologies allows to more
easily reuse and share knowledge about certain domains to carry out different tasks. This
organizational principle makes more emphasis in declarative knowledge.
8
These principles need to be combined adequately in order to formulate a knowledge based
application. A reasonable approach to be followed in the design process is to start from the
collection of top-level tasks that describe the set of goals to be achieved by the application to
support an adequate conversation model between the user and the system. These top-level
tasks may be the basic types of answers required in such a conversation model. For each toplevel task, a hierarchical structure of task-method-domain may be used to show the way the
final task supports an answer type (Figure 1). Each hierarchy represents how each task is
carried out by a specific method, decomposing the task into simpler subtasks. Usually, the
hierarchy will present only one method associated to a task. However, in the near future,
when reusable libraries of problem-solving methods will be available, it could be more usual
to associate more than one method to a task, developing a more complex architecture (this
architecture could be named the problem solving medium). This means that the same task will
be able to be solved in different ways depending of certain dynamic characteristics (such as
the type of dialogue with the user, the context, etc.). At the bottom level of the hierarchy of
task-method-subtasks there is a collection of primary methods associated to primary tasks.
What is considered as a primary method is a design decision established by the developer.
Typically, primary methods correspond to methods that can be directly implemented at
symbolic level by simple problem-solving techniques (such as knowledge based techniques
like backward or forward chaining in rule-based representations, network-based
representations, constraint satisfaction methods, and also specific algorithmic solutions that
do not require a explicit representation of declarative knowledge).
The use of declarative knowledge by primary methods requires an ontological definition of
such a knowledge that is viewed as a set of domain models that support primary tasks.
Domain models can be formulated with two components: (1) a conceptual vocabulary where
9
a concept-attribute format organized in classes and instances may be used to establish the
basic language of the domain model, and (2) relations between these concepts described by
the corresponding declarative knowledge base (that at symbolic level will be formulated as
frames, constraints, rules, etc.). The same vocabulary and knowledge base of a domain model
may be used by several methods (showing cases where the same concepts play several roles)
and also a subtask can be part of different methods.
As an example of the previous ideas, consider a simplified generic model for decision support
for management of a dynamic system (e.g., a chemical plant, a traffic network, etc.) Cuena,
Hernández (1997). The goal of this decision support model is to help an operator in detecting
and diagnosing problems in the dynamic system, as well as to help in choosing appropriate
regulation actions to cope with the detected problems. Figure 2 shows a possible task-methoddomain structure for this case. Four classes of questions are considered in this model: what is
happening, why is it happening, what may happen if and what to do if. These questions
correspond to the four top level tasks: classification, diagnosis, prediction and configuration.
Each top-level task is carried out by a particular problem-solving method. For instance, the
diagnosis task is carried out by the method model-based diagnosis, which decomposes the
tasks into two simpler tasks: propose causes, filter causes. At the bottom level, there are
primary methods such as qualitative abstraction, pattern matching, instantiation, etc. Each
primary method uses a particular declarative model. For instance, the method causal covering
uses the declarative model causal model. Note that certain declarative models may be used by
several methods (e.g., in this example, the system structure model).
Thus, following this approach, a cognitive architecture is formulated as a collection of taskmethod-domain hierarchies for each of the basic questions to be answered through the user
10
interface of the system. However, in real applications, the experience shows that, sometimes,
too large descriptions can be produced by using this type of formulation. Thus, although the
conceptual description based on task-methods-domains is adequate for the analysis process, it
needs to be complemented and re-organized using additional modelling concepts for the final
design of the application. There are some reasons for this: (1) the task-method-domain
structure presents too much level of detail that increases the difficulties to understand and
maintain complex architectures and (2) the level of disaggregation of components can
produce software implementations with problems of efficiency.
Therefore, as it happens in the conventional software field, it is required to have a synthetic
view of an application at several levels of conceptual aggregation allowing easy
understanding and, hence, easy maintenance. This is an issue not too much considered by AI
research community who is mostly focused in the identification of innovative models and
paradigms but not so much in final tools supporting design and maintenance of applications.
This type of tools are more common in software engineering (e.g., CASE environments) that
support conventional methodologies (such as DDF, OMT, etc.) together with libraries of
software components that can help in the design and implementation process of an
application. However, these tools are based on the traditional perception of applications as
data+algorithms that is not enough to be used in some applications that require also
knowledge-based solutions. Thus, from the point of view of knowledge modelling, several
preliminary proposals have been produced (e.g., SHELLEY or MIKE Landes, Studer, (1994)
that follow the KADS methodology, or PROTEGE-II Musen, Tu (1993) and KREST
McIntyre (1993)).
11
4. KSM: A KNOWLEDGE MODELING TOOL
A proposal in the direction commented in the previous paragraph is the KSM (Knowledge
Structure Manager) environment. KSM follows the described task-method-domain approach
but it introduces some new description entities that facilitate the design process of the
application.
…
Purchase answer to see full
attachment

admin

Recent Posts

Economic Debate #3- Progressive Income Tax – The Homework Helper

Economic Debate- Progressive Income Tax For this Economic Debate, we are going to discuss the…

2 years ago

MKT 6120 – Marketing Management – Davis Learning Engagement #7

TOPIC: Going Global Discussion Thread 1 (initial post due Wednesday for full credit) Please note:…

4 years ago

jvjvjhvjhvhjvj

Assignment Topic This week will culminate in the creation of a narrated PowerPoint to create…

4 years ago

Students are supposed to select a technological organization of their choice.

The Assignment must be submitted on Blackboard (WORD format only) via allocated folder. Assignments submitted…

4 years ago

Increases the risk of wildfires

you need to post your 2-page information flier to share with your Final Project Group.…

4 years ago

Statistics for Technology management

discussion: Discuss the methods used at your company to measure and ensure quality products and…

4 years ago