PROGRESS REPORT – 2019-09-19

September 19, 2019
2019-09-16

“Class Preparation” Libraries

Both the ARITHMETIC and CONDITIONAL LIBRARIES have
the needed for parameters which are either previously
defined elements or numbers.  The same software parts
are used in both cases. It is time to develop a
Parameter Library to handle this requirement.  Its
developmnent will now be started.
Advertisements

Prague Conference in 1987

September 17, 2019

In 1987, I presented a scientific paper at a conference
in Prague, Czechoslovakia.

At that time, Prague was a city in the territory under
control of the Soviet Union.

I have always performed my research on my own time and money.

I attended the conference on my vacation.

Needless to say, the other attendees were quite curious
about my personal research efforts.

During this time, I had an interesting conversation with
a Polish attendee while walking along the river:

POLISH ATTENDEE: We are not special.

MY RESPONSE: Being special is defined by what you do
to be the very best in your field.

POLISH ATTENDEE: We have no resources.

MY RESPONSE: Do you have a personal computer at your home?

POLISH ATTENDEE: Yes.

MY RESPONSE: Probably a better one than I have. My is
a Heathkit H89.

POLISH ATTENDEE: The bosses will not like it.

MY RESPONSE: Usually, the bosses don’t kill the goose
that lays the golden egg right away.

At this point he understood and I was effectively
“walking on water”.

You ask: why am I sharing this little bit of history
with you.

History is a great teacher and today we need to learn
this lesson.

The Twitter Seminar On The Development of Error Free Software Continues — Session 6

September 16, 2019

CAN WE PREVENT ERRORS DURING SOFTWARE DEVELOPMENT?

Suppose we had a software tool that produced source code
exclusively from a set of macros? Would it be restrictive?

A computing language is often considered the pallet where
the programmer expressive his creative juices.

Restricting the programming effort to a minimal set of macros
would take all of the fun out of the project.

In addition, a highly skilled programmer can be trusted to do
the job correctly without these constraints.

Would you believe it I told you that all programmers, even the
great ones, make errors.

The errors made by the junior programmers show up quickly
during checkout and are easy to fix.

The errors made by the senior programmer take a long time to
show up and are difficult to fix.

Restricting the “field of play” can greatly simplify the
development process.

Restricting the “field of play” can greatly reduce the
occurrence of errors.

In the hardware world circa 1980’s, management select the
Integrated Circuits to be used in the project.

Unfortunately, management cannot provided the an appropriate
set of software parts.

Programmers are needed to develop an appropriate set of software
parts. Is a programmer a QA manager?

WHATIFWE had a senior programmer who was also a Quality Manager?
Would this help?

The Purpose of My Blog

September 14, 2019

The original purpose of my blog was to provide me an easy
means of reporting my activity on my personally funded
research and development activities on error-free software
development methods.

I subsequently expanded the purpose of my blog to encourage
others to improve their skills by conducting their own
regular experimental process.

I became a software engineer in 1966 due to an experiment
that I had performed. I have never taken a course in
Software Engineering. You are encouraged to take a similar
path. If my tools can be of any benefit, they can be
downloaded free-of-charge from my web-site, http://www.whatifwe.com

Monte-Carlo Test Method

September 10, 2019

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?

The Twitter Seminar On The Development of Error Free Software Continues — Session 5

September 9, 2019

CAN WE PREVENT ERRORS DURING SOFTWARE DEVELOPMENT?

It is important to detect and properly respond to an error
condition during the execution of the product.

It is also very important to prevent errors in the software
development process.

Perhaps we should look again at the development of military
hardware, circa, 1980’s.

In the hardware world, Quality Assurance begins with the
selection of a set of parts.

Management selected a set of Integrated Circuits and the
Engineers were required to use them in the design.

Would you believe it if I told you that there is an software
equivalent to the integrated circuit?

There is a “software part” equivalent and it is not an object
(which is more like a circuit board).

We can find our “software part” in the history of software
engineering.

Specifically, it is the macro instruction set in the
macro-assembler circa 1990.

These macros were used to define common multi-instruction
processes such as 4-byte addition in a Z80 machine.

Once defined, these macros were never changed. They became
standard “Software Parts”.

Unfortunately, the use macro instruction set was optional
in the development of an assembly language program.

WHATIFWE had development software tool that produced source
code exclusively from a set of macros?

Limitation to My Response to Your Comments

September 6, 2019

Every day I receive between 50 and 100 comments. Many of these comments request information or advise from me.

I appreciate the honour of your request for information.

Unfortunately, there is only one of me managing and writing the blog. Consequently, I simply do not have enough time to reply to each of your questions.

There are many comments that ask the same question. In these situations where I have the information, I will provide my knowledge in a post, time permitting.

I will respond to any comment made by a person who is experimenting with my software development tools.

Thank You

STATUS REPORT

September 5, 2019

2019-08-27

“Class Preparation” Libraries

Both the functional and error tests of the
“ARITHMETIC LIBRARY” are complete. The library
is now ready for experimental use. The next
project

The next “Class Preparation” Library to be
developed will be for processing the “If” “Then”
and “Else” statements. The library name will be
classcommonconditional

2019-08-28

“Class Preparation” Libraries

The preparation of the software parts defining the
classcommonconditional library has begun.

The Role of the Media

September 3, 2019

Both the incompetent and the competent benefit from
media attention.

The competent leader requires community participation.
The media helps him to obtain the participants.

The incompetent needs 15 minutes of fame. The media
helps him to satisfy his greedy goals.

Unfortunately the entertainment associated with the
incompetent attracts a lot of media attention.

The competent pioneer finds new solutions to current
problems.

WHATIFWE were to provide the media attention needed
to develop hope from the new ideas of the competent
pioneers?

How Do I Make My Blog

August 31, 2019

There have been quite a few requests for advice on
“how to build a blog”. As you can see from my blog, I have
prepared a lot of posts. Therefore, I have learned how
to do it efficiently.

There are some simple rules for making your blog easy
to prepare.

1. Have a well-defined purpose for your blog. For myself,
my blog was a means of publicly documenting my research and
development efforts.

2. Use a standard format. Then you can build a template
which will greatly facilitate its preparation. I use
my development software to write the blog.

3. Don’t get carried away with an artistic design. I use
the free WordPress. I do not use any pictures; all I
have to do is paste in the text. Above all, I did not
have to develop the blog web-site.

Above all, recognize that every post you publish will be
in the public domain forever. I have been very careful
to put just enough information to identify and date my
efforts but not to give away any proprietary data.

Hope that this helps.