MC-3020 3.3 Release Notes

Table of Contents

How to Use this Document
Support for MC-3020
Web Support
Supported Platforms
Windows XP/2000/NT
Change Highlights
Upgrade Notes
Schema Changes


MC-3020 3.3 provides an improved installer, more documentation, a command line build utility (rox_build), enhanced support for BridgePoint Model Debugger and minor bug fixes.

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 BridgePoint™ products and MC-3020 specifically. (BridgePoint™ is a registered trademark of Project Technology, Inc.)

Supported Platforms

Multiple platforms and operating systems are supported by this release.

Upgrade Procedure

Follow these instructions to successfully upgrade from version 3.1 or 3.2.

Change Highlights

Read an overview of what is new for 3.3.

Known Issues

Learn about known bugs or modeling restrictions.

Support for MC-3020

World class support is provided for the BridgePoint 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.

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.

Customers Only

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.


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 XP/2000/NT/98SE/ME. (Windows 98 is no longer recommended.)

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 .NET)

  • Texas Instruments TI470 C

  • Sparcworks Workshop

  • Tasking 8051, C167 and others

  • Borland C/C++

  • Yellowsoft for H8

  • Cosmic

  • Gcc on LynxOS

  • Mitsubishi M16C

  • 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 supersede 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 uninstalled and reinstalled after upgrading BridgePoint. MC-3020 relies on components within BridgePoint. This uninstall/reinstall must occur any time that BridgePoint is altered substantially (e.g upgrade, change in location of model repository). 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 link to the correct directories. These variables use the old 8.3 format names. 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 XP/2000/NT

Follow these steps and the directions on the screen. Cygwin and MC-3020 will be installed as needed.

  1. On XP/2000/NT, log in as administrator.

  2. Uninstall the old version of MC-3020 (if you have not done so already).

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

  4. If necessary, select Program->Run under the Start button.

  5. Run the Setup program (setup.exe) on the CD.

  6. Follow the instructions.

  7. Reboot.

Cygwin Support

Excellent shell, compiler and build environment toolkit technology exists in the freely available Cygwin. MC-3020 3.1+ has Cygwin (and ksh) support right on the CD. Installation is automatic.

If you already have Cygwin installed, the MC-3020 installation CD will detect it and not install Cygwin. However, you may need to upgrade your Cygwin installation to include packages such as make, perl and xsltproc if you do not have them.

Permissions issues with Cygwin can pose a problem. Once Cygwin is installed, executables may be configured to allow only the owner of the file to read them and execute them. By default, BridgePoint is set such that only an administrator can run the repository_bin executables. Keep this in mind if you seem to be having difficulty getting some build steps to execute correctly. Access can be granted to the executables using the chmod command (in the bin directory in question type chmod ugo+rx *.exe).

The 3.1+ release CD of MC-3020 has automatic installation of Cygwin (with ksh). These instructions will serve to document where these files are expected to be.


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 file system.

  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.3 now runs a more sophisticated installer that more smoothly integrates the installation of the core model compiler and the Cygwin installer. Code generation from this model compiler is cleaner in terms of QA-C scoring and MISRA-C coding rules. When coupled with BridgePoint Model Debugger, MC-3020 now supports an enhanced communications protocol with the debugger host. Passing arguments to debugger invoked domain functions is now supported. Where debugging with BridgePoint Model Debugger was only supported in a GCC compiler environment in previous versions, debugging in the Microsoft C/C++ environment is now allowed. A build execution utility called rox_build is available to enable translation from model backup and SQL files. Other small enhancements and bug fixes are described below.

Upgrade Notes

MC-3020 3.3 is being delivered as a new CD. Upgrade per the above installation notes.


Enhanced Debug Support

MC-3020 3.3 supports recent enhancements to the BridgePoint Model Debugger. An extended communication protocol has been established by BridgePoint Model Debugger to keep the host and target in closer synchronization. MC-3020 supports this new protocol. In addition, it is now possible in MC-3020 to pass arguments to domain functions called from the debug host. See debugger documentation for details on how to make these invocations.

In previous versions of MC-3020 only compilers using strict BSD (Berkeley Software Distribution) socket libraries. This prevented the use of Microsoft Visual C/C++ when compiler for interaction with BridgePoint Model Debugger. MC-3020 3.3 removes this restriction by operating with Windows sockets (Winsock2) as well as BSD sockets.

New Installer

The previous MC-3020 installer had a minor bug when checking for Cygwin. Although this bug was mostly an annoyance, the overall install process was not very smooth. The installation of Cygwin and the other build environment packages was not very smoothly integrated with the installation of the core model compiler. In 3.3, the installer technology has been replaced with a smoother and more flexible package (Inno) that integrates the Cygwin installation better. The new installer also fixes the "NTVDM bug".

QA-C/MISRA-C Coding Style Changes

