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
TC SIGAda
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.
Twin-SPIN
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
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:
- Analyze the problem space and identify the requirements for a
solution
- Select a design methodology and design a solution space
- Implement a solution using software technology, and
- 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:
- Structured (Structured Analysis, Structured Design,
Structured Code, etc.)
- Object Oriented (OO Analysis, OO Design, OO Code, etc.)
Common technologies include:
- Languages (to express an implementation)
- Commercial-Off-the-Shelf (COTS) or library of re-usable
software components
- Target Platform: including processing hardware and operating
system
Sources of Additional Information
Here are references to other on-line sources of information and
activity associated with the Software Engineering.
- WWW Virtual Library - Software
Engineering
via NASA Johnson Space Center
- IEEE
- ACM
- Society of Concurrent Engineering (SOCE)
- Silicon Valley Chapter of SOCE
- International Council on Systems Engineering (INCOSE)
- Computer Engineer degrees and careers: How
to become a Computer Engineer (yea, not quite a
software engineer, but related)
Software Engineering
Process & News
We'll do right if we capitalize on our mistakes
or
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:
- Twin Cities Software Process Improvement Network (Twin-SPIN)
The Twin-SPIN is recognized by the SEI. Meetings are the first
Thursday of each month from 6pm-8pm. Contact Jesse Freese at
JFreese@epx.cis.umn.edu
- Minnesota Software Association (MSA)
- Twin Cities Quality Assurance Association (TCQAA), for more
info call 612-586-9932
Non-local Regional quality organizations are:
National organizations & vendors:
Conferences
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
Languages
C/C++
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
Java
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
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.
- Ada Language & Usage
- Ada Art
- Ada Vendors
- Ada Events
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
RTOS
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).
- RTOS Standards
- Commercial RTOS & Vendors
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.
Networks
Unified Modeling Language (UML)
A language to visualize a distributed object oriented system.
CORBA
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.
- CORBA Language
- CORBA Vendors
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.
- ATM
- DCE
- DCOM
- Ethernet
- Fibre Channel
- FDDI
- Frame Relay
- Netstation Project
at USC
"The goal of this project is to demonstrate that gigabit
LANs can
effectively replace the system bus in conventional
workstations. By
rearchitecting around a network, processors and device
resources all
reside in cyberspace. "
- SCI (Scalable Computer Interface)
Methods
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.
Conferences
For conferences related to general interest:
- Software Technology Conference, Salt Lake City, UT - April 1998
- Embedded Software
Conference (ESC), San Jose, CA and Boston, MA
- International Conference on Software Engineering (ICSE),
Limerick Ireland
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.
- The Nycor Group -
professional recruiters
- Sysdyne - Engineering
& I.T. Professionals On A Temporary BasisTM
Training & Education
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
Management
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