[comp.object] Object-Oriented CASE Tools. Do they exist?

flitter@atisun.dt.navy.mil (Lance Flitter) (12/12/90)

   I'm interested in knowing what CASE Tools are available to support
an object-oriented development effort.  I'd be interested in generic
tools and language specific ones.  Front-end, Back-end, whatever. Any
input would be appreciated. Thanks.
-- 
Lance Flitter -       David Taylor Research Center, USN
flitter@dtrc.dt.navy.mil
VOICE (301) 227-3379      FAX (301) 227-5753

gordon@barbados.East.Sun.COM (G Rehling. SUN UK S+LHC Gatwick. Senior SE/CASE AMBASSADOR) (12/14/90)

I believe that IDE (interactive development environments) have a product
(it may still be in beta) which allows OO design and does code gen for
ADA and C++

The're in California someplace


In article <4901@oasys.dt.navy.mil>, flitter@atisun.dt.navy.mil (Lance
Flitter) writes:
|> 
|>    I'm interested in knowing what CASE Tools are available to support
|> an object-oriented development effort.  I'd be interested in generic
|> tools and language specific ones.  Front-end, Back-end, whatever. Any
|> input would be appreciated. Thanks.
|> -- 
|> Lance Flitter -       David Taylor Research Center, USN
|> flitter@dtrc.dt.navy.mil
|> VOICE (301) 227-3379      FAX (301) 227-5753

norcott@databs.enet.dec.com (Bill Norcott) (12/14/90)

-Message-Text-Follows-

In article <4901@oasys.dt.navy.mil>, flitter@atisun.dt.navy.mil (Lance Flitter) writes...
> 
>   I'm interested in knowing what CASE Tools are available to support
>an object-oriented development effort.  I'd be interested in generic
>tools and language specific ones.  Front-end, Back-end, whatever. Any
>input would be appreciated. Thanks.
>-- 
>Lance Flitter -       David Taylor Research Center, USN
>flitter@dtrc.dt.navy.mil
>VOICE (301) 227-3379      FAX (301) 227-5753

Trellis provides an integrated environment with a set of tools that make it
much easier to develop object-oriented applications, especially large 
applications.  I develop code on a daily basis in Trellis, C++ and C, and I
find the Trellis environment by far the easiest to use.

The tools I will describe comprise the integrated environment that comes with
Trellis.  So, these CASE tools are language-specific to Trellis.  Also, each
of these comes up in its own window, and it is possible to link the tools
together, so that the output of one tool acts as input to another.

Trellis is a REALLY integrated environment.  All the Trellis objects, including
type definitions, CASE tools (which are themselves instances of some type), 
and the instances of objects which your application created, are contained
in a Trellis "workspace".  When you start Trellis you give it the name of
the workspace (which is a big file containing all your stuff).

By the way, I would like to emphasize that these tools are just the ones we
provide for you.  It is very quick and easy in Trellis to create your own
tools which inherit some of their properties from any of the tools that come
with Trellis.  This is because the tool is itself an instance of an object of
a particular type, and you can use inheritence to derive new tools which are
based upon existing tools.  You should know that the Trellis source code for
the entire type library including all tools, comes with the system.

BREAKPOINT TOOL

	Lets you set and clear breakpoints in Trellis code.

CATEGORY TOOL

	The 250 or so pre-defined Trellis object types are grouped into
	functional categories with this tool.  This tool brings up a list
	of the categories that are defined.  Examples of categories include
	"environment", "graphics", "compiler_interface", etc.  Any newly
	created or modified type will get stuffed into a category called
	"changes".  This is very useful, since Trellis lets you know exactly 
	what you have changed.

CROSS REFERENCE TOOL

        This tool does several things for you.  You can	enter the name of
	a type and get a listing of what what calls it.  An entry in the list
	consists of the name of the Trellis type + the name of the operation,
	which referenced the type you are interested in.

	Or, you can select the name of an operation, and get a list of all
	the other operations which it calls.

	Either of these displays can return crossreferencing information
	for "supertypes only" of the type, "subtypes only" or both.  

DEFINITION TOOL

	This lets you enter the name of a Trellis type, and get a list of
	all operations on that type, including (if you wish) operations
	which have been inherited from supertypes.

EDITOR

	As the name implies, this lets you Trellis source code, but it also
	has some interesting twists.  You can use the definition tool to list
	all the operations on a type, select one with the mouse, press
	Edit, and you are now editing that operation.  You can press the
	Compile button and it will compile the Trellis code into the system.
	(By the way, Trellis employs an incremental compiler, so you can add
	or modify operations one at a time.  It is not like the edit-compile-
	link cycle you may be used to).  

	Another feature of the editor is that it will create a prototype
	operation for you, i.e. a template in the editor for creating a 
	new operation.

