Posts Tagged ‘software’

Monte-Carlo Test Method

September 20, 2013

A Number of years ago, I had a contract to build a hardware
control sub-system software product.

This hardware control sub-system was designed to control
legacy hardware shipped back from the Middle East.

This legacy hardware appeared to have not been well-maintained;
it needed a lot of service.

I was afraid that I might break this hardware when I tested my
hardware control sub-system software product.

I developed a Monte-Carlo Simulator/Stimulator Test System to
validate my hardware control sub-system product.

The Monte-Carlo technology is based on a pseudo-random generator.
It was originally used in the development of nuclear weapons.

The random nature of my Monte-Carlo Test System enabled me to
rapidly and thoroughly test the hardware control sub-system, both
from a user and hardware point-of-view.

The use of a Monte-Carlo Simulator/Stimulator Test System
enabled me to deliver an error-free software product.

WHATIFWE used Monte-Carlo software test methods for all software.
Would we get better products?

Advertisements

Developing a Website using a software parts library

September 20, 2013

The activity associated with development of a software parts library
for the development of a web-site will be presented here. This will be
an extension of the library used to prepare Programmable Software
Development Environment manual.

This effort was started a long time ago following the development of
the manual software parts library. Its purpose was to eliminate the
need for Front Page.  It was subsequently put on hold so that other
more important efforts could proceed.

Mr. Mike is a long time professional friend of mine who has recently
offered to reconstruct my Web-Site.  I told him my plan to use my tool
to rebuild my site.  He has had difficulties relating to my technology
(It is quite different than normal programming methods) and I am not
really skilled in Web-site design. We both felt that this might a great
opportunity to make the technical connection.

THURSDAY: 2013/09/19

STATUS: The software parts library for the CSS file has been
successfully prepared and functionally tested.

MY NEXT TASK: An examination of Mr. Mike’s source code with the object
of defining a set of software parts is the next task,

Life of A Programmer — Session 6 — What should a Quality Assurance Software Engineer Know.

September 12, 2013

SOFTWARE ERROR SOURCE 2:  THE OPERATING SYSTEM.

The operating system is the silent partner in all software
development activities.

The operating system, also having been developed by human
beings, will also have errors.

Most of the errors will have already been discovered.

The ones that have not been discovered will, in general,
be difficult to fix.

You, as the user, will have no control over that repair
process.

Consequently, you may end up with a difficult task of
working around a system error that was discovered on your
watch.

MORE IN THE NEXT MESSAGE

I, A Programmer, Am Also A Quality Assurance Manager

September 12, 2013

To be strictly compliant with ISO9001, Programmers must
use enforceable standard methods and processes.

Assembly Language Programmers used macros for common
multi-instruction processes.  These macros, once developed,
were never changed.

Software “breaks fatally” when it illegally writes.   The
error cannot be fixed and it might take the machine down.

There are many error detection code segments that programmers
use during checkout and then remove before delivery.

I developed a C++ Macro Preprocessor to provide a highly
competent macro capability to facilitate using error detection code.

Unlike the Macro Assembler, my C++ Macro Preprocessor prepared
source code exclusively from the Macros.

IBM developed the first piece of error-free software in 1968.
It was the PL/1 Compiler and it was a joy to use.

The PL/I Compiler was error free due the strict application of
the requirements of simple precedence.

In the late 1960’s, Bob Prince of Lockheed developed a simple
precedence based compiler writer which I used.

In the early 1970’s, I used the Lockheed Compiler Writer to
prepare non-compiler applications with moderate success.

I had difficulty with the Compiler Writer on non-compiler
applications because data flows differently than processes.

I realized many years later that a multi-dimensional precedence
process could manage both processes and the data flow.

I learned how to make a set of coupled precedence processors
that “policed” the use of classes and the flow of data.

I updated my C++ Macro Processor to render it capable of
deploying simple precedence principles to my programming efforts.

My Macro Preprocessor satisfied the Standard Methods and
processes requirements of ISO9001.

I inadvertently became a Quality Assurance Manager.

Developing a Website using a software parts library

September 12, 2013

The activity associated with development of a software parts library
for the development of a web-site will be presented here. This will be
an extension of the library used to prepare Programmable Software
Development Environment manual.

This effort was started a long time ago following the development of
the manual software parts library. Its purpose was to eliminate the
need for Front Page.  It was subsequently put on hold so that other
more important efforts could proceed.

Mr. Mike is a long time professional friend of mine who has recently
offered to reconstruct my Web-Site.  I told him my plan to use my tool
to rebuild my site.  He has had difficulties relating to my technology
(It is quite different than normal programming methods) and I am not
really skilled in Web-site design. We both felt that this might a great
opportunity to make the technical connection.

THURSDAY: 2013/09/12

STATUS: The preparation of the software parts associated with the HTML
Output library have been started. Specifically, the _HTML_OUT_CONSTRUCT
and _HTML_OUT_DESTROY parts have been preliminarily prepared.

