Document not found! Please try again

On Designing Intelligent Hypertext Systems for Information ... - CiteSeerX

8 downloads 70982 Views 1MB Size Report
Nov 5, 1987 - of a hypertext system with software engineering tools ... tools) is that one can exploit the facilities of tools for automated ..... Talk and Mail.
On Designing Intelligent Systems for Information in Software Engineering

Hypertext Management

Pankaj K. Garg and Walt Scacchi Computer Science Department University of Southern California Los Angeles, CA 90089-0782 garg or [email protected]

ABSTRACT Information systems

are best suited for this purpose

in the nodes results

of a hypertext.

system

that

system

might

could

System

utilize

albeit

useful

can use such knowledge

design of an I-SHYS use of I-SHYS

organizing

[in

terms

terms

the design

and theiT

methods

system

of the ‘agents’

describe

that

software

perform).

called

tasks

process,

knowledge

We present

uses of such knowledge,

rather

Such

Hypertext

defined

a framework

GOT

limits

and

embedded

and partly

of

a

being

than

its environment

is partly

identify

Based

a hypertext

Software

about

tools

DIF.

and products.

an Intelligent

suppoTts)

I-SHYS

engineering

foT developing

is knowledgeable This

Hypertext

types that is permitted

of such a system

we define

process.

problem.

software

with

in the software

which

that

agents

potential

cbcumventing

jot

As such,

in the software

of tasks

system

the need and the potential

its users

facility.

hypertext

to assist

this knowledge,

and suggest

1

(in

about

stoTage

as a software

(I-SHYS~)

We descn’be

we recognized

knowledge

is a challenging in information

of a hypertext

be able to act as an active participant

then

a passive,

system.

in using DIF,

engineering

because of the diversity

The integration

in a software hypertext

on our experiences

just

in IaTge scale soflware

management

in the

during defining

OUT

the and

approach,

them.

INTRODUCTION

Hypertext

systems are useful for information

of the diverse types of information

management

permitted

in large scale software engineering

in hypertext

nodes [BEH*87].

related to a software system is stored in the same hypertext A Software

Hypertext

conjunction

with

Environment

System which

various

software

of the hypertext

1 Pronounced

November1987

engineering

tools, provide

the facilities

of a software

an Integrated

(hypertext

of tools for automated

system can be used for storing

If all the information

then we call it a Software Hypertext.

the management

[Hen86]. The advantage of this combination

tools) is that one can exploit facilities

supports

because

hypertext

Software

can, in

Engineering

system + software engineering processing

and retrieving

of information, information.

while We have

eye-&s

Hypertext‘87 Papers

409

designed and implemented System Factory

such a software life cycle Documents

with

DIF led us to the notion

(I-says).

DIF is a passive system with little

In

we wish to design an active hypertext

of engineering

Facility

(DIF)

in the

at USC [GS88].

Our experiments

I-SHYS

Integration

large software

explicit

of an Intelligent knowledge

Hypertext

about its surrounding

which participates

system,

systems throughout

Software

their life cycle2.

System

environment.

and assists in the process

As such, a software

hypertext

enviTon7nent consists of 1. The software hypertext;

engineering

tools that process documentable

software

descriptions

stored as a

and

2. The software engineering If we encode knowledge system can actively

tasks that people perform

about the hypertext

assist in the activities

System. For an Intelligent

through

environment

into the hypertext

of its environment,

Software Hypertext

System

it. system, such that the

then we get an Intelligent we have identified

(I-SHYS),

Hypertext

three perspectives

of such knowledge: 1. Knowledge

of the capabilities

and uses of software tools that the environment

2. Knowledge

about the roles people play in the software process;

3. Knowledge

about

the tasks and actions

people perform

at different

stages

provides;

in the software

process. Before we can formalize software regard. overview

and encode such knowledge

process from these perspectives.

of a Software

tools with a hypertext

Section 3 describes the software process by categorizing the tasks that they perform, on a software hypertext. Finally

2

in Section 4 we summaize

DIF is a software hypertext used throughout experimental

410

simplicity, throughout

System by giving

an

system are discussed in this section.

the roles of agents in the process, describing

which can be used to categorize interactions.

LIFE CYCLE DOCUMENTS system which helps integrate

INTEGRATION

“software

process”

FACILITY

and manage the documents

produced

and

It was designed for use in the System Factory, an

created at USC to study the development,

we use the term their life cycle.

in this

the discussion and suggest future work in this direction.

the life cycle of software projects.

laboratory

Hypertext

understanding

the

how their tasks can be broken down into actions performed

It also discusses the attributes

DfF: A SOFTWARE

aFor systems

and detailing

we need to understand

I-SHYS,

This paper describes our current

In Section 2 we present our understanding of DIF. Issues about interfacing

in an

as shorthand

Hypertext‘87 Papers

for

the

use, and maintenance process

of engineering

large

of large software

November1987

software

systems [Sca86]. It has been used in the System Factory

for more than a dozen software

systems, resulting

in the creation

to support

the software process

of some 40Mbytes

of software

hypertext3. DIF provides an interface documentation

to a hypertext-based

process. A hypertext

over eight life cycle activities. related

to a software

nodes are internally

DIF

support:

into pre-defined

document

below enabIe software

(e) documentation

traceability, standards,

reusable software component The integration For instance,

manipulating

software

System’ envisioned

(e.g., creation

by DIF.

to document

their

In total,

software

of formalized

and display, documents

(d) indexed

information

nodes as files and directories for the “operational

handled

descriptions

by DIF. without

nodes, (b) intra-

of persistent

of files and directories.

browsing,

annotations,

(g)

and walkthroughs.

is invisible

to the user of DIF.

of the system, the user

the operational

The user need only be concerned being concerned

of

process in ways that

sharable

requirements”

the text associated with

of directories

or query-driven

with/without

that

the capabilities

document

catalogs, and (h) online software inspections

This provides an object oriented environment simply a loose collection

nodes of a software hypertext

file management

and completeness

(f) multi-version

The document

and files (see Figure 1). Users of DIF enter

nodes) is handled

does not have to create the file for storing this chore is automatically

all routine

(c) formatting

of software hypertext

when entering

by teams of software engineers

and across projects.

(but redefinable)

engineers

(a) analysis of the consistency

and inter-document

manner within

organized as a tree of Unix directories

of files for related

described

is built

and to a structured

DIF provides several features which allow users to view information

treated as files. Subsequently,

and naming

storage structure

of software information

system in an integrated

software process information are internally

information

requirements;

with

creating

or

about how they are stored or where.

software system descriptions

This is reflective

rather than

of the ‘Next Generation

Operating

by Balzer [Bal86].

DIF also allows software engineers in the System Factory to develop parts of documents in parallel without

worrying

about concurrent

the operational requirements. 2.1

requirements The individual

System

Factory

The organizational System Factory turn,

the project

the software hypertext. 3 We have documentation,

November1987

of the target

issues. Hence person A could be writing

system while person B is writing

efforts are automatically

the non-operational

merged in the same hypertext.

Structure

structure

these prescriptions

access or integration

supported

by DIF in the System Factory

manager prescribes

implicitly

is shown in Figure 2. In the

what needs to be described

in each document.

represent the software process in effect within

There are also potentially

several projects in the factory

also utilized its facilities to “publish” hard-copy, where one complctc printing produced a series

Hypertext‘87 Papers

laser-printed of listings

renditions about 4 feet

the structure

In of

at the same time.

of this encyclopedic tall after binding.

software

411

Figure

Several

software

engineers

same software DIF

define

DIF

a general

(what

of the documents

(what

2.2

Forms

Basic

User defines

of the System

Factory

can be constrained

User role and a General

are in the factory

needs to be documented). through

the information

(1) at the information

The rest of this section and

and all projects

in DIF

and end user respectively.

proj&cts

and browse

user can operate:

a Super

administrator

level.

A Super

412

to the database

modify,

Documents

to follow

the

process.

structure

to create,

of Software

on each project,

two roles for users:

the factory

structure

work

(documentation)

supports

be compared

1: Hypertext

describes

level,

the functionalities

User role.

In the Super

and who is responsible In the General hypertext.

The

User role, users for each), and the

User role,

There

two roles can

users exploit

are two levels

at which

and (2) at the structure-of-the-information of DIF.

Templates

the forms

and the Basic

was to ensure

that

Templates

all the projects

Hypertext ‘87 Papers

(BTs)

in the factory.

One of the concerns

have the same (standardized)

structure

November 1987

of

I..

Software

Engineers

Figure

documents.

Basic models

Thus

Templates

each document

(BTs)

the software

specifications

form

is shown

be followed

by team

with

or tasks in Table

members

Users)

