Welcome to Mark's Workshop

All programmers are playwrights and all computers are lousy actors.

Mark is involved with engineering development of quality software products including:

Mark has been involved in software development since 1976. Take a look at his resume, or just read a brief summary here. He received a Bachelor's Degree in Computer Science from the Institute of Technology (IT) at the University of Minnesota (UoM) in 1979. His primary experience has been the development of embedded real-time software, but also has experiences in research & development. He is a member of the ACM, SIGAda, and the Twin Cities SIGAda and Twin Cities SPIN. He is currently employed by BFGoodrich Aerospace, Aircraft Sensors Division in Burnsville, Minnesota.  Previously he worked for

Current Employement

Aircraft Sensor Division  is a division of the BFGoodrich Aerospace Corporation. ASD is a provider of sensors and sensor subsystems to worldwide aircraft, including Military, Commercial Transport, Regional & Business Aircraft, and Propulsion & Space. Mark has been working with BFGoodrich since February 1998.

By the way, in keeping with the current fad of willy-nilly change of company names, BFGoodrich Aerospace has announced that their company name will be changed to InRich some time early in the year 2000.  The reported ratonale for this event is to avoid the confusion with BFGoodrich tires (which was sold to Michelin many years ago) and to form a company identification that comes from merger of Innovation and the good name of BFGoodrich.

Local Affiliations


The Twin Cities Special Interest Group for the Ada programming language (TC SIGAda) was founded in 1983. Mark is a founding member of the TC SIGAda and continues to be active.


The Twin Cities Software Process Improvement Network (Twin-SPIN) was founded in January of 1996. Mark is an active member of the Twin-SPIN. There is an electronic distribution list used to send e-mail to all Twin-SPIN members.

Dilbert ZoneDilbert

What else can I say? Scott Adams' cartoon speaks to our generation, our profession, and to our industry. Check out the Dilbert Zone yourself.

Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.

Scott Adams

Software Engineering

There are 10 types of people in the world:
those that understand binary, and those that don't.

In general, software engineering is like any other engineering discipline. The overall process steps are:

  1. Analyze the problem space and identify the requirements for a solution
  2. Select a design methodology and design a solution space
  3. Implement a solution using software technology, and
  4. Verify and validate the solution satisfies the specified problem
The methods and technologies may be different, but a comparison to other engineering disciplines still apply (e.g., civil, electrical, mechanical, etc.).

Common methodologies include:

Common technologies include:

Sources of Additional Information

Here are references to other on-line sources of information and activity associated with the Software Engineering.

Software Engineering
Process & News

We'll do right if we capitalize on our mistakes
Potrzebies per Kilowhatmeworry?

Mark has been involved in software process improvement activities since 1991. He is a member of the Twin Cities SPIN and a previous lead of the SEPG at Computing Devices International in Bloomington, Minnesota.

Software processes are intended to define the work necessary to perform tasks. This includes describing the sources of information & work products, when to start a task & when a task is completed, identify the roles to be performed & who does them, and what is necessary to do to complete the tasks.

The SEI Capability Maturity Model is a model of Key Process Areas and what the goals and key practices are for each KPA.

Software Processes are only one part to developing quality software. In addition, you need Technology and People.

Sources of Additional Information

Here are some additional sources of information and activities associated with the processes of Software Engineering.

Local quality organizations are:

Non-local Regional quality organizations are:

National organizations & vendors:


For conferences related to general interest:

Software Engineering
Technology & News

As a result of his experiences, he has used many technologies and tools.

His preference for developing large, reliable, high-performance software products. His preference for programming languages is Ada. Mark has been involved in using Ada since 1983. Mark also has been involved with developing and using Real-Time Operating Systems. He is a member of ACM, SIGAda, and TC SIGAda.

Software Technologies are only one part to developing quality software. In addition, you need Processes and People.

Imagination is more important than knowledge.

-- Albertt Einstein



C is nothing more than an assembly language, and, well, C++ in Cantonese is pronounced "C ga ga". Need I say more?!?