ERROR TOOL

	This tool pops up whenever a compilation error occurs.  An error
	message comes up, and you can click on the message to get a detailed
	explanation.  You can also show the error, which will display the
	source code with the cursor positioned at the offending statement.

EVALUATOR TOOL

	This is one of the most useful of all the tools during applications
	development.  As previously mentioned, Trellis is an incremental 
	compiler.  The evaluator acts like a Trellis interpreter.  You
	can type in any Trellis expression and click on Evaluate, and 
	Trellis will interpret and execute the statement.  You can create
	objects and invoke operations on those objects from the evaluator.
	This lets you test your Trellis code very easily without having to
	write test programs.  You can test interactively in the evaluator
	by just creating some data and invoking operations on the data.

GRASS CATCHER

	This tool keeps track of all definitions of operations which contained
	errors or inconsistencies caused by something you compiled.

SOURCE VIEWER

	Lets you scan the Trellis source of any operation (interface only,
	or implementation as well).

STORAGE TOOL

	The Trellis system has a complete garbage collection facility.  This
	tool lets you view the usage and availability of memory, and to
	manually initiate garbage collection.  It is more of a Trellis system
 	maintenance tool rather than a CASE tool.

TYPE HIERARCHY TOOL

	This interesting tool lets you view the inheritence hierarchy of
	any Trellis type:  what types it is descended from and what subtypes
	are based upon it.  Trellis allows multiple inheritence.  All objects
	in Trellis descend from a single abstract type called Object.

TYPE MODULE TOOL

	This tool lets you choose one of the categories from the category
	tool, and get a listing of all the Trellis types contained in that
	category.  Using this tool you can also save the Trellis source code
	definition of that type to a file (that is, to a unique file in the
	file system, that is outside of your workspace file).

	A pretty typical way of making sure that all of your changes are saved
	to files, is to open the category tool, click on the Changes category
	(this is all the Trellis sources you changed), bring up the type
	module tool, and choose "Save Selected Types".  This will cause
	all the changes you made to be saved to files.


This is just a brief overview of the Trellis tool set.  For more information,
you can order the following book from Digital:

		Trellis Book				Part Number

DEC Trellis Object System Guide to Tools		AA-NG93A-TE	


I hope this helps you out.

Bill Norcott
Digital Equipment Corporation

dsa@dlogics.COM (David Angulo) (12/14/90)

You asked about object oriented case tools.  StP is one such tool that
uses graphic representation of entity relations and creates C code.  We
have also developed, in-house, a tool written in PROLOG that takes as input
a simple language stating the entity relations and creates C++ classes with
code to implement persistance via interfaces to a relational database using
embedded SQL code.  It also produces the SQL code to create the database itself.
Write me with specific questions if you'd like more information.
----
David S. Angulo                  (312) 266-3134
Datalogics                       Internet: dsa@dlogics.com
441 W. Huron                     UUCP: ..!uunet!dlogics!dsa
Chicago, Il. 60610               FAX: (312) 266-4473
-- 
David S. Angulo                  (312) 266-3134
Datalogics                       Internet: dsa@dlogics.com
441 W. Huron                     UUCP: ..!uunet!dlogics!dsa
Chicago, Il. 60610               FAX: (312) 266-4473

pt@well.sf.ca.us (Neil Lang) (12/20/90)

In article <4901@oasys.dt.navy.mil> flitter@atisun.dt.navy.mil (Lance Flitter) writes:
>
>   I'm interested in knowing what CASE Tools are available to support
>an object-oriented development effort.  I'd be interested in generic
>tools and language specific ones.  Front-end, Back-end, whatever. Any
>input would be appreciated. Thanks.
>-- 
>Lance Flitter -       David Taylor Research Center, USN
>flitter@dtrc.dt.navy.mil
>VOICE (301) 227-3379      FAX (301) 227-5753


Here are a couple of other CASE tools that support (parts of ) Object
Oriented Analysis and Development

   * Teamwork by Cadre (401-351-7380 ) supports Shlaer-Mellor OOA
       (Information models & State Models & Process Models).  They also
       have an ADA tool.

   * Object Maker (??) by Mark V systems (800-666-6232)

   * TurboCase by StructSoft  ( 206-644-9834 )

   * Data Station by Charles River Development  (617-424-1820)
The latter three tools also support Shlaer-Mellor OOA to some degree.

----------------------------------------------------------------------
Neil Lang                                  pt@well.sf.ca.us
Project Technology
2560 Ninth Street  Suite 214
Berkeley CA 94710                          415-845-1484
----------------------------------------------------------------------