2: System

Factory

as a form.

is defined

to be filled

process,

(General

A form

For example,

therein.

on related

Section Number Overview and summary of functional Informal narrative specification Narrative specification Functional diagrams

is a tree structured

A collection

information.

1. Such forms

working

Structure

provide

The Super BTs entails

User defines

the super providing

*Narrative *Graphical

November1987

the attribute

Text Diagrams

the nature of the BT

Section specification

the process

tasks

to

that

Heading

1.0 2.0 2.1 2.2 2.2.1 2.2.2 2.2.3 3.0 3.1 BT Heading

Specifications

of information as being

the functional

projects.

Form

each form only once and all the projects

user also defines

of

then implicitly

Factory,

a way of specifying

Functional network diagrams State-transition diagrams Formal specification Gist Processor Results BT Number 1: Functional

of related forms

in the System

Type lattice

Table

organization

inherit

that

form.

needs to be given

When

defining

in each BT.

This

one of:

l NuMIL Structural Specifications l Gist Functional Specifications

Hypertext‘87 Papers

l C Source Code l Executable Object

Code

413

This tells DIF which editor (e.g., a Gist language-directed tools to process the information

2.3

Project

Information

on them.

This information

which consists of a list of projects and the software engineers enables DIF

General users are allowed to create, modify, There is no restriction privileges

2.4

on reading

to check the read/write

and revise information

the information

of any project.

privileges

of the users.

related to their projects

only.

Super Users have read/write

for all information.

Information

Facilities

to use for a BT and which software

of the BT.

Super Users provide project information working

editor)

Level

are provided

in DIF for a user to enter, modify,

and use the information

forms as dictated

by the super user. Language-directed

emacs-like

formal

that are used in the System Factory

(e.g., Gist, NuMIL,

languages

general user enters the information DIF automatically

in BTs without

worrying

required

editors are provided

by the

for aIl the

and C [ScaSS]).

The

about the fles that need to be created.

generates a unique filename depending

on the project

and the BT.

Whole forms can be stored in the revision control system, RCS [Tic82] for backup and incremental revisions.

Functions

supported

by DIF (through

RCS) include:

1. Checking

in of a form. The user can ask DIF to check in a form into RCS.

2. Checking

out of a form. The user can check out a whole form from RCS.

0,ptions

such as retrieving

through

the interface.

that it interfaces

revisions

through

This is an example of ‘interface

cut-off

transparency’

entering

request its compilation.

that DIF provides for the tools

the operating

in a BT through

a software tool can be made within

For example,

system.

Some such requests are handled

if a BT contains

through

to nroff/troff,

the documenters synchronous

workbench

communications

tory (e.g., application

among project

the user with a text processing

computer

participants. animation

Other tools available environment)

[Sta84], some are

tool as opposed to a Unix tool). environment

[Dwb], while interfaces to mail, rn, and talk, support

generators,

with DIF in a straightforward

414

spell, etc. provide

akin to

asynchronous

and

in the System Fac-

[Sca86] can also be interfaced

manner.

Hypertext‘87 Papers

DIF

C code, the user can

editor interfaces

