IEEE Potentials Magazine - May/June 2018 - 17

As an example, the attributes for
a bunk are presented in Fig. 1. Each
attribute may have a set of allowed
values. When specifying a piece of
furniture for a customer order, each
attribute must be given a value. This
process is simplified by using default
values. Some of these can be offered
as parameters (e.g., $colorPartOver
will be a value that is offered for a
cabin, a deck, or the whole ship).
A part of the program for this piece
of furniture is presented in Fig. 2.
This is written in a special-purpose
programming language designed for
the application. It offers everything
that is needed to describe furniture
and most of the statements that we
will find in a traditional programming
language, such as if-statements,
loops, arithmetic and logical expres-
sions, and procedure calls (here ex-
pressed as include-statements).
When a customer orders a piece of
furniture, the value for each attribute
is given based on what the custom-
er wants. With the attribute values,
the system can execute the program
to produce the component lists that
are needed to build this piece of fur-
niture. We see that the program ap-
proach offers full flexibility.
With this generic system, we are
able to reduce the number of furni-
ture descriptions from 40,000 to 40.
Still, with the 40, we can produce an
unlimited number of variants. That
is, nearly all customer specifications
can be handled with the existing de-
scriptions. Or, in other words, one has
the ability to allow the customer full
freedom when specifying furniture.
The advantage is also a much better
overview and significant reduction in
the time used to create and modify
furniture descriptions. With only one
description for each type of furniture,
it is easy to tweak the descriptions
(to perform small changes over time
that offer a better product) as one gets
more experience. This allows for sig-
nificant savings in production.
In addition to the advantages
that come from a very limited set of
descriptions, the programming ap-
proach makes it easy to compute the
need for materials, costs, weight, and
number of packages. That is, the pro-

We see that when programmers have a deep
understanding of the processes that their
customers perform, new possibilities emerge.
gramming approach defines a foun-
dation where it is easy to add new
functionality. The system has been
running for two years and is used for
the whole process, both for adminis-
tration and production.
The main idea here was to see
that the number of variants was the
problem and find a method that could
handle these issues. With this in
mind and some experience from pro-
gramming languages, the solution,
describing products as programs,
was not far off.

Ship propellers
For several years, I have worked
with a foundry that produces pro-
peller blades for ships. Each propel-
ler is made out of three or more
blades, where each blade may have

a height of several meters and weigh
many tons.
The process starts by making a
model of the propeller in wood using a
five-axis milling machine. The model
is then set in a sand fixture to get a
mold. The mold is filled with nickel
aluminum (bronze) at 1,200° C. The
problem is that the cast will shrink
as the metal cools off. Therefore, the
model is inflated with a given per-
centage (e.g., made 5% larger). The
finished cast is checked to ensure
that it fulfills the requirements set
by an international standard for
propeller blades. If the measure-
ments are outside the allowable lim-
its, material must be grinded off.
The first task was to develop a
program that could measure the
cast and then help an experienced

Fig1 the attributes for a bunk.

Fig2 part of the program describing a bunk.

IEEE PotEntIals

May/June 2018

■

17



Table of Contents for the Digital Edition of IEEE Potentials Magazine - May/June 2018

