Conceptual Issues of an Object-Centered Process Modelyyz

Makoto Matsushita

Makoto Oshita

Ha jimu Iida

matusita@ics.es.osaka-u.ac.jp

oshita@ics.es.osaka-u.ac.jp

iida@itc.aist-nara.ac.jp

Katsuro Inoue

yinoue@ics.es.osaka-u.ac.jp

y Osaka University

z Nara Institute of Science and Technology

Dept. of Information and Computer Sciences

Information Technology Center

Faculty of Engineering Science8916-5 Takayama, Ikoma

1-3 Machikaneyama, Toyonaka

Nara 630-01 JAPANOsaka 560 JAPAN

Abstract
In this paper, we propose an object-centered software
process description model. We also present the idea ofsoftware development management environment based

ware process description model. We also present theidea of software development management environment
based on the model.
The major contributions of object-centered processmodel and its environment are as follows:on the model. To use this model and environment, we Granularity of the object representation is easily

illustrates software development environment as it is,

managed by using the object grouping and inheritance features. Multi-grained operations are established straightforward.

and provides a framework for software process description, management, and improvement.

1 Any partial information within an object easily

Introduction

Software process description and its enaction help
the software development to proceed e ectively andto produce high quality software. However, mostof process-centered software engineering environments
tend to enforce speci c types of development activities
to the developer. Also, they require proprietary andexclusive systems/environments which are completely
di erent from existing software development environment [2, 3]. Therefore those systems are not yet widelyused in real software development.
Moreover, most of these software process description
languages[1] focus on the description of \how to produce a product"; i.e., a procedure of software development. However, recent software development methods
such as object-oriented programming, software reuse,component-based programming mainly focus on \whatshould be made"; i.e., artifacts in software development
environment. In process-centered software engineering
environment, these artifacts-centered idea of softwaredevelopment should be supported, to make more e ective support for software development.
In this paper, we propose a new object-centered soft-extracted.

 The representation of the described objects is ex-ibly changed corresponding to the change of theproject structure.

 System is easily installed to existing development

environments.

2Object-Centered Process Model

The model consists of a set of objects, which represent artifacts and resources in the software development, such as design documents, compilers, developers,and so on. The goal of the model is to illustrate software development environment as it is.
2.1

Ob ject Overview

An object consists of attributes and methods. An
attribute represents characteristic of the object. An
attribute has an attribute label and an attribute value.
An attribute label is a unique name for attribute and itindicates what kind of information is needed to the object. Information itself is represented by the attributevalue. The type of the attribute values is a number,string, label, or list of these types.
A method is a function applied to the objects. A
method has a method label and a method function.
The method label is a unique name for this method
function, showing what operation is done with thismethod. Actual operation is de ned by the method
function. Operations of the method functions are: operation to the information in the objects, operation tothe outside of the model such as tool invocation, typical numerical, literal, and collection operation foundin a programming languages, and so on.
2.2

Software Development Process

We introduce a status object, which represents astatus of software development environment in someviewpoint. A status object is composed of a set of partial object, which is de ned as an object composed ofa subset of attributes and methods of a certain object.
They represents typical characteristics of an object insome viewpoint. Then, software development process
is de ned as a transition sequence of those status objects.
2.3Features

The model provides has various features to support
project management, software development, and cooperation for developers.
 Reference scope of objects

Each object can set a scope of reference with object own attribute. This is achieved by object
grouping and corresponding permission for thegroup. The permission represents allow/deny operation to the object.

 Operation history

Any operation (referring an attribute value, invoke
a method, and so on) to all objects are automatically recorded as history. The history is stored inan attribute of objects, and it is referred by themethods.

 Object creation and inheritanceObject creation is done by inheriting attributes
or methods from any existing object or prede ned skeleton objects. The inheritance is accomplished by copying or referring attributes value
and method functions from existing objects, andby modifying or adding attributes and methods toa new object.

There is no \class" feature found in common objectoriented language in the model. However, we use anobject just like a class. For example, at rst we create an object of \generic source code", then create anobject of \source-code.c" or whatever object for sourcecode le from \generic source code" object. Since it
may be complex to describe objects in the software development environment, we think it is not suitable toemploy recent object oriented programming language.
3

Design Overview of System

The system allows to the developers to operate object, execute a method to develop a software, invoke
tools for doing an activity, and so on. The system also
allows project managers to browse the whole software
project, store the progress information, show what
is done in the project, and other helpful information
about software development environment. We have already made a prototype system, and it is used with anexample process.
4Conclusion

In this paper, we propose a new object-centered process management model. With this model, software
process is illustrated clearly; that is powerful capability of the process management. We also designed
the software development environment based on theobject-centered process model. A prototype system of
the system has been implemented.
As a further work, a full implementation of system
has to be completed. Validation of the model and more
support for process enaction based on validation is alsoplanned.
References[1] P. Armenise, S. Bandinelli, C. Ghezzi, and A. Morzenti.
Software Process Representation Language:Surveyand Assessment. In Proceedings of the 4th Conferenceof Software Engineering and Knowledge Engineering,

pages 455{462, 1992.
[2] S. Bandinalli, E. Nitto, and A. Fuggetta.

Support-ing Cooperation in the SPADE-1 Enviornment. IEEE
Transaction on Software Engineering, 22(12):841{865,1996.
[3] I. Ben-shaul and G. Kaiser.

A Paradigm for Decen-tralized Process Modeling and its Realization in the OzEnvironment. In Proceedings of 16th International Conference on Software Engineering, pages 179{188, 1994.