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.