Although not fully QAC/MISRA compliant, MC-3020 has been modified to generate code that is cleaner from the perspective of static code analysis. Most of the 127 MISRA rules are fully supported by the MC-3020 generated code. The result is cleaner, "safer" code.

Note that the MISRA rules were designed for human programmers, and that some of the rules are not appropriate in generated code. Some of the rules require a trade-off of speed. Many of the rules do make good sense even in translator generated code. These rules have been implemented in MC-3020 3.3.


A command line build utility has been added to allow for custom automation of the build process and for building from exported model files. rox_build operates on BridgePoint models exported to *.sql files. rox_build will create a build directory, copy in the supplied coloring files and translate a model supplied in a file. This frees the build process from the BridgePoint model repository.

One expected use for rox_build would be automation of batch oriented build operations. Once coloring and configuration of a particular build have been established interactively, rox_build can be used to repeat the build in a single step.

rox_build can also be used in conjunction with third-party version control systems (such as CVS, CleareCASE). rox_build could also be used when building models extracted from multiple repositories. A build server could use this utility to perform automatic translation of newly checked in materials. rox_build also serves in test suite automation.

Enumeration Coloring

Two new data type colors have been added. They are called TagUninitializedEnumerationValue and TagEnumeratorDiscreteValue. These new colors enable customizing the uninitialized value of an enumeration and setting specific values for the enumeration members. MC-3020 3.3 now alphabetically sorts the enumeration members so as to provide some predictability in the assignment of values to the various enumerators.


Issue I53/F753/R119: installer error during check for Cygwin

The version 3.1 installer encountered an error while checking for Cygwin and pdksh.

      16 bit Windows Subsystem
      NTVDM has encountered a System Error
      The parameter is incorrect
      Choose 'Close' to terminate the application

The message was harmless but annoying and incorrect.

This problem is fixed with a new install package.

Issue I58/F765/R124: More documentation of PEI and SIP needed

Examples of using preexisting instances (PEI) in multi-domain environments has been requested. Some confusion exists over the use and purpose of static instance populations (SIP).

MC-3020 3.3 supplies additional documentation in the Users Guide.

Issue I64/R118: Allow passing of arguments to domain functions from Model Debugger.

Previous version of MC-3020 did not support the passing of arguments when calling domain functions from the BridgePoint Model Debugger.

MC-3020 3.3 does support passing arguments.

Issue I69/R118: Creating xml files automatically during builds for the Model Debugger

When a user builds an executable to use with the Model Debugger, they must run "make gen_all_xml" before the executable can be used in the MD environment. This extra step is just something else a user has to remember and is something that could be automated.

In MC-3020 3.3, no explicit step is necessary to generate the model debugging XML data. The build process detects when the file is needed and generates/refreshes accordingly.

Issue I86/R125: Problem executing function from Debugger

Attempts to invoke domain functions in the Model Debugger using an executable generated by MC-3020 are problematic. So far the following situations have been identified:

Press the Model Debugger start execution button. Invoke a function (with no parameters. The function executes _very_ slowly. So slowly as to be painful and possibly unusable.
Invoke a function (with no parameters) without pressing the start execution button. The applications hangs or terminates unexpectedly.

Speed problems have been addressed and support of different types of domain functions is provided.

Issue I88/F845/R175: Request for ILB circular queue

When running MC-3020 in a task and using the interleaved bridge mechanism (tagging bridge safe for interrupt execution) for interprocess communication, under stress it was possible to overrun the interleaved bridge queue. This occurred when "interrupts" occur before the bridge operation has a chance to complete thus causing re-queueing before de-queueing.

MC-3020 3.3 implements the interleaved bridge queue as a circular queue. This circumvents the problem efficiently without requiring greater queue depths.

Issue I92/F850/R183: Update User Guide to document support of new-style enums

Customers have asked for an explanation of how to use new-style enumerations with MC-3020. The UG does not explain it very well, as a matter if fact it since it mostly describes support for old-style enums, someone could reasonably think that it does not support new-style enums at all.

The Users Guide has been updated to better describe the use of enumerators.

Issue I93/R59: Support assigning discrete values to enums through coloring

Two data type colors, TagUninitializedEnumerationValue and TagEnumeratorDiscreteValue have been added to MC-3020 3.3. Use these colors to customize the uninitialized value of an enumeration and to set specific values for the enumeration members.

Note that MC-3020 3.3 now alphabetically sorts the enumeration members so as to provide some predictability in the assignment of values to the various enumerators.

Schema Changes

MC-3020 3.3 adds the attribute "Initial_Value" to the Enumeration Data Type class (S_EDT) and adds the attributes Value and Order to the Enumerator class (S_ENUM).

-- Object: 14.  Enumeration Data Type
        DT_ID   UNIQUE_ID,
        Initial_Value   STRING );

-- Object: 15.  Enumerator
        Enum_ID UNIQUE_ID,
        Name    STRING,
        Descrip STRING,
        EDT_ID  UNIQUE_ID,
        Value   STRING,
        Order   INTEGER );