1. Introduction

This document defines requirements for a dataflow diagraming tool, called "dftool". The tool provides functionality for drawing and editing dataflow diagrams (DFDs). It also supports the translation of DFDs to and from their textual representation in a formal modeling and specification language (FMSL).

Some basic requirements for dftool are presented in the users manual for a previous implementation of RSL support tools. Sections 7 and 8 of that manual discuss features of the dataflow editing.

The set of tools described in the old manual were implemented in C and C++ to run in an X Windows environment, and are not portable to other platforms. A key objective of the current dftool project is to design and implement a multi- platform version of the dftool in Java. Initially, the Java-based dftool will be a stand-alone application. At some later point, it may be integrated into an Eclipse environment for FMSL.

The requirements presented here refine and extend the earlier tool's features. Particular new features of note are the following:

  1. The new dftool can operate as a fully stand-alone application, in addition to operating as a component of a larger integrated FMSL development environment; the requirements here focus on its stand-alone interface.
  2. These requirements have significant enhancements for the connectivity of dataflow nodes in a diagram, in particular the explicit display of input/output ports, and incremental validation of inter-node connections.
  3. The FMSL textual representation of a dataflow diagram has been enhanced since the implementation of the earlier RSL-based tool. These new requirements describe the formal mapping from a graphical dataflow diagram to its underlying FMSL specification.

1.1. Problem Statement

The problems to be solved stem from the inadequacies of the earlier version of the dataflow tool, which are:

  1. non-portability;
  2. smaller-than-desired set of features;
  3. lack of support for updated FMSL dataflow syntax and semantics.

1.2. Project Personnel

The primary end users are students in Cal Poly undergraduate software engineering classes, specifically CSC 307, 308, and 309.

The primary developer for January through June 2006 is Cal Poly senior project student Tim Ober, supervised by Gene Fisher. Ober will do design and implementation, Fisher will do requirements.

1.3. Operational Setting

The stand-alone version of dftool is designed to run on any major computing platform, in particular Microsoft Windows, Apple Mac OSX, and Linux. The necessary Java support must be installed on the running platform.

As a component of an integrated development environment, the most likely setting will be as a plug-in to the Eclipse IDE. These requirements do not address this aspect of dftool integration.

1.4. Impact Analysis

The desired positive impacts are these:

  1. increased use of DFDs in software engineering courses
  2. better support for formal modeling in FMSL

Regarding the increased use of DFDs in courses, this is desirable insofar as DFD use is appropriate to the class projects and curriculum. The "insofar as" qualification means that DFDs are not necessarily a major part of the current course curricula, however their use can be beneficial in many cases. Having a graphical tool for DFD editing is likely to enhance their utility, in the same way that other kinds of software support tools enhance the utility of the technologies that the tools support.

Potential negative impacts are:

  1. DFDs are elevated to an exaggerated level of importance in the specification process
  2. students waste time playing with dftool in unproductive ways
  3. a flawed tool frustrates rather than assists students
The first negative impact is essentially the flip-side of the "insofar as" qualifier above. It can be mitigated by making it clear to students how DFDs fit into the scope of a particular project. This negative impact is based to a large extent on the choice of class projects. In the specific projects that have been chosen by Fisher in recent CSC 308/309 offerings, DFDs are of some use, but not as much as say UML diagrams. However, there are many other projects where the use of DFDs would be prominent, in particular projects chosen by other faculty.




Prev: [none] | Next: functional | Up: index | Top: index