MC-3020 3.0 Release Notes

Table of Contents

How to use this document
Support for MC-3020
Web Support
Supported Platforms
Windows 2000/NT/98
Change Highlights
Upgrade Notes
Schema Changes


MC-3020 3.0 is a major enhancement release which provides many new features and optimizations and provides the infrastructure for UML Debugger support and Static Instance Population (SIP) capability. Both of these latter features will be fully supported in version 3.1 which will follow shortly after the 3.0 release.

How to use this document

This document has been divided into the following sections for easier reference:

Support for MC-3020

Support resources available for DesignPoint� and BridgePoint� products and MC-3020 specifically. (BridgePoint� and DesignPoint� are registered trademarks of Project Technology, Inc.)

Supported Platforms

Multiple platforms and operating systems are supported by this release.

Installation Procedure

Follow these instructions to successfully install for the first time or upgrade from a previous version.

Change Highlights

Read on overview of what is new for 3.0.

Known Issues

Learn about known bugs or modeling restrictions.

Support for MC-3020

World class support is provided for the BridgePoint and DesignPoint products. Support is available via the web, email, telephone, and fax. Each of the support options is described at our support web address: Project Technology Support.

Web Support

The Project Technology, Inc. web site is available 24 hours a day, 7 days a week. You can access the following features at the Project Technology Customer Service web site by clicking on the "Customers Only" icon:

Problem Report Submission

Use a pre-defined form to submit a problem report and be assured you are providing enough information for our support technicians to help you. The information that you provide on this form is emailed to our support organization at <[email protected]>.

Enhancement Idea Submission

Submit your enhancement ideas directly from your workstation as you think of them. This information will be immediately entered in our enhancements database for consideration in future releases. Your ideas drive our product development ONLY when we hear them.

Technical Tips

Read technical tips that will help you get more out of your Project Technology software products. New tips will be posted on a regular basis and old tips will be archived for your easy reference.

Application Notes

Read technical papers that treat topics of interest in depth. Many are written by Project Technology developers, instructors, and consultants, but we encourage you to submit your own contributions.

BridgePoint Users Mailing List

We have extended our popular users' mailing list service by adding a list for BridgePoint users. This mailing list allows you to communicate with a community of BridgePoint users, who are solving many of the same problems you encounter each day. You'll have to sign-up for this service.

The "Customers Only" section utilizes authentication technology to limit this service to Project Technology, Inc. customers who have support contracts.

To access this area, you will need your Project Technology Customer ID and your web site password. You'll find your Customer ID on packing lists and/or invoices you have received from us. Your initial password is the first eight characters (or all, if eight or fewer) of the name of the city your product was shipped to, capitalized appropriately, with spaces compressed out.

Project Technology, Inc. is your first stop for customer support. If what you need is not available there, the web site of ROX Software, Inc. has additional support material. Visit ROX Software, Inc. This site contains sample models, generated code and an online version of the MC-3020 Users Guide. All of the most recent and up-to-date material is found at this web site.


The customer support email address is <[email protected]>. This is the preferred method for non-critical questions.


Customers within the US can call our toll-free number, 800-482-3853. The direct line, which can be used by US and International customers is +1-520-544-0808.


Our support fax number is +1-520-544-2912. Please specify preferred method for response.

Supported Platforms

MC-3020 translation runs on all platforms supported by BridgePoint. See your BridgePoint release notes for details on versions of the operating systems. The list includes Solaris and Windows 2000/NT/98SE/ME.

Targets for running the translated models include almost any platform with an ANSI compliant C compiler. Compilers known to work include:

  • gcc (which supports Linux, Windows, Mac, H8 and many, many microprocessors)

  • Microsoft Visual C/C++ (Visual Studio)

  • Texas Instruments TI470 C

  • Sparcworks Workshop

  • Tasking 8051, C167 and others

  • Borland C/C++

  • Yellowsoft for H8

  • Cosmic

  • others


Find here step by step instructions for installing MC-3020 onto the development platform.

Documentation is found in the docs directory of the installed model compiler. Directions presented by the installation program that differ from this manual supercede the instructions listed here. The installation program will always provide the most recent and timely installation information. The text in the on-line user guide at will be even more up to date.

Uninstall any previous version of MC-3020 before beginning the installation process.

Note MC-3020 will need to be unintalled and reinstalled after upgrading BridgePoint. MC-3020 relies on components within BridgePoint.

MC-3020 version 2.2 will run with BridgePoint 6.0 but the ROX_* environment variables need to be set to point to the correct (new) locations. Specifically, the variables ROX_PT_HOME and ROX_PT_REPOSITORY_HOME need to correctly link to the correct directories. These variables use the old 8.3 format variables. DIR /X is the DOS command to see the underlying file and path names.

Note that MC-3020 may not install onto a system that does not have the appropriate licensing.

Windows 2000/NT/98

Follow these steps and the directions on the screen.

  1. On NT, log in as administrator.

  2. Insert MC-3020 compact disk into the CD ROM drive of the development platform.

  3. Select Program->Run under the Start button.

  4. Run the Setup program on the CD.

  5. Follow the instructions.

  6. Reboot.

MKS Discontinued - Cygwin Supported

The MKS Toolkit has served MC-3020 well. However, superior technology exists in the freely available Cygwin. Cygwin.

If you run MC-3020 on Windows (ignore this if you do not), uninstall MKS and install Cygwin. Visit the Cygwin web site listed above. You can install from the Internet.

