[comp.software-eng] More technical scoop on Atherton Software BackPlane

mcgregor@hemlock.Atherton.COM (Scott McGregor) (03/08/91)

	Requirements Traceability, Frameworks, Workflow management, Defect
	Tracking, Structured Discourse, Task Tracking, Access Controls

In response to a recent posting of information about the Atherton 
Technology Software BackPlane,  we received some additional
questions that seem to be of wide spread interest, so I am responding here.
The questions raised good technical issues that I believe are appropriate
for discussion here, and I have attempted to address them at a high
technical level as well.  In this vein, I have eschewed simple yes and
no answers in some cases in favor of giving a more lengthy response
that hopefully gets out more of the technical meat. 

Special thanks to Alan R. Weiss, TIVOLI Systems, Inc. who put many
common questions in a particularly readable form [see "=" notes, "=>"
indicates quotes from the original Atherton posting refered to by Alan].

=> accomplish the following:
=>
=> o   a positive balance between engineering freedom and management 
=>     control.

= I would say that it needs a FLEXIBLE system whereby control can be
= tweaked as needed.

	The Atherton Technology Software BackPlane *is* flexible and
	extensible. The whole Software BackPlane is based upon an open object
	oriented repository, whose objects and methods can modified
	by the customer to meet their own needs.  New objects and methods
	can also be added.


=> o   a method for tracking requirements easily through the lifecycle.

= Can Software BackPlane (tm) translate requirements into measurable,
= quantifiable function points for me?  If not, then how do you
= track requirements in Req. Specs. through Functional and Design Specs?
= Can you track requirements down to the test case level, too?  Sigh.
= I've been designing a system to do this from scratch, and lemme tell
= you, the ol' "make or buy" decision is looking easier every day!

	The Software BackPlane can automatically initiate arbitrary customer
	provided, or 3rd party ISV, metrics programs of any sort, based upon
	the change to a specification object.  Atherton does not itself
	currently provide any specific metrics routine to quantify function
	points, but works with whatever the customer's own preferred solution
	is. 

	Requirements can be tracked to any arbitrary level. If the level is
	stored as an object, much of the tracking facility is builtin, but
should the information being tracked merely be a subpart of an object,
	this too can be handled by extending the object's instance variables.
	No specific tracking methodology is enforced--the user may create
	one customized to their own tools and processes.


=> o   can retain old versions of files so that old baselines can be 
=>     readily reproduced.
 
= How is your system adding value over and above what RCS can do?

	RCS provides only versioning of individual SOURCE files. The Software
	Backplane automatically versions not only source files, but arbitrary
	binary files, and more importantly, collections of related files
	(configurations).  Thus, Software BackPlane tracks which versions are
	parts of which configurations--necessary to avoid misbuilds caused by
	having mismatching versions of multiple related files.  This 
	capability is implemented high in the inheritance tree, and so
	user created objects can get this configuration management capability
	for their custom objects automatically.


=> o   incorporate methodologies to produce better builds, eliminate => 
   reappearing defects, and cleaner releases.

= Can you tailor the system for different methodologies and process models?
= Which ones are supported?

	Absolutely this is configurable by the user.  No particular methodology
	is favored--customers can specify their own methodologies and the
	Software BackPlane will instantiate it and ensure conformance. 
	Atherton provides consulting services to help a customer implement
	their prefered methodology into their Software BackPlane if they
	choose not to do this themselves.

=> o   ensure that tasks persist so they do not fall through the cracks.
=
= Tickler file?  Interface to calendar?  Simple database or list?

	All information is stored in the Software BackPlane repository (an 
	object oriented database).  Tasks objects can be created by the user
	and arbitrary relations to other objects can be associated with them.
	Various forms of notification to users and other objects can be
	triggered by methods executed on any specified object.  In particular,
	the Project Softboard provides a change request / bug tracking
	system that provides many capabilities for managing and tracking tasks. 