Contents
IEEE Potentials Magazine - May/June 2018 - Cover1
IEEE Potentials Magazine - May/June 2018 - Cover2
IEEE Potentials Magazine - May/June 2018 - Contents
IEEE Potentials Magazine - May/June 2018 - 2
IEEE Potentials Magazine - May/June 2018 - 3
IEEE Potentials Magazine - May/June 2018 - 4
IEEE Potentials Magazine - May/June 2018 - 5
IEEE Potentials Magazine - May/June 2018 - 6
IEEE Potentials Magazine - May/June 2018 - 7
IEEE Potentials Magazine - May/June 2018 - 8
IEEE Potentials Magazine - May/June 2018 - 9
IEEE Potentials Magazine - May/June 2018 - 10
IEEE Potentials Magazine - May/June 2018 - 11
IEEE Potentials Magazine - May/June 2018 - 12
IEEE Potentials Magazine - May/June 2018 - 13
IEEE Potentials Magazine - May/June 2018 - 14
IEEE Potentials Magazine - May/June 2018 - 15
IEEE Potentials Magazine - May/June 2018 - 16
IEEE Potentials Magazine - May/June 2018 - 17
IEEE Potentials Magazine - May/June 2018 - 18
IEEE Potentials Magazine - May/June 2018 - 19
IEEE Potentials Magazine - May/June 2018 - 20
IEEE Potentials Magazine - May/June 2018 - 21
IEEE Potentials Magazine - May/June 2018 - 22
IEEE Potentials Magazine - May/June 2018 - 23
IEEE Potentials Magazine - May/June 2018 - 24
IEEE Potentials Magazine - May/June 2018 - 25
IEEE Potentials Magazine - May/June 2018 - 26
IEEE Potentials Magazine - May/June 2018 - 27
IEEE Potentials Magazine - May/June 2018 - 28
IEEE Potentials Magazine - May/June 2018 - 29
IEEE Potentials Magazine - May/June 2018 - 30
IEEE Potentials Magazine - May/June 2018 - 31
IEEE Potentials Magazine - May/June 2018 - 32
IEEE Potentials Magazine - May/June 2018 - 33
IEEE Potentials Magazine - May/June 2018 - 34
IEEE Potentials Magazine - May/June 2018 - 35
IEEE Potentials Magazine - May/June 2018 - 36
IEEE Potentials Magazine - May/June 2018 - 37
IEEE Potentials Magazine - May/June 2018 - 38
IEEE Potentials Magazine - May/June 2018 - 39
IEEE Potentials Magazine - May/June 2018 - 40
IEEE Potentials Magazine - May/June 2018 - 41
IEEE Potentials Magazine - May/June 2018 - 42
IEEE Potentials Magazine - May/June 2018 - 43
IEEE Potentials Magazine - May/June 2018 - 44
IEEE Potentials Magazine - May/June 2018 - 45
IEEE Potentials Magazine - May/June 2018 - 46
IEEE Potentials Magazine - May/June 2018 - 47
IEEE Potentials Magazine - May/June 2018 - 48
IEEE Potentials Magazine - May/June 2018 - Cover3
IEEE Potentials Magazine - May/June 2018 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/potentials_20190102
https://www.nxtbook.com/nxtbooks/ieee/potentials_20181112
https://www.nxtbook.com/nxtbooks/ieee/potentials_20180910
https://www.nxtbook.com/nxtbooks/ieee/potentials_20180708
https://www.nxtbook.com/nxtbooks/ieee/potentials_20180506
https://www.nxtbook.com/nxtbooks/ieee/potentials_20180304
https://www.nxtbook.com/nxtbooks/ieee/potentials_20180102
https://www.nxtbook.com/nxtbooks/ieee/potentials_111217
https://www.nxtbook.com/nxtbooks/ieee/potentials_091017
https://www.nxtbook.com/nxtbooks/ieee/potentials_070817
https://www.nxtbook.com/nxtbooks/ieee/potentials_050617
https://www.nxtbook.com/nxtbooks/ieee/potentials_030417
https://www.nxtbook.com/nxtbooks/ieee/potentials_010217
https://www.nxtbook.com/nxtbooks/ieee/potentials_111216
https://www.nxtbook.com/nxtbooks/ieee/potentials_091016
https://www.nxtbook.com/nxtbooks/ieee/potentials_070816
https://www.nxtbook.com/nxtbooks/ieee/potentials_050616
https://www.nxtbook.com/nxtbooks/ieee/potentials_030416
https://www.nxtbook.com/nxtbooks/ieee/potentials_010216
https://www.nxtbook.com/nxtbooks/ieee/potentials_111215
https://www.nxtbook.com/nxtbooks/ieee/potentials_091015
https://www.nxtbook.com/nxtbooks/ieee/potentials_070815
https://www.nxtbook.com/nxtbooks/ieee/potentials_050615
https://www.nxtbook.com/nxtbooks/ieee/potentials_030415
https://www.nxtbook.com/nxtbooks/ieee/potentials_010215
https://www.nxtbook.com/nxtbooks/ieee/potentials_111214
https://www.nxtbook.com/nxtbooks/ieee/potentials_091014
https://www.nxtbook.com/nxtbooks/ieee/potentials_070814
https://www.nxtbookmedia.com