but it probably can't be said better than...

"C is quirky, flawed, and an enormous success."

-- Dennis M. Ritchie, April 1993
C++ Vendors


The beginnings of a embedded object oriented language for the masses.  The syntax of C++, some of the semantics of Ada, and enough shortcomings to keep it from ever achieving what everyone says it can do.

Java Vendors

Ada LovelaceAda

For mature programmers only!

Ada provides a powerful way to express software to address the requirements of embedded, real-time software. Ada is an ANSI standard language designed for software that is large, long lived, and needs to be reliable and maintainable.

Here are references to on-line sources of information and activity associated with the Ada technology.

Ada Language & Usage

Ada Art Ada Vendors (Also check out vendor list in Ada Brave new workshop and AdaIC) Ada Contractors Ada Events & Conferences


Real-Time Operating Systems (RTOS) provide reliable, high-perfomance platforms for software applications to run on. An OS's primary function is to manage the resources (memory, peripherals, etc.) for applications. An RTOS must ensure that the quality of service expectations are met by the service resources. Commercial RTOSs are now available for the embedded market, and are gaining support in commercial markets that demand reliability and high-performance (e.g., video). Oh! and even though there is no chance that MS-Windows will ever be mistaken for an RTOS, there are sources of information on Microsoft and the Annoyances of Windows95.

Here are references to on-line sources of information and activity associated with RTOS technology.

RTOS Standards

Commercial RTOS for embedded targets & their Vendors

Specifically, identify the OS, vendor, and specify if it is real-time, embedded target, POSIX compliance, and contact information.


Unified Modeling Language (UML)

A language to visualize a distributed object oriented system.


The Common Object Request Broker Architecture (CORBA) is a multi-vendor standard for building open, interoperable client/server applications using distributed objects. CORBA is a standard of Object Management Group (OMG). CORBA is essentially the design specification for the object bus, known as an Object Request Broker (ORB). An ORB provides all of the mechanisms required for objects on multiple devices, written in various languages, at different places on an network, to send requests and accept responses from each other. Here are references to on-line sources of information and activity associated with the CORBA technology.

Other Networking Options

As this gets sorted out, the information will be sorted out into physical media, protocol, etc. For now, this tends to be a place holder of emerging technologies.


Methods are the means to use a technology successfully.  For instance, the 1970s gave us structured programming, design, and analysis.  Today we look towards object oriented programming, design, and analysis.

Sources of Additional Information

Here are references to other on-line sources of information and activity associated with the other technologies of Software Engineering.


For conferences related to general interest:

Software Engineering
People & News

Failure is an event, never a person.
William D. Brown
As a result of his experiences, he has met many people and companies.

Feel free to contact me if you are interested in job opportunities, talented people, or just getting in touch with the community networking.

Mark D. Glewwe
Senior Software Engineer
Computing Devices International
The views expressed are my own personal views and do not  represent the company's views (until such time that they change their views to agree with mine).
office: (612)921-6090
fax:    (612)921-6869
e-mail: mark.d.glewwe@cdev.com
home:   (612)440-4558

e-mail: glewwe@millcomm.com

Software People are only one part to developing quality software. In addition, you need Process and Technology.

Sources of Additional Information

Here are references to other on-line sources of information and activity associated with the people and organizations for Software Engineering.

Career Opportunities

These are provided for possibilities. I am not always familiar with the service, so feedback is always welcome. Training is learning how to perform a specific task, such as how use a compiler.  You train a dog.  Education is learning how to learn and how to apply the new knowledge with changing situations.  Education provides us the ability to survive in new environments.  Training allows us to be more productive and efficient.  Education allows us to discover new opportunities.  Both are necessary, but they are not the same.

Diplomacy is the art of saying "nice doggy" until you can find a rock.

Welcome to Mark's Work Humor

Airline Humor
Engineering Humor

For comments, please contact Mark, the webmaster@glewwe-castle.com
1999-2014 Mark D. Glewwe

Return to WWW Home Page for Glewwe Family or Mark
Last modified September, 2014