=> o   allow a software development process to be evaluated and optimized 
=>     on an on-going basis.

= Do you include heuristics?

	If you can define a method that captures your heuristic, the Software
	BackPlane can ensure that method is invoked under proper conditions in
	the software development process.  For instance, if you want your
	Cyclomatic Complexity routine to run every time a source module is
	modified and checked back in, this can be associated with the check
	in process and done automatically, updating an instance variable with
	the metric result if desired.

=> Our product, Software BackPlane is a framework for an integrated 
=> project support environment (IPSE) with facilities for building, 
=> using, and maintaining the environment.  The IPSE approach to software 
=> development encompasses the complete process -- including all 
=> disciplines involved, the various forms of project data, and the 
=> software tools used.  An IPSE provides tools to help software 
=> professionals individually and collectively, both managers and 
=> engineers.  IPSEs connect software tools, allow data to be exchanged,
=> and make it easy to manage project data.

= As you know, IPSE is most advanced in Ada systems (where it is often
= called APSE, Ada Project Support Environment).  Can your product do
= this for "C" and Unix environments?

	Yes.  The Software BackPlane in fact provides the base repository and
	methods for Verdix's APSE.  They have created special methods for
	their Ada, but the Software BackPlane is not language specific, and
	you can do the same things for C, FORTRAN, or any other language you
	like.  Special tools for doing MAKEs on C and Fortran objects are
	available from Atherton, but the user could integrate their local
	make programs to support their own specific languages even if not
	provided for directly by Atherton. The Software BackPlane runs on
	multiple Unix environments, but also on VMS due to its architecture
	based upon a Generic Operating System Layer. 
 
=> Specifically, Software BackPlane provides 
=>
=> o   Data repositories - These safeguard your data.  All versions of 
=>     project data checked into a Software BackPlane repository remain 
=>     securely in the database so that you can always retrieve an old
=>     version.

= Are you actually using plain old RCS for this?

	Actually, at present we do not.  Different versioning utilities are
	traditional for different platforms (for instance on VMS, "CMS" is
	more common than RCS) and we likewise base our versioning on different
	tools on the different architectures. At present SCCS is used for some
	object versioning on Unix platforms.  But this is transparent to the
	user, and we reserve the right to change our underlying versioning
	techniques.  (Because of our object oriented methods though this
	should not affect  users).  Additionally, RCS's (and SCCS's) diff
	mechanism is only well suited for mostly TEXT and SOURCE file types. 
	The BackPlane provides other more suitable mechanisms for versioning
	other sorts of files, such as BINARY files. 


=> In addition to Software BackPlane, Atherton Technology offers the 
=> following products and services:
=>
=> o   Project SoftBoard - A communication tool for tracking tasks 
=>     throughout a project.
== Is this an interface to e-mail via smtp?

	Not merely email, it is more a structured communication tool suitable
	for use as a defect tracking system, or change management system.  It
	comes with the ability to create user defined forms that capture and
	display your own special fields.  A terminal only interface is
	available, but most prefer to use the X based version with Text Edit
	Widgets, buttons, etc.  Also, see above question concerning 
	how the Project Softboard ensures tasks do not fall through the cracks.


=> o   Atherton-integrated Software Tools - These include text editors, 
=>     documentation applications, edit/compile/debug tools, and other 
=>     software tools.
=
= Can you be more specific here?  Debuggers?  Editors?

	Editors:	Emacs, vi, EDT (VMS)
	Language Tools: C make, FORTRAN make, Vedix VADS Ada, AIXAda, 
			VAXAda, VAXSet 
	SA/SD tools:	IDE Software Through Pictures, Cadre Teamwork
	Doc. tools:	Interleaf, Framemaker, DECWrite

	(Please contact sales for availability dates for your platforms,
	for these and other future integrations).

	As noted before, if your favorite tool is not on the list, Atherton's
	Software BackPlane architecture is designed to support customization,
	and you can integrate your own tools using our Integration SoftBoard.
	Environment Customization support is also available to help customize
	your installation to support your specific tools.

