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)
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-2006 Mark D. Glewwe
Return to WWW Home Page for Glewwe Family
or Mark
Last modified March, 2006