Professional Ada for PC

This page contains some information and opinions on professional Ada APSEs for PC platforms.

Information on Ada APSEs for Windows and Windows NT

After a request by someone without net-access, I forwarded some questions on Ada (9X) for Windows (NT) to the Team-Ada mailing list.

My message and an overview of the responses follows. I have removed all names and e-mail addresses (except of people giving information on their companies products).

Last updated on Mon Sep 19 1994:

Dirk Craeynest
Ada-Belgium Newsletter Editor & Team Ada
Dirk.Craeynest@cs.kuleuven.ac.be


From dirk Mon Sep 12 09:48:15 1994
Subject: Looking for prof. 9X on PC
To: team-ada@acm.org (Team Ada list)
Date: Mon, 12 Sep 1994 09:48:15 +0200 (MET DST)

I recently received the following request:

= I'm developing Telecom applications running on DOS, Windows
= and Windows NT and I'm currently looking for a professional
= Ada (and/or Ada9X) APSE running on PC especially for Windows
= and NT.
=
= [...] which are the best products currently available or in
= the Beta Testing phase?

Not being very familiar with the platforms mentioned, I would appreciate
it if other Teamers could help me to collect some information.

I had the impression that Alsys was generally considered to be (one of)
the best (cfr. messages on comp.lang.ada and several mailing lists).
Plus, a migration product from Ada 83 to 9X seems to be available now.

Additional information, corrections, opinions, etc. are welcome.

Thanks in advance.

Dirk Craeynest     (Team Ada)
Ada-Belgium Newsletter Editor     | e-mail: Dirk.Craeynest@cs.kuleuven.ac.be
Katholieke Universiteit Leuven    |         dirk@source.asset.com
Department of Computer Science    | phone:  ++32(0)16-201015 x3575
Celestijnenlaan 200 A             | fax:    ++32(0)16-205308
B-3001 Leuven (Heverlee), Belgium | http://www.cs.kuleuven.ac.be/~dirk