=> The remaining paragraphs describe features of Software BackPlane.
=>
=> Access control lets you define who can access an object in the 
=> database.  Access permission is granted according to a combination 
=> of the user's group or name and defined role in the software 
=> organization, such as programmer or technical writer.

= Do you support Kerberos?

	The current version of the Software BackPlane does not use Kerberos
	for its own functions, but it would support any use of Kerberos by
	and integrated tool.  But broad Access Control List capabilities
	in a distributed environment are supported.

	Also, access control and Kerberos do different things. Access
	control limits access to databases OBJECTS, based on USER, GROUP
	and ROLE.  It is similar to the Access Control Lists (ACLs) found
	on databases and some operating systems.  Kerberos is a network
	authentication system, designed to identify and control use of
	remote MACHINES and SERVICES.  Although these two features are
	related, they are not identical.

=> Context management lets you define which part of a database a 
=> specific user can access.  With contexts, users need be exposed 
=> to only the project data they work with. 

= Are you using an object-oriented database system?  Whose? 

	Yes, Atherton has its own object oriented repository.  It also
	supports entity-relation capabilities.  It is compliant with the ATIS
	standard for IPSEs (I believe that DEC IPSE, which is based
	upon an early draft of the standard, and the Atherton Software
	BackPlane are the only two currently shipping IPSE products that 
	are ATIS standard compliant at present).  

	This is Atherton's own database has been extensively optimized to
	suit the granularity requirements of IPSEs.  This has enabled us to
achieve performance advantages for the most common IPSE tasks and
	database sizes over what we have seen with "general purpose" object
	oriented database management systems; and those are not available
	with ATIS compliant interfaces.

= How can I reach a *local* sales office for more information?

For more information, please contact your nearest ATHERTON TECHNOLOGY
regional sales center:

Eastern US:
Atherton Technology
Two Wisconsin Circle #700
Chevy Chase MD 20815
Phone: (301)961-1526,
Fax: (301) 656-2421

Western US:
Atherton Technology
4100 MacArthur Blvd #103
Newport Beach, CA 92660
Phone: (714)955-3665Fax: (714)955-3762

Europe:

Atherton Technology
Hirschegraben 70, 
8001 Zurich CH
Switzerland
Phone: 41-1-262-0690
Fax: 41-1-262-0693
	and
Atherton Technology
80 Route des Lucioles
B.P. 123-06561 Valbonne-Dedex
France
33-93-95-52-54
Fax: 33-93-52-58

Asia, Africa, Canada, Mexico South and Central America:
Atherton Technology World Headquarters
1333 Bordeaux Drive
Sunnyvale, CA 94089
(408)734-9822Fax: (408)744-1607
Email: sales@atherton.com

---------------------------------------------------

Scott McGregor
Atherton Technology
mcgregor@atherton.com

eggert@twinsun.com (Paul Eggert) (03/12/91)

mcgregor@hemlock.Atherton.COM (Scott McGregor) writes:

>	RCS provides only versioning of individual SOURCE files. The Software
>	Backplane automatically versions not only source files, but arbitrary
>	binary files, and more importantly, collections of related files
>	(configurations).

This info about RCS is out of date: since version 5.5,
RCS has supported versioning of arbitrary binary files.
It's not necessarily space-efficient, but it works.

RCS has limited support for configurations; see `rcs -n'.
You can easily write your own simple configuration methods, e.g.

	ident sourcefile1 sourcefile2 ... >foo.conf
	ci foo.conf

gathers info about a configuration called `foo', so that you can later
use the contents of foo.conf,v 5.7 to retrieve configuration 5.7.
More extensive configuration support is given by the Concurrent
Versions System (CVS), a free front end to RCS.