MC-3020 uses the Korn shell in the build environment. Korn shell does not (as of this writing) come standard with Cygwin. A distribution of the public domain Korn shell (ksh) is provided with MC-3020. Find it in mech/windows/pdksh-5.2.14-1.tar.gz (or similar) in the mc3020 installation directory. Untar the the archive and place the executable in your path (preferably in the usr/local/bin of your Cygwin installation).


Follow these steps and the directions on the screen.

  1. Insert MC-3020 compact disk into the CD ROM drive of the development platform.

  2. Ensure that CD is mounted as an ISO-9660 type filesystem.

  3. Run the setup.ksh program on the CD.

  4. Follow the instructions.

  5. Establish environment variables as directed by the installation program.

Change Highlights

MC-3020 3.0 has refined its support for the features of BridgePoint 5 and 6 and has fixed problems discovered in the earlier 2.x versions of MC-3020. It adds a number of requested features. MKS is no longer supported. Cygwin is supported.

Upgrade Notes

There are some changes to the build environment that require attention. This section will outline these changes. See the installation appendix for more details.

Support for Cygwin

The MKS Toolkit has served MC-3020 well. However, superior technology exists in the freely available Cygwin ( Cygwin).

Cygwin provides most of what MKS supplies and more. The utilities needed for the build environment are part of Cygwin with the exception of ksh which is supplied in the MC-3020 distribution (in mech/windows/pdksh*.


DList Container

A new "flavor" of container has been added which implements a doubly-linked list (dlist). With the added flexibility of the dlist "containoid", delete operations from instance collections greater than 100 are substantially faster. The cost is an additional pointer size of storage for each container in the system. This option is colorable.

The default singly-linked list (slist) collection mechanism of MC-3020 is compact but suffers a linear search overhead to delete an object instance from the collection. For the price of a one pointer size of storage the new doubly-linked (dlist) mechanism provides a constant time instance deletion. A chapter discussing this topic in some detail is published in the Users Guide.

Collection Mechanism Streamlining

Trimmed some of the storage being used to manage collections. One pointer per object of static storage is saved. One pointer of instance storage is saved for every instance having a many relationship with another instance. Code was reduced slightly in the object factory routines. The set mechanism has been streamlined. This results in a little less data and a little less code being generated.

Smaller Factory Init Code

Trimmed code out of the factory initialization and create accessors for each class. More of the work is now performed by a called routine. This results in a smaller generated code image.

Clear Instances Speedup

Improved the speed of clearing instance reference sets (

s). The clear set operation is most often used to deallocate transient set variables. It now runs roughly twice as fast as before. This is accomplished by linking the list of instances into the free list as a chain rather than freeing them one at a time.

Discreet System User Callouts

Changed the system user callout functions mechanism sys_user_co.* to not generate callouts when not needed or to declare empty macros by default for the callout functions. This will effectively eliminate them from functional compilation unless explicitly added by the user. This enhancement reduces the size of the generated code image.

Improved ANSI C Purity and Simplicity

MC-3020 is purely ANSI C and generates code that can be compiled by any compiler compliant with the ANSI standard. The core model compiler now uses no libraries or system functions at all. Generated code is pure native C. All string manipulation library functions (memcpy, strcpy, strcat and related) used in previous version have been eliminated. Native C functions have replaced these system calls. This has been accomplished in such a way that a user can redefine the functions with a small archetype change or macro definition.

This change makes it simpler and easier to integrate with compilers of various makes and models and manufacturers. In addition, some simpler compilers will link in an entire library of system functions when any single function is accessed from the library. Only stdio.h remains as exposure on this front.

stdio.h is included simply for convenience during debug (for printf, etc). All generated code is simple, native C. When integrating realized external entities and timer services (TIM), other system libraries will be necessary. However, the core OOA generated code remains simple ANSI C.

Imminent Static Instance Population

Support for Static Instance Population is coming shortly in MC-3020 3.1.

The new make target make dom_xml will perform an XML extraction from the generation database. This extracted XML fully describes/defines the user application system. The format of the XML is suitable for delivery to the BridgePoint Model Debugger.

The Instance subsystem has been added to the MC-3020 meta-model. This subsystem schema has tables for instances, links, attribute values, function invocations, etc.

Infrastructure for BridgePoint Model Debugger

Code generated with MC-3020 is tooled for use with BridgePoint Model Debugger. Support for this capability is coming shortly in MC-3020 3.1. See the appropriate BridgePoint Model Debugger documentation from Project Technology, Inc. for details.

Other Enhancements

Additional capability is supplied to allow greater flexibility with naming constructs in the generated code.

The number of values allowed in an "old style" enumerator is raised from 60 to 300.

Better support for translation of Japanese language through translation build support.

Build support for Japanese Pallette is integrated.


UserEventNoInstanceCallout and next_state

The UserEventNoInstanceCallout routine was passed an uninitialized value of next_state. The interface has been simplified to only receive the event number argument.

Internal Issue 92: frag_xform.arc has bad type

frag_xform.arc parameter function returns a bad type. It returns rval_something rather than

Internal Issue 100: Duplicate Example in User Guide

There was an example used twice, once correctly and once incorrectly. The incorrect example was corrected.

Internal Issue 110: Need difference between set and element.

Right now, there is no difference between a set and a member of a set. There needs to be, because we may want to add attributes to a set or to individual elements.

Schema Changes

The MC-3020 meta-model has been enhanced to support these features and fixes. The changes are as listed:

  • An entire new subsystem is added to support the BridgePoint Model Debugger and Static Instance Population. This new subsystem is a model of the run time artifacts of the system. MC-3020 3.0 is tooled to use this new subsystem. However, support for it will come with BridgePoint Model Debugger and SIP official support in version 3.1.

  • Attribute data has been added to support prefix customization for further flexibility in the namespacing within the generated code.