Overview

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.

Problem Report Submission

Use a predefined 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 e-mailed 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.

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.

Email

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

Phone

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.

Facsimile

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:

Installation

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 www.roxsoftware.com 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.

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

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

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

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

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

Follow the instructions.

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.

Solaris

Follow these steps and the directions on the screen.

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

Ensure that CD is mounted as an ISO-9660
type file system.

Run the setup.ksh program on the CD.

Follow the instructions.

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.

Enhancements

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.

rox_build

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.

Fixes

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

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.

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