From: Mo Bjornestad Date: Mon, 12 Sep 1994 08:20:16 -0700 (PDT) Subject: Re: Looking for prof. 9X on PC Dick, We offer graphical tools for Requirements Analysis, Design, and Detailed Design. You can pick from 30+ methods we support for analysis and design, and we offer Buhr 84 and Buhr 90 for detailed design, from which we can generate Ada 83 bodies and specs. We will be adding an Ada 94 code generator in the next few months (very little demand yet) which will be driven from the abstract model, meaning from the semantic model created from the analysis and design steps, not from the concrete or implementation model created from detailed design. We still recommend a code management environment. I would be interested to learn what is recommended to you. Mo PS Alittle information on our tools follows: OBJECTMAKER * PRODUCT FAMILY ObjectMaker by Mark V Systems: With the ObjectMaker CASE Tool you can model your application requirements and design in one or more of the most popular notations. ObjectMaker supports more than 30 of the most popular analysis and design notations for software engineering and allows you to mix and match notations to build a single model of your software application. You can choose the notations and the depth of detail your application requires. ObjectMaker also offers support for detailed design, code generation and document generation for construction, delivery and maintenance phases. Reverse Engineering tools offer you the opportunity to re-engineer applications, reuse legacy code and incorporate commercially available components into your model for design, construction and maintenance. Contact ObjectMaker marketing at 818 995 7671, fax 818 995 4267, or objectmaker@markv.com. ObjectMaker TDK by Mark V Systems: The ObjectMaker Tool Development Kit (TDK) offers developers, integrators, OEMs, consultants, and methodologists the opportunity to customize methods, notations, syntax rules, syntax checking, semantic specification and repository capture of all semantics, and other information and relationships important to your process and problem space. The TDK provides direct access to the rules (predicate logic) that create, control, and pre- and post-condition all tool behavior, and manage all repository navigation and iteration. The TDK offers you the possibility of growing your tool and method support as your organization and process grows and matures. This is more than just being able to use the next method that comes along, more than mixing and matching notations to create the multiple views necessary for today's problems. It means you can add to the notation you select, add to the semantics, add to the checking, add to the code generation, and more as you gain experience and understand that what you need is beyond what the published methods offer. Published methods, especially the object oriented methods, are good starting points. Your process will mature past the published methods. You will need to recognize and capture the information and relationships important for your problem space. The ObjectMaker TDK provides tailorable support which enables you to develop and extend your own methods. The TDK gives you the opportunity to use and reuse your repository contents, your application models, your component libraries by giving you the facilities for data and control integration with other life cycle tools. Contact ObjectMaker marketing at 818 995 7671, fax 818 995 4267, or objectmaker@markv.com. MethodMaker (R) by Mark V Systems: MethodMaker is an exciting new extension to the ObjectMaker family which allows rapid development of new method notations. MethodMaker also allows the user to modify and extend existing ObjectMaker and ProcessMaker method support to meet project and organization requirements. The user can easily build or modify the tool support for a method by editing a diagram set. The new, or further prototyped method is self documented by the defining diagram set, and can be regenerated at any time to take advantage of new ObjectMaker features and capabilities. MethodMaker, with simple diagrams and fill in forms allows you to specify and modify the tool support for menus, notations, syntax checking, semantics specification and repository capture of semantics and other information and relationships. All ObjectMaker CASE Tool functionality is inherited. Contact MethodMaker marketing at 818 995 7671, fax 818 995 4267 or methodmaker@markv.com. ProcessMaker (R) by Mark V Systems: ProcessMaker is a specialized modeling tool which is coupled to an underlying semantics repository and code/text generator. ProcessMaker supports many popular process diagram notations and provides the user the capability to easily develop a graphic representation of a process. Users needing to capture process models, work flow models or enterprise models for process improvement, analysis, measurement, reuse, re- engineering or enactment have the choice of using multiple notations to create the views necessary for these tasks. ProcessMaker will generate output to a variety of process enactment products. Additional process modeling notations, and other techniques can be added to ProcessMaker using MethodMaker and ObjectMaker TDK tools described above. More than 15 notations are supported at this time including the popular IDEF/IDEF1x, ProNet, Process Decision Program Charts, Process Breakdown Structure Charts, YPL and Petri Nets. Contact ProcessMaker marketing at 818 995 7671, fax 818 995 4267 or processmaker@markv.com. WHY CHOOSE THE OBJECTMAKER FAMILY OF PRODUCTS? Comprehensive Vision Mark V Systems has a comprehensive vision for supporting the software engineering process. In this regard we stand ahead of most companies in terms of the breadth and depth of vision. We are building foundation technology to support all roles and activities in the software engineering process. We deliver today the core technology to support this vision. Mark V will continue to add core technology while providing the larger community of users, consultants, integrators and OEMs the opportunity to add to the services and functionality needed to support the rapid evolution in software engineering concepts. This rapid evolution impacts the process, methods, techniques and tools needed by developers. The Mark V vision recognizes the rate of change will increase. The Mark V architecture provides for meeting this change and protecting the developer's investment while giving him the opportunity to take advantage of the newest concepts. Comprehensive Architecture Starting in 1985 Mark V Systems built the first commercial tools designed to plug-and-play with framework technology (PCTE, AD/Cycle, Cohesion, CAIS-A). These tools, a general purpose drawing tool, a code generator and a code to semantic model reverse engineering tool, were completed by 1988. However, no framework technology services adequate for our tools existed in the commercial marketplace in 1988. In 1989-1992 we extended our architecture to include framework technology services with an entity, relationship, attribute (ERA) based fine-grain repository. Driven by a powerful predicate logic rule language, repository services include PCTE-like navigation, CAIS-A-like iteration, support for multiple extensible schema, and support for tool data integration. These features use commercial ASCII files for persistent storage and are implemented through an isolation layer. The family of tools using Mark V services directly or by way of data or control integration can be delivered on the Mark V repository, or can be delivered on other commercial framework or OODB products. The Mark V schema can be re- hosted to the target framework or OODB, or the tools can be re- targeted to any future standard schema or the customer's schema of choice. ObjectMaker's architecture makes it practical to support multiple tool configurations and to evolve those configurations over time. Comprehensive Fundamentals In the same period, 1989 to 1992, decisions were taken to create a meta tool. Tool functionality has been moving from the kernel to accessible, customizable predicate logic. The meta tool, the ObjectMaker TDK, is the most comprehensive and powerful technology available in the market. To make this technology accessible additional provisions were made for a graphical interface to the meta technology, and this tool, a meta method tool is now shipping as MethodMaker. Provisions were also made for building process enactment capabilities into ObjectMaker. We reserved the name ProcessMaker for the tool to be used to model process and work flow and to generate templates and scripts for other enactment tools. ProcessMaker is shipping today and offers more than 15 notations to support process modeling, and soon will generate scripts to populate existing commercial enactment tools. ProcessMaker inherits the Mark V product vision and architecture. Process modeling, process improvement, and process engineering reuse are critical to our industry. The Mark V architecture can directly support reuse. ObjectMaker is already integrated with the DOD/CIM Defense Software Reuse System and the Westinghouse ReUse system, a large internal system which Westinghouse has commercialized. We will integrate with more reuse tools because we believe reuse will provide the return on investment and the technology we need to build the complex systems of the future. ObjectMaker will, in late- 1994, deliver a fully integrated reuse mechanism for cataloging and retrieving reusable legacy code, output from other tools such as GUI builders, and commercial components purchased from the market. ObjectMaker's reuse tools will help individual developers manage and reuse their personal store of reusable models and model fragments (code). The organization will also be able to find and reuse modules, components and code identified at the requirement level, or at any level of specification in-between. Open Ended Technology The ObjectMaker Product Family is designed to be extended to fulfill the Mark V vision. Some services still in the kernel will move out of the kernel, becoming accessible to tool developers. Icon Generator is an example. In the past icons were added by making changes to the kernel. Today the drawing and icon generation services are externalized. Future MethodMaker and ObjectMaker TDK users will be able to generate smarter icons to use with new or extended methods. ObjectMaker reverse engineering technology is also being externalized. These new facilities, first shipped in December 1993, support reverse engineering and re-engineering tasks with accessible technology. An annotated parse tree from any procedural language parser can be fit to our transformation engine. The engine will populate an implementation level schema suitable for maintenance, identifying reusable components, and for restructuring and re-engineering an application. Code can be generated in the same or another target language. Mark V Systems believes externalized, open, customizable technology is required because tool companies can not anticipate the changes in the industry. Tool companies can not and should not be expected to understand and meet the specific real and evolving needs of individual application developers in any problem domain, and certainly not in hundreds of problem domains. We believe experts working closer to individual problems understand what is needed and how to support the special requirements of any project. The concepts, process, methods, notations, languages, development environments and deployment environments, the level of skills and training of the staff all vary, and all will mature over time. Needs change as we and users consider how to take advantage of new hardware options, new distributed computing options, new languages, and new technologies such as the knowledge based extensions we are adding to our tools. The understanding of how to use and reuse these ideas will improve. A flexible customizable tool will assist that process. Rigid tools will slow and frustrate that process. We offer the user, the consultant, the integrator, and the OEM, the opportunity to add value to our technology. Value that can be kept secret as a competitive advantage, value that can be sold, value that can be reused and re-marketed broadly. To make it easier to reach the world market Mark V will add third party tool extensions to our price list, with Mark V paying royalties to the developer and maintainer. Mark V supports a third party price list where the user buys directly from the developer and gets customization and maintenance directly from the organizations with the required expertise. In 1994 Mark V added on line user group services for users and for special interest groups such as TDK developers who offer to meet the needs of distributors, integrators and OEMs. This service will be a clearinghouse for value added services, consulting, tool extensions, and reusable components. Standards Meaningful standards important to the development process are beginning to appear. Standards for the applications being developed are also becoming important. Mark V has a long history of assisting this evolution and remains committed to conformance with the technology which enables efficient systems development. We are adding OLE, CORBA, ODBC, and ODMG support for interoperability. For example we are working with the OMG on the ODMG-93 standard, and the evolution of PCTE for object orientation and fine granularity, both of which will provide vendor independent and portable OODB implementations. In addition, all Mark V repository operations will have an option of using OLE 2 or the recently announced DEC supplied NT-based CORBA interfaces for access to external repositories.
Date: Mon, 12 Sep 94 Subject: Re: Looking for prof. 9X on PC Rational Software Corp. sells the VADS NT compiler. The product brochure mentions source-code debugger, Ada code linker, environmental library, Ada code optimizer, graphical user interface. However, it does not have any of the 9X extensions. R.R. Software sells a PC Ada compiler with 9X (might be beta). R.R. Software, P.O. Box 1512, Madison, WI 53701 contact: Randall Brukardt 608/251-3133; rbrukardt@bix.com.
Date: Tue, 13 Sep 1994 Subject: Re: Looking for prof. 9X on PC hey there fellow Ada teamer, We recently brought a copy of Integr Ada for Windows complete with Visual Ada for Windows. This is a product from Aetech. I and most of our team members are certainly dissapinted with this product. It is in a very early stage. We paid US$785 (educational price) for it and it certainly is not worth that money. The compiler is good. (Has some limited 9X features (non-validated)). But the tools you would like to develop Windows GUI based applications are missing. I heard that the extended version of this product (around $2000) is good and comes complete with all the tools. In the version we have the manuals are not up-to date and there are 4 example programs to look at. Meridian has a compiler and tools for the windows environment. Meridian has been marketing this compiler for quite some time now. They have a demostation disk that you can get (for FREE). From my limited experience in GUI programming, Ada 83 is not an extreamly good language. Ada 9X features certainly help a lot. Look for products that offer support to call Windows API functions. [...] PS: I can upload Aetech's demo disk to you if you need it.....
From: frederic@alsys.com (Frederic Bonnard @lone) Date: Mon, 12 Sep 94 15:58:00 PDT Subject: NT environment Dirk, Alsys has currently an NT development environment in beta test. The product is validated and will be released in October 94. Some customers are actually developping production application with it. We also have a Windows product running with Win32s. Those two products are named ActivAda for Windows and ActivAda for Windows NT. They both include an Ada sensitive color-coded editor, a GUI buildr, Win32 libraries, debugger ....They are both Ada83 products. Regards Frederic Bonnard Product Manager Alsys
Date: Tue, 13 Sep 1994 Subject: Re: Looking for prof. 9X on PC Alsys is a good choice. Also, check into DDC; They have a 9X product, but I'm not sure of which platforms.
From: ois!gamma!beckwb@uunet.uu.net (R. William Beckwith) Date: Fri, 16 Sep 94 11:19:19 EDT Subject: Re: Summary - professional Ada on PC Windows Hi Dick, I am sending a copy of our Ada 9X product info. While they is not strictly for Windows NT, both products will have Windows NT and Chicago versions. ... Bill ------------------------------------------------------------------------ e-mail: Bill.Beckwith@ois.com FAX: 703-264-1721| Team Ada Objective Interface Systems, Inc. Voice: 703-264-1900|dist, full O-O 1895 Preston White Drive, Suite 250 |multithreading Reston, VA 22091-5448 U.S.A. | built in ------------------------------------------------------------------------ OIS is working on two new products for Ada 9X. The first is a CORBA IDL to Ada 9X translator. The second is an advanced graphics library called Fresco. Additional tools for Fresco will follow. What is CORBA ? Programming languages typically provide a mechanism for specifying interfaces, but not in a manner that is appropriate for remote access to procedures or data. Distributed systems often provide a language for specifying how procedures can be called remotely, but without support for object references or polymorphism. The Object Management Group (OMG) has developed the Interface Definition Language (IDL) as a standard way to specify objects that may be accessed remotely. IDL is part of OMG's Common Object Request Broker Architecture (CORBA) that defines the mechanisms for transparent access to objects in a network. Using IDL has several advantages over the alternatives: * IDL is more abstract than object-oriented programming languages, yet concrete enough to be translated automatically into source code. * IDL can be mapped to several languages. OMG has defined a standard binding to C, and efforts are in progress to standardize mappings for Ada 9X, C++, and Smalltalk. As a result, an IDL specification is not tied to particular programming language. * IDL can support distribution; that is, the sender and receiver of an operation may be on different machines in the network. Thus, IDL provides the interface definitions for transparent, interlingual communication. In addition to the obvious benefits of facilitating application distribution, using IDL for interface definition frees each system implementor to use the language of their choice by removing the concerns for interfacing with other languages. Each part of the application communicates through an Object Request Broker (ORB). There are currently four major vendors marketing ORB products: * Distributed Objects Everywhere (DOE) by SunSoft * Object Broker by DEC * Orbix by IONA * SOMobjects by IBM Currently, an application built (in C or C++) with one product is not easily ported to another vendor's product. What is OIS's CORBA product? OIS has developed an IDL to Ada 9X translator that currently generates Ada 9X source code in the form defined by the OIS/MITRE IDL-to-Ada 9X mapping document. This includes: * interface packages * interface stubs * implementation package specification code * template implementation package body code Thus, you design the interface with IDL, run the translator to generate the framework, and then fill in the templated implementation body programs. The OIS Ada 9X packages include automatic memory management facilities. This alleviates the need to assign responsibility for destroying each object to a particular segment of your program. Performance is improved by removing the need to constantly create copies of data. The current version of the translator product allows you to build standalone Ada 9X applications in the CORBA style. This means that you can write code that uses the interface as a client and also write code that implements the server. The resulting code is good, object-oriented Ada 9X code and presents an elegant style of coding even for standalone systems. In addition, low overhead, local calls are used to communicate with the server code. The resulting application is as fast as any standalone system developed without CORBA in mind. Applications built with the current translator will not require changes to use the subsequent add-on modules that will support a particular ORB vendor's product. Certain generated, hidden child packages are regenerated from the IDL that will connect to the ORB vendor's communication subsystem. What is Fresco? C++ developers (and now Ada 9X developers) are getting a new graphics toolkit called Fresco. Fresco is being developed by SGI and Fujitsu for the X Consortium. A C++ sample implementation is available in the X11R6 distribution. However, Fresco is not limited to the X Windowing system. Fresco versions are planned for Windows NT and Chicago. Fresco is an object-oriented application programming interface (API) for graphical user interfaces that covers functionality in Xlib and Xt and adds support for structured graphics and application embedding. Fresco has three fundamental features that distinguish it from Xt and most other APIs for graphical user interfaces: * Standard object model from the Object Management Group (OMG) * Resolution-independence * Graphical embedding Graphical embedding includes both presentation, which involves the spatial composition of user interface objects, and editing, which involves logical composition of objects. Fresco supports full multi-threading. This means that Fresco functions properly in the presence of concurrent tasks sharing memory within an application, where more than one task is performing user interface operations at the same time. In addition, the event loop, screen redraw, and application operations can run in three separate threads by default. What is OIS's Fresco product? OIS is developing the Ada 9X version of Fresco. We are mirroring the C++ implementation in Ada 9X so that the Ada community can develop their own widgets and tools for GUIs. The CORBA interface will allow Ada 9X Fresco applications to interoperate transparently with Fresco/C++ applications. Developers with both OIS's Fresco and CORBA products can build graphical widgets and systems in Ada 9X that are usable from non-Ada language code. Ada 9X now has a highly advanced, truly portable graphics toolkit. This graphics toolkit is based on the next generation X standard, not a proprietary technology. Windows NT and Windows 4.0 versions are planned in addition to the VMS and Unix X Windows versions.
Subject: Re: NT Ada overview request Date: Fri, 16 Sep 94 [...] You might want to include the following information in your list. [...] Vendor: Rational Software Corporation Product: VADSself Platform: NT/386/486/Pentium * Requires Win32 SDK C runtime libraries Validation: ACVC 1.11 Compliance: ANSI/MIL-STD-1815A *NOTE: includes full support for LRM chapt. 13. Price: US$5,000.00 (Approximate) VADSself is a 32-bit Windows NT Ada development environment. VADSself fully supports the Windows NT API and the 32-bit flat memory model. In addition to the Win32 bindings (including all Windows controls and access to the native NT data structures) support for Win32s is included to provide a mechanism for moving Win32 (32 bit) applications to the Win32s (16-bit) environment. VADSself includes the validated compiler, performance optimizer, nonintrusive debugger, compilation manager, and library management tools.

Dirk Craeynest (Dirk.Craeynest@cs.kuleuven.ac.be)
Ada-Belgium Newsletter Editor & Team Ada