built into DIF (those which require the service of a System Factory Interfaces

dates, etc. are available

to (section 2.6).

Request to process the information itself without

user defined identifiers,

November1987

2.5

Structure-of-Information

Level

The structure-of-information4 information

level allows the general user to navigate

1. Links:

through

the information

The user (super or general)

the links allowed add annotations operational

by most hypertext to the currently

requirements

capability.

hypertext

of

can define links between BTs. systems.

visited

The links are similar

Hence a person browsing

the hypertext

BT, add links to other BTs, etc. For instance,

provides a mechanism for maintaining

that support

consistency

to can the the

and traceability

of links prevalent

in

[Con871 and those in DIF:

Links define relationships from creating

between existing

nodes. Except for annotation

links, links are

new nodes.

Links are allowed to be operational descriptions

ways:

There are two key differences between the definition

literature

precluded

in a project in the following

of the system can be linked up to the code/modules

This, therefore,

across documents.

l

the hypertext

that is stored in DIF.

The user can navigate

l

through

need to be linked

links.

This readily supports the cases where executable

to the source code.

For example,

a C code BT can be

linked to the object code BT that represents that code. Such a link is defined in DIF as an operational

link.

shell procedure 2. Keywords:

attachments

that link results in the execution to links will be supported

in that BT. The decision to allow for user defined keywords rather than

automatically

generated keywords was based on the results of studies reported

DIF to use the querying

associated facilities

with BTs in an Ingres relation.

of Ingres for navigating

For example, the user can look for all BTs (within

through

This allows the user of

documents

and across projects)

using keywords.

which have a particular

list the keywords of a BT, search for BTs which have keywords satisfying

etc. Standard

function&ties

such as form-based

querying

are provided

a pattern,

by DIF for users not

in Quel [Que].

An interesting

feature of DIF is that it allows the reader of documents

of their own. This allows new personnel

in a project

team to quickly

also to create keywords tune the documents

their needs. ‘This is diRerent from whereas here the structure

November1987

by

science [Sal86].

DIF stores the keywords

trained

in future versions of DIF.

contained

researchers in information

keyword,

of the linked BT. Arbitrary

For each BT the user can define keywords which describe the semantics of the

information providing

Visiting

In a schema the structure a ‘database schema’. is dependent on the currently defined links.

Hypertext‘87 Papers

does not change

with

the information,

415

to

3. Forms

and Configurations:

the user with

A Form is a tree-structured

organization

a convenient

way of viewing

the documents

the potential

of the hypertext

of information

relating

of BTs. This provides

to each software

process

activity. To fully utilize

of BTs.

own configuration

A configuration

to a form, except that it is not enforced

on all projects

but is associated with the individual

Configurations

can be defined, not unlike forms, by defining

user who is browsing

the documents.

the constituent

BTs. Configura-

tions can also be defined on the basis of the trail

which a user has followed

through

are mainly

the information

ing hardcopy

hypertext.

documents,

The user information use the information

space is restricted

of another

one that is being visited. visited.

Configurations

much like the path facility

to the project currently

level commands

Structure-level

information

guidance,

the current

project

used as a mechanism

for print-

being ‘visited’

by the user. To

visit that project.

This means that

on the information

of projects

other than the

is available regardless of which project is being

This is done to avoid the risk of the user getting

an additional

while browsing

suggested by Trigg [Tri83].

project the user has to explicitly

the user cannot use the information

2.6

is similar

in DIE’, the user can define his/her

lost in the information

and BT are displayed

space [Con87].

As

in the main menu.

DI F+Tools

The basic idea in DIF is to provide a system such that all the life cycle activities DIF itself.

In this sense, DIF can be considered

the progress of the target a uniform

interface

analyzer. or NuMIL transparency’ mechanisms

software

system through

to access the appropriate Processor.

a software engineering

i.e., DIF provides

unobtrusive

environment

[Hen86].

the various life cycle activities,

tools as necessary,

In the interfaces

can be done through

DIF provides

e.g., a functional

to these tools, it supports

specification

the notion

use of the tool that it interfaces

With

of ‘interface

to, while providing

that the tool itself lacks.

Figure 3 shows the organization

of DIF with respect to the other tools in the System Factory.

The basic set of tools comprises [S&86]: 1. A Gist Specification formal functional 2. A Module evolution

Analyzer

and Simulator

specifications

Interconnection of multi-version

which facilitates

of software (sub)systems

and Interface system (module)

Definition

the development

under development

[BGW82,Sca85];

processor that supports

configurations

described

and use of the

the design and

in the NuMIL

language

[NS87b,NS87a]; 3. An EMACS-like revision

language-directed

of structured

documents

editing

environment

and system description

which

helps in the construction

languages such as Gist, NuMIL

C; and 416

Hypertext ‘87 Papers

November 1987

and and

GIST Specifications Analyzer

Information

Bank

$1

Figure 4. A system

visualizer

which

‘-2q

3: Organization

graphically

presents

of DIF system

configurations

expressed

in NuMIL

[~~87]; 5. Unix

tools

system

such as Rcs, Make,

helps

individuals

Spell,

Nroff/Troff,

to coordinate

their

Talk

and Mail.

activities

The interface

by structured

to the mailing

messages

consisting

of

BTs. DIF

supports

the notion

of Eziensibility

in its interfaces

to tools.

It is simple

to add new tools

to the environment.

Tool

Options:

Most

the application ‘g’ option

at hand.

which

by the symbolic of informing taking compiled only

informs

generate

November1987

The

appropriate

switches

that

of “switches”

compiling it should

but

system

generate

way to view

in which

being

is also useful can store

for the compiler.

in other

this information As another

Hypertext‘87 Papers

places

table

information

is to consider

informed

as means

of information that

such as reporting and then

consider

for

to be used

them

Such information

generically, example,

of the tool

the user can give a

the processing

is being

debugged.

the behavior on Unix,

symbol

the switches

case, the compiler

one and is currently

to tune

a C program

of the environment

in the above

of the switch hypertext

while

An interesting

of some aspect

is an experimental

the project.

for the input

the compiler

For example,

for purposes

allow

For exam;.,ie,

debugger.

the tool

place.

tools

is

the code being is required the status

not of

‘automatically’

the ‘c’ option

of the C

417

compiler

on the Unix system, which informs

system and the compiler another

design of the system.

This information

at

need be given to

places. This is currently

not provided

for I-SHYS.

Summary

In this section we have presented an overview documents

of a Hypertext

ways in which

and suggested interesting

System to manage software life cycle

smart interfaces

to software

vided in such a system. Our next concern is that the process model considered it by way of Forms and BTs) is at a level of granularity repository

and processing environment

ware process.

In the following

too high to provide

that organizes document

section,

paper is semi-formal;

a formal presentation

AGENT-TASK-PRODUCT

into its network

users play when performing

agent

be knowledgeable simulate

that

nor can it explicitly

different

participates

developed

to

but a passive through

a soft-

down the process model into

by an I-SHYS.

of interacting

represent and utilize

The treatment

in this

PROCESS descriptions

with its users to help elicit knowledge

of what roles its

software process tasks. Instead, we would like to have a system of DIF, but does so in ways that it can eventually

in the software

Thus,

process.

about its users, their tasks and products,

and represent knowledge

process. Agents are people or intelligent

such a hypertext

become

system should

and be able to ask/answer

software process tasks, and to reason about and explain

We first seek capture

anything

system in that it waits for users to enter software

that not only subsumes the capabilities an active

by DIF (described

OF THE SOFTWARE

of linked nodes. However, it is incapable

emerging software descriptions,

tools can be pro-

is given in [Gar87b].

PERSPECTIVE

DIF is a passive software hypertext

products

we describe ways of breaking

finer grained actions such that they can be better supported

3

is required

Hence, the information

system only once and it can use it at multiple

by DIF and is planned

2.7

that the code in the file is part of a bigger

should not load the file using a loader.

level, viz. the architectural

the hypertext

the compiler

questions,

its behavior.

about the ‘agents’ participating

in the software

systems that play well defined roles. An individual

in the

software process can play the role of more than one agent. For example, a person who has designed, implemented,

and used a personal database management

manager, and a user. We consider the following

system is at once a designer, implementor,

four categories of agents [GLB*83]:

1. Users: Agents who will use the target software system (end users) and/or the system developed 2. Managers:

Agents

roles of managers

(clients). who are responsible

that

we consider,

the process (Process Manager, process (Quality-Assurance 418

agents who want

PM),

Manager,

for software

project

agents who coordinate

management. the activities

and agents who analyze and evaluate

There

are two

of other agents in the status of the

QAM).

Hypertext ‘87 Papers

November 1987

3. Developers:

Agents who develop the system. Their tasks involve design and innovation,

they transform

the Users’ requirements

roles including

Analysts,

4. Maintainers:

into a working

Specifiers, Designers, Implementors,

Software systems are frequently

ments or discovery

target system.

modified

of errors in system development.

tions, but may not have participated

Developer

to take care of changes in the requireMaintainers

as the system’s initial

take care of such modifica-

developers.

and Developers

in the process:

of this categorization

each function

the existence

intertwined

to the Manager

to the End User, Maintainer,

in the new framework).

The advantage

preclude

and (2) G eneral User (equivalent

in the new framework),

agents play

Testers, and Integrators.

Notice that DIF considered only two categories of agents: (1) Super User (equivalent and Client

where

is that it helps us conceptualize

viewed as a task associated

of interactions

with

the functions

one kind of agent.

of agents

This does not

between agents, which become necessary when agents have

tasks.

The next step is to identify

the software process tasks of agents and to see how an I-SHYS

can

assist them. For this purpose we define: l

Meta-tasks

which

the software

process.

organizational l

define the nature, Much

perspective

configuration,

and possible orderings

of this is based on our study

yses of software engineering

l

Actions

l

Primitive

borrowing

and from definitions

from our empirical

prevalent

anal-

in the software engi-

(e.g., see [Boesl]). in order to fulfill

actions which can be performed

the commitments

on a hypertext

but creation

of some commitment

of a sorting

program

[McD85].

of tasks.

system.

between an action and a task is that a task represents

which entails the fulfillment an action;

[Sca81,BS87]

that need to be performed

The distinction

process from an

[Sca84].

Product tasks that agents in the software process perform,

neering literature

of the software

of other tasks in

the action of an agent

Hence, creation of a sorting program is

by an agent, A for sorting

the flies on,a tape, T is a

task. The following

3.1

sections elaborate

this categorization.

Meta-Tasks

Meta-tasks

are all performed

agent does not necessarily following November 1987

meta-tasks

by an agent assuming the role of a ‘Manager’. have a one-to-one

have been identified

mapping

with

the individuals

We reiterate

that an

in the process.

[Sca84, p. 461:

Hypertext ‘87 Papers

419

The

l

Planning(PM5):

l

Organizing(PM):

l

Stafling(PM):

Assigning

l

Directing(PM):

Giving

of uncertain

Detailing

the tasks that need to be performed

Allocating

resources to the agents.

agents to tasks. help to other agents in terms of what decisions to make in situations

or incomplete

l

Coordinating(PM):

l

Scheduling(PM):

l

Validating(QAM):

l

Verifying(QAM):

in the software process.

information.

Getting

groups of people to work collaboratively.

Assigning

time constraints

Confirming

on tasks.

that the running

C on fi rming the consistency,

system meets the requirements completeness,

and integrity

of the Users.

of evolving

software

descriptions. Each meta-task

has a document with

or processable description Accordingly,

it.

associated

knowledge

about the software process, and their relationship

in order to be capable of providing 3.2

Product

Product

to other meta-tasks

the Users and guidelines

tasks

active participation.

Definition

2. Requirements

Analysis

3. Functional

5. Detailed

a Maintainer,

change the system

of Users. Developers build the system using requirements

posed by

in this regard:

(Clients) (Analysts)

Specifications

4. Architectural

for the system and use the system. Maintainers

suggested by PMs. Several tasks can be performed

1. Requirements

(Specifier)

Design (Designer)

Design (Designer)

6. Implementation

(Implementor)

7. System Integration 8. System

source of

and product

related tasks are carried out by agents assuming the role of either a Developer,

based on emerging requirements

6Agcnt

needs to encode a different

Tasks

or a User. Users pose requirements

420

each meta-task

structure)

(e.g., plans, schedules, work breakdown

Delivery

category

(Integrator) (Integrator)

responsible

for the task

Hypertext ‘87 Papers

November 1987

9. System Use (End User) 10. Fixing

bugs in the system (Maintainer)

11. Creating

revisions

12. Enhancing

of the system (Maintainer)

the system (Maintainer)

13. Creating

new versions of the system (Maintainer)

14. System bug discoveries and reporting 15. Testing

(Tester)

16. Requesting The definition

Enhancements

upon its completion.

integrity

on the system (End User).

of these tasks can be found in any book on software engineering

As before, each product

help elicit

(End User)

In turn,

the pertinent of intra-

task has an associated document forms with

software

and inter-tasks

information

methods attached

in order to evaluate

result in a task diagram

of tasks of the three agents:

Maintainers,

example of a task of PM and that of a specifier elaborated.

completeness,

and

as shown in Figure 4. The figure Developers,

For a detailed

Th e intertwining

to requirements

as discussed in section 3.5.

November1987

are needed in order to

consistency,

related tasks, the reader is referred to [SBB*86]. of interaction

that is produced

products.

The tasks viewed from this viewpoint shows the distribution

computational

or software description

(e.g., see [Boe&l]).

and collaboration,

Hypertext‘87 Papers

and Users, with

account

of tasks of multiple

an

of the process agents leads

421

t : l .

3.3

Actions

Actions

are obtained

Corn the definition

agent in order to effectively

of tasks by detailing

the steps that need to be done by the

carry out the task.

As an example consider the Develop

functional

specifications

task in Figure 4. This task

can be broken down into several actions [Ben87]: l

Understand

Users’ requirement

l

Understand

functional

l

Develop informal

l

Access library

l

Develop formal specifications

l

Develop a specifications

Each action

specifications

of exemplar

can be carried

Figure 4) indicates

that:

A cannot be effectively can possibly

of the system

of the system

specifications of the System

document

for the system.

out by the Specifier

(1) (Weak Dependency)

agent.

If action A is dependent

of actions

(as shown in

on action B, then action

of action B. This means that A

be started before the end of action B, but the results will not be as effective as when A

at a library

For example, a specifier can start developing of exemplar

specifications.

on B, then A cannot be started unless B has finished. specifications

The dependency

started unless there is a successful completion

is started after B is finished. before looking

specifications

document

(2) (Strong

Dependency)

For example,

unless the formal and the informal

the formal specifications

a specifier cannot develop the

specifications

These tasks can be related to the BTs defined for the Functional

If A is dependent

have been written.

Specifications

Form (Table 1)

8s follows: l

Understand

users’

l

Understand

functional

requirement

specifications

system lead to the Narrative l

Access the

l

library

leads to the informal

Specifications

of exemplar

specifications

specification

informal

BT 2.0;

specifications

of the

BT 2.1;

specifications

system lead to BTs 2.2 through

Develop

and Develop

narrative

and Develop

formal

specifications

of

3.0; and

document

for the system leads to the Functional

Specifications

Form, with all its BTs integrated. The support

provided

by DIF in integrating

the results of multiple

deals with only the results of tasks, and not how tasks are performed. a very coarse level of granularity, November 1987

ignoring

tasks is now clearer. Hence it supports

the tasks at

the actions that compose the task. In an I-SHYS

Hypertext ‘87 Papers

But DIF

our

423

focus

is to develop definitions

of tasks in terms of the actions that compose them, such that the actions

are simple enough to be automatically

supported.

As an aside, we must caution

aspects of the process.

we are not suggesting

to reduce the creative

reduce its non-creative

aspects which encumber creative aspects. This is in tune with the philosophy

being pursued by Delisle and Schwartz in their definition project

Rather,

the reader that

we are suggesting

to

of an Idea Processor [DS87], by the Colab

PARC [FSSS] and project Nick at MCC [BCE*8’7].

at XEROX,

To see how this could be achieved, is part of the task of Develop

consider the action

functional

Understand

Users’s

which

requirements,

It can. be broken into finer grained

specifications.

actions as follows: l

View the requirements

l

Create notes of the key points of the requirements;

l

If something

l

If still unclear then discuss it with fellow Developers,

l

Organize

is unclear, communicate

Primitive

Consider

with the Users to understand

of Primitive

Actions

PMs, or Users;

on a hypertext

as follows.

Actions

the hypertext

to consist of objects and relationships

DIF these were BTs and links between BTs.) identify

it better;

notes about the understanding.

This leads to the definition 3.4

document;

the following

primitive

between

the objectse[Gar87a].

From the example in the previous

subsection,

(In we can

actions: -

‘look at’ an information

l

VIEW(REQUIREMENT)

l

ANNOTATE(REQUIREMENT)

l

EXPLAIN-REQUEST(REQUIREMENT,

object containing

attach notes of ‘understanding’

-

to an object X.

request an explanation

U) -

a User’s requirement.

of a requirement

from

a User agent. l

{AI, AZ,. . . An})

DISCUSS(REQUIREMENT,

-

discuss a requirement

with

other agents of

the process. l

PRINT-ANNOTATIONS(REQUIREMENTS) to

Understand

actions as the following

424

or g anize and print the annotations

attached

the requirements.

The action

‘The

-

objects

User’s

diagram

Requirements

can be understood

in terms of these primitive

shows:

are the nodes in the hypertext

graph,

and the rcIationsbips

Hypertext‘87 Papers

arc the edges.

November1987

1 UNDERSTAND(REQUlREMENTS) 1

0

-

DISCUSS(REQUIREMEN-l-, {User, PM, Developers})

EXPLAIN-REQUEST(REQUIREMENT, User)

PRINT-ANNOTATlONS(REQUIREMENTS)

Consider

the diagram

flowchart.

The double lined arrows show the rela-

[SFG85] which means that the action ordering

tion ‘elaboration’ considered

as a non-deterministic

as the elaboration

The primitive

at the head of the arrow can be

of the action at the tail of the arrow.

actions developed in this manner can be generalized by replacing REQUIREMENT

with an arbitrary

object X. For example, we can have an action UNDERSTAND(X)

posed of VIEW(X),

DISCUSS(X,a),

ANNOTATIONS(X),

EXPLAIN-REQUEST(X,(),

which is com-

ANNOTATE(X),

w h ere a is a set of agents, and C is the agent responsible

and PRINT-

for the creation

of

X.

3.5

Discussion

There are several ways that this approach tasks, and products Establishing

being encoded in an I-SHYS.

of conlezt [DS87] of the hypertext.

establishes the context

An I-SHYS can therefore automatically to one of these actions.

current

November1987

practices

Since the action of Understand

establishment

For example, the Understand

actions Users

actions can be taking place.

prune out the objects and relationships

objects and relationships context

we discuss these issues.

in which one of the five primitive

a period of time, this can reduce the information to worry.about

In this subsection

about software process agents,

The break up of tasks into actions and of actions into primitive

Context:

results in the establishment Requirements

can result in knowledge

Users ) Requirements

that are not pertinent is carried out over

overload on the agent, as the agent does not have

which are not relevant

to his/her

would have to be done manually

Hypertext‘87 Papers

immediate

action.

In

by the users of hypertext

425

and can lead to much semantic complexity Semantically which

Rich

Commands:

can be converted

commands

The analysis naturally

into semantically

the hypertext

rich commands.

For example,

with the hypertext

it is possible

[Wing?]

is required

can be provided

to provide

about object

support

there can be a command to PRINT-ANNOTATIONS(X) attached

actions

and Sluoier and Cash-

system, to ‘intelligently’

system to organize and print the annotations

what kind of organization

of primitive

to start a discussion

tools such as suggested by Winograd

man [SC841 can then be integrated between agents. Similarly

leads to definitions

’ f orms the hypertext w hi ch m

such as DISCUSS(X,A)

X with agent A. Coordination

[DS87].

discussions

which instructs

to an object.

The encoding

along the lines of configurations

of

suggested in

section 2.5. Task

Coordination:

pertext

A break down of tasks into the actions that constitute

system to be informed

allows the hypertext

about the agents and what tasks they are expected to perform.

system to perform task coordination,

VI),

For example,

if agent Ai performs

then agent Ur is expected

suggestion fired which

[Win87].

to respond

someone else. There

with

abandon

an explanation,

a certain

denial,

time framework

the request, send a complain

support

acts which

for their coordination

to a manager,

[Ked83].

the intervention

of other agents, For example, the action EXPLAIN-R.EQUEST(X,A)

Agents:

of object X by agent A. To support of interactions

which can possibly influence

medium

descriptive

subjected mixture Time:

to automated of natural

time period

language,

semantic

language,

explicitly

requests the

we have identified

in completing

required

product

require

the following by them:

or meta-tasks.

object which is the focus ofinteraction.

or language used for the interaction.

we consider are: (1) natural

which

the nature of support

The categories and number of agents that interact

Communicated-object: Signal:

there are actions

such interactions

or ask

arise in the course of a

As we saw in the previous

attributes

examples,

or an alternative

then a demon can be

Interactions:

explanation

The various forms of signal of interaction

(2) figures and graphs,

analysis),

(3) formal

and (4) semi-formal

language

language

(which

(language

which

that can be has a

figures, graphs, and formal language).

over which the interaction

is carried out. We distinguish

tions as being either long or short, or (2) whether

426

either

are a whole set of such communication

software process and which need automated

an action requires a response from

the action EXPLAIN-REQUEST(REQUIREMENT,

If Ur does not respond within

suggests to Al to either:

This

by which it can trigger demons in case ac-

tions which were supposed to be done are not done, or if performing an agent.

them, allows the hy-

the interaction

Hypertext ‘87 Papers

is synchronous

(1) duration

of interac-

or asynchronous-

November 1987

Space: the geographical that the interacting discussions;

relationship

agents are geographically

or (2) local, meaning

and therefore

of agents interacting.

that the interacting

attributes

example, a interaction Similarly

cannot engage in face to face

a interaction

on the functionalities

can be trivially

carried out synchronously

The advantage

location

requires a computer

carried out asynchronously

of encoding

of the hyper-

this information

For

mediated real time conferencing

requires into an I-SHYS

some structured

mail support

is that in a complex

of the hypertext

on the stage at which the process is. If the hypertext

change itself to meet the requirements

demanded

mapped from the value of the attribute.

such as the software process, the demands on the functionalities depending

implying

agents are in the same geographical

has an influence

text system. Most of the functionalities

[MGL*87].

dispersed and therefore

(1) distributed,

can engage in face to face discussion.

Each of the interaction

support.

This can be either:

process

system can change

system ‘knows’

about this, it can

imposed by the stage of the process.

4 SUMMARY AND FUTURE WORK In this paper we have described a Software Hypertext of a Software Hypertext System (I-SHYS), work.

System can be extended to the concept of an Intelligent

by studying

Implementation

LISP machine. of Situation

of parts of I-SHYS

of I-SHYS

model of I-SHYS

the process, can be defined a priori.

by complex

Empirical

investigations

The

process is an open system [Hew861 where the tasks and interactions relationships

as:

l

Primary

Tasks versus Articulation

l

Routine

Interaction

Tasks [BS87,Gas86],

versus Non-routine

tasks are the tasks prescribed

non-deterministic

sequence of actions

task. Articulation

interaction

by

and

[Gas86];

that must be performed

Hypertext‘87 Papers

that

in which the

These concepts are illustrated

by the policies of the process.

tasks emerge when primary

of

are determined

between the process, the agents in the process, the setting

the tasks and interactions

patterns

of the process, however, indicate

categorizing

November1987

of I-SHYS.

in the process, and the interaction

which is being developed.

primary

of the theory

studies of the software process [Sca84,BS87].

process is carried out, and the product

Primary

using an extension

made in systems such as I-SHYS is that the software process is a closed system wherein

the tools used in the process, the tasks performed

the software

frame-

on the TI Explorer

in the approach presented in this paper for the construction

has been suggested by the results of empirical

An assumption

from a tools, tasks, and interaction

are in progress using Knowledge&aft

a theoretical

Software Hypertext

[McD85,Gar87b]

There is a limitation limitation

the environment

We are also building

Calculus

System DIF. We have then shown how notions

Articulation

tasks are a

in order to effectively

carry out a

tasks descriptions

are incomplete

to handle

unexpected

circumstances

such as when breakdowns,

foul-ups,

or resource bottlenecks

suddenly

emerge. An example will make this clearer7: Suppose that the primary ing of the functional complete

specifications

understanding,

text-formatter

the report the use of a text-editor

Also suppose that the agent is not familiar

Then in order to accomplish

the agent has to accomplish

In parallel

to the notions

an understand-

of a system. Suppose that the agent has developed

and in order to print

are required.

text editors available. report)

task of an agent is to print a report detailing

the primary

the articulation

of primary

and a

with any of the

task (that

task of understanding

tasks and articulation

a

of printing

a

a text editor.

tasks, we distinguish

between two

kinds of interactions: 1. Routine

interactions,

2. Non-routine A routine

interaction.

interaction

peculiar

and

to particular

occurs as part of the ‘ideal’ settings.

Programming,

editor, and compiler is a routine

interaction.

process tasks depart from expectation by multiple Wirth’s

refinement

real world situations, non-routine

interactions

process and not because of situations as an interaction

interactions

For example,

interaction.

Ideally

emerge when primary

negotiations

for competing

a programmer

and develop efficient smooth

between implementor,

‘literate

software resources

should be able to follow

programs’

and thus the programmer

[Knu84]. might

But in

have to try

(e.g., discuss issues with associates) to develop the final program.

Articulation

fails. As an alternative,

can provide

support

tasks and Non-routine

for Primary interaction,

tasks and Routine the approach

one can explore the use of Case Based Reasoning.

tasks and non-routine

interaction,

we find that these can be successfully

who have had similar

experiences

before.

Case Based Reasoning

interactions.

For

suggested in this paper If we analyze articulation

provides

accomplished a framework

by agents by which

experiences

of several agents can be encoded in a knowledge based system and the system can provide

suggestions

to the agents by examining

before. Encoding articulation

such knowledge

tasks and non-routine

to encode such knowledge the situations 7This

428

or plan.

progress is not readily

Systems such as I-SHYS supporting

paradigm

considered Non-routine

agents may be a non-routine

step-wise

software

example

the actions of agents who were faced with similar

requires a set of empirical interaction

studies which acquire knowledge

in various projects.

such that similarity-reasoning

It requires a framework

can be performed

in past cases. Our group has started efforts in this direction is the essence of a more detailed

example

presented

Hypertext ‘87 Papers

situations about

in which

on present situations [Ben87,Jaz87].

in [BS87]

November 1987

to

5

ACKNOWLEDGMENTS

The ideas in this paper have benefited from discussions with Salah BendifaIIah Comments

from Salah Bendi&lIah

The work reported

on earlier versions of the paper have improved

here has been supported

mation Systems, TRW Systems Engineering under contract

number KSR5’76195-SN8,

81-C-0331 from DARPA by the USC graduate

and AbduIaziz

to USC/ISI.

through

Design and Development, IBM through

In addition,

school through

research grants or contracts

Jazzar.

the presentation. with AT&T

Infor-

Hughes Radar Systems Group

the Socrates project at USC, and MDA 903-

the first author acknowledges

the AR-University-Pre-Doctoral

Merit

the support

provided

Fellowship.

References [BaI86]

R. Balzer.

Living

in the Next Generation

World Computer [BCE*87]

Conference, IFIP

Operating

System.

Congress, Dublin,

In Proceedings

Ireland,

September

M. Begeman, P. Cook, C. Ellis, M. Graf, G. Rein, and T. Smith. ings Augmentation

and Analysis.

In Computer

of the 10th

1986.

PROJECTNICK:

Supported Cooperative

Meet-

Work Conference,

1987. [BEH*87]

T. Biggerstalf, Management

C. Ellis, F. Halasz, C. Kellog, Challenges

S. BendifaIIah.

Program,

Undemtanding

PhD thesis, Computer

and D. Webster.

in the Software Design Process. Technical

MCC, Software Technology [Ben871

C. Richter,

January

Software

Report

STP-039-87,

1987.

Specifications

Work:

Univeristy

of Southern

Science Department,

Infomzation

An Empirical California,

Analysis. December

1987. Forthcoming. [BGW82]

R. BaI zer, N. Goldman, prototyping.

and D. WiIe.

ACM SIGSOFT

Operational

Software Engineering

[BoeSl]

B. Boehm.

[BS87]

S. BendifalIah

and W. Scacchi. Understanding

ical Analysis.

IEEE

Jeff Conklin.

Hypertext:

[Con871

Software Engineering

Transactions

ber 1987. Also available [DS87]

P wbl November1987

Economics.

Prentice

Contexts:

puter Supported

Work Conference,

Documenters

Work Bench.

UNIX

a Partitioning

CIitfs, NJ, 1981. Work:

SE-13, March

Compufer,

Report no. STP-356-86,

N. Delisle and M. Schwartz.

1982.

Hall, Englewood

Software Maintenance

and Survey.

as MCC Technical

as the basis for rapid

Notes, 7(5):3-16,

on Software Engineering,

An Introduction

Cooperative

specification

Concept

An Empir-

1987.

20(9):1741,

Septem-

Rev. 1.

for Hpertexts.

In Com-

1987.

Documentation

Hypertext‘87 Papers

429

[FS86]

G. Foster and M. Stefik.

Cognoter,

Proceedings of the Computer

Suppoded

[Gar87a]

P. Garg. Abstraction

[Gar87b]

P. Garg.

Theoretical

Computer

Science Department,

[G&6]

Infomation [GLB*83]

Mechanisms

Descriptions. [~~88]

In

Work Conference, pages 7-15, 1986.

1987. To be presented at Hypertezt Software

and routine

T. Cheatham,

Technical

Report

Software

1987. Submitted

tool.

Hypertext

Systems.

‘87. 1987.

work. ACM

Bansactions

on Ofice

July 1986.

R. Balzer,

P. Garg and W. Scacchi.

of a colab-orative

USC, In preparation.

of computing

Based Software Assistant. [GS87]

Cooperative

for Intelligent

Systems, 4(3):205-225,

C. Green, D. Luckam,

and practice

in Hypertext.

foundations

L. Gasser. The integration

theory

and C. Rich.

KES.U.83.2,

Hypertext

for publication,

Report on a XnowIedge

Kestrel

Environments

Institute,

June 1983.

for Configured

Software

1987.

P. Garg and W. Scacchi. A Hypertext

System for Software Life Cycle Documents.

uary 1988. To Appear

of the Zlst Hawaii

in Proceedings

International

Jan-

Conference

on

System Sciences. [Hen861

P. Henderson,

editor.

neering Symposium

Proceedings

on Practical

of the ACM

Software Development

notices, vol. 22, no. 1, Palo Alto, California, [Hew861

C. Hewitt.

Offices are open systems. ACM

4(3):271-287, [Jaz87]

Software

Environments.

Engi-

ACM, SIGPLAN

Dec. 9-11, 1986. Transactions

on Ofice Information

Systems,

PhD thesis, Univeristy

of South-

July 1986.

A. Jazzar. A Model for Managing ern California,

[Ked83]

SIGSOFT/SIGPLAN

December

B. I. Kedzierski. Development

1987. Computer

Knowledge-Based

Environment.

1983. Avialable

Software Documents.

as Kestrel

Science Department,

Communication

PhD thesis, University Institute

Technical

Forthcoming.

and Management of Southwestern

Report

KES.U.83.3

Support in a System Louisiana,

November

kestrel Institute

Palo

Alto California [Knu84]

D. E. Knuth.

[McD85]

D. McDermott. Theories

The ComputeT Journal,

Sense World, pages 269-317,

Ablex

1984.

PubIishing

Corporation,

New Jersey, 1985.

T. W. Mal one, K. R. Grant, K Lai, R. Rao, and D. Rosenblitt.

Coopemtiue

27(2):97-111,

Reasoning about plans. In J. R-Hobbs and R. C. Moore, editors, Formal

are surprisingly

430

Programming.

of the Common

Norwood, [MGL*87]

Literate

useful for computer-supported

Work Conference,

coordination.

Semi-structured In Computer

messages Supported

1987.

Hypertext ‘87 Papers

November 1987

[NS87a]

K. Naryanaswamy Evolution.

[NS87b]

and W. Scacchi.

The Journal

K. Naryanaswamy Systems. IEEE

and W. Scacchi. Transactions

Ingres Reference ManuaL

[Sal861

G. Salton.

[SBB*86]

Another

[SC841

A. Bloch,

1987.

Communications

of the

Based Approach.

1986. System Factory

Tool for Supporting Conference

Office Proon Ojjke Au-

Society, Silver Spring MD, 1984. in Computing:

A Study of the Social Dynamics

of Computer

Science, University

of California,

1981.

W. Scacchi.

Managing

software

engineering January

W. Scacchi. Software specification

Marina

1985.

projects:

a social analysis.

IEEE

Trans.

1984.

engineering:

an approach to the construction

Research Report

USC/Information

of evolv-

Sciences Institute

Del Rey CA in preparation.

W. Seacchi.

A Software

Proc. 19th Hawaii [SFG85]

March

P. Garg, J. Skeer, and M. J. Turner.

XCP: An Experimental

PhD thesis, Department

ing system descriptions.

[Sea861

Systems.

1984 Proceedings of the First International

Software Eng., SE-10(1):49-59, [Sca85]

S. Choi,

The Process of Innovation

of Computing.

[Sca84]

Text-Retreival

Process: A Knowledge

IEEE Computer

W. Scacchi.

Irvine,

SE-13(3):324-334,

Software

Manuscript.

cedures. In IEEE

[ScaSl]

of Evolving

July 1986.

S. Sluzier and P. M. Cashman.

tomation,

Systems

Unix 4.2BSD Documentation.

the Software

Unpublished

Software

March 1987.

Configurations

on Software Engineering,

W. Scacchi, S. Bendifallah, Modelling

Maintaining

look at Automatic

29(7):648-656,

to support

of Systems and Software, 7(1):37-49,

EQuel

ACM,

Database Foundation

Engineering

Intern.

Environment

IEEE

PAMI,

Project.

In

Conf. System Sciences, 1986.

A. Sathi, M. Fox, and M. Greenberg. agement.

for the System Factory

September

Theory

of activity

representation

1985. Special issue on principles

in project

man-

of knowledge

based

systems. [St?L84]

R. Stallman.

EMACS:

In D. R. Barstow, Environment.?, [Tic821

W. Tichy. International

November1987

The Extensible,

Customizale,

Self-Documenting

H. E. Shrobe, and E. Sandelwall,

pages 300-325, McGraw-Hill

Design, Implementation, Conference

Book Company,

and Evaluation

on Software Engineering,

Hypertext‘87 Papers

editors,

Interactive

Display

Editor.

Programming

1984.

of a Revision

Control

System. In 6th

pages 58-67, Tokyo, Japan, 1982.

431

[Tri83]

R. H. Trigg.

A Network-Based

Community.

PhD thesis, Maryland

November [Win871

Artifitial

to Text Handling Intelligence

GOT

the Online

Group, University

Scientific

of Maryland,

1983.

T. Wmograd. Computer

Approach

A language/action

Supported

Cooperative

perspective work

on the design of cooperative

Conference,

work.

In

1987.

Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. D 1989 ACM 089791-340-X/89/001 l/O432 $1.50

432

Hypertext ‘87 Papers

November 1987

Suggest Documents