MR_MIKE_CONTRIBUTION: I received Mr. Mike’s reconstruction of my first
web-site page.  It is nice looking and easy to read.  The code that he
used to make this page is still unfamiliar to me. Questions will be
asked and reported at the appropriate times.

DETAIL: The basic certification capabilities of the Basic Output
Library  will be enhanced by a running pseudo-random parity bit. The
key to the random generator will entered as the first parameter of the
_HTML_OUT_CONSTRUCT software part. This parity bit, the source line
number, and the date will be included as a comment at the beginning of
each line.

MY NEXT TASK: The preliminary preparation of the file setup software
parts will be the next HTML Output library task. Also, a detailed
examination of Mr. Mike’s source code will begin.

Life of A Programmer — Session 5 — You are a Quality Assurance Manager

September 7, 2013

The Deming Cycle consists of the following four steps:
Plan, Do, Check the Results, and Analyze the Results.

A computer program is a very special Deming Plan to be
performed at the Client’s site on a computer.

There is a big different between Deming Plans done by
people and Deming Plans done by computers.

If people find a problem in the plan, they will stop the
activity and report the problem to management.

On the other hand, a computer will continue to execute
the plan, no matter how defective it is.

A software developer is a very special Q.A manager and
he does not even know it.

MORE IN THE NEXT MESSAGE

Developing a Website using a software parts library

September 7, 2013

The activity associated with development of a software parts library
for the development of a web-site will be presented here. This will be
an extension of the library used to prepare Programmable Software
Development Environment manual.

This effort was started a long time ago following the development of
the manual software parts library. Its purpose was to eliminate the
need for Front Page.  It was subsequently put on hold so that other
more important efforts could proceed.

Mr. Mike is a long time professional friend of mine who has recently
offered to reconstruct my Web-Site.  I told him my plan to use my tool
to rebuild my site.  He has had difficulties relating to my technology
(It is quite different than normal programming methods) and I am not
really skilled in Web-site design. We both felt that this might a great
opportunity to make the technical connection.

SATURDAY: 2013/09/07

STATUS: I found the set of files that I used to experiment with the
layout of the web-page. To accomplish this task, I used the “frame” set
of commands and informed Mr. Mike of the status.

MR_MIKE_CONTRIBUTION: Mr. Mike indicated the these commands were
obsolete. He recommended the “div” tag command set.

RESULTS: I examined my references and found that “div” tag command set
was very complex.  I suggested to Mr. Mike that I would continue using
to “frame” command set and when I got a collection of software parts
designed, he could convert them / help me to convert them to the “div”
tag command set. He thought this was a good idea.

NEXT TASK: I would restart my experiment with the format of the
web-page and send it to Mr. Mike when I complete it.

Software “Breaks”!

September 1, 2013

A 17 year old sailor on a submarine must be able to
fix a critical piece of electronic equipment within
15 minutes.

Critical submarine hardware has the required subsystems
to facilitate the location of a failed replaceable components.

Most hardware these days has at least one computer within it.
This includes critical submarine systems.

Can the same 17 year old sailor on a submarine find and
correct a critical software failure within 15 minutes?

Does software “break”?  Not really. but software fails when
it illegally or incorrectly writes some data.

Programmers have many ways of preventing illegal writes which
they use in checkout and then remove before delivery.

WHATIFWE used formal illegal write prevention code in delivered
software?

Life of A Programmer — Session 4 — How can you become more skilled than your fellow employees.

August 31, 2013

PRINCIPLE 3: MAKE SMALL SELF-DOCUMENTING SOURCE FILES.

Each of your source code files should not be longer than
three or four pages.

Each source code file should have lots of descriptive
comments.

Each source code file should reference a section of
your plan.

Each variable name should be instantly identifiable.

Keep in mind that your source-code goal is to be able
to instantly relate to its design and use when you open
its file.

You might have to answer a question over the phone a year
after you complete the project.

MORE IN THE NEXT MESSAGE

Monte-Carlo Test Method

August 29, 2013

A Number of years ago, I had a contract to build a hardware
control sub-system software product.

This hardware control sub-system was designed to control
legacy hardware shipped back from the Middle East.

This legacy hardware appeared to have not been well-maintained;
it needed a lot of service.

I was afraid that I might break this hardware when I tested my
hardware control sub-system software product.

I developed a Monte-Carlo Simulator/Stimulator Test System to
validate my hardware control sub-system product.

The Monte-Carlo technology is based on a pseudo-random generator.
It was originally used in the development of nuclear weapons.

The random nature of my Monte-Carlo Test System enabled me to
rapidly and thoroughly test the hardware control sub-system, both
from a user and hardware point-of-view.

The use of a Monte-Carlo Simulator/Stimulator Test System
enabled me to deliver an error-free software product.

WHATIFWE used Monte-Carlo software test methods for all software.
Would we get better products?