Have we a Human Ecosystem?
James Davenport1
masjhd@bath.ac.uk
Departments of Computer Science and Mathematical Sciences
University of Bath
1
Many thanks to Capgemini staff and members of SC2
[ABB+
16],
H2020-FETOPEN-2015-CSA 712689
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 1 / 17
COBOL
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 2 / 17
Why am I talking about COBOL here?
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 3 / 17
Why am I talking about COBOL here?
Because in 2020 the USA ran out of COBOL programmers
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 3 / 17
Why am I talking about COBOL here?
Because in 2020 the USA ran out of COBOL programmers (as well
as masks, ventilators etc.).
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 3 / 17
Why am I talking about COBOL here?
Because in 2020 the USA ran out of COBOL programmers (as well
as masks, ventilators etc.).
1 New Jersey Gov. Phil Murphy has issued a call for volunteers
who know how to code in the 60-year-old COBOL. “Literally,
we have systems that are 40-plus-years-old”.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 3 / 17
Why am I talking about COBOL here?
Because in 2020 the USA ran out of COBOL programmers (as well
as masks, ventilators etc.).
1 New Jersey Gov. Phil Murphy has issued a call for volunteers
who know how to code in the 60-year-old COBOL. “Literally,
we have systems that are 40-plus-years-old”.
2 Connecticut has also admitted that it’s struggling to process
the large volume of unemployment claims with its“40-year-old
system comprised of a COBOL mainframe and . . . ”
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 3 / 17
Why am I talking about COBOL here?
Because in 2020 the USA ran out of COBOL programmers (as well
as masks, ventilators etc.).
1 New Jersey Gov. Phil Murphy has issued a call for volunteers
who know how to code in the 60-year-old COBOL. “Literally,
we have systems that are 40-plus-years-old”.
2 Connecticut has also admitted that it’s struggling to process
the large volume of unemployment claims with its“40-year-old
system comprised of a COBOL mainframe and . . . ”
3 In 2008, then-California Gov. Schwarzenegger wanted to issue
minimum-wage checks to 200,000 state workers, but the
state’s controller said it would need at least six months to
reprogram California’s COBOL-based payroll system to issue
them.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 3 / 17
Why am I talking about COBOL here?
Because in 2020 the USA ran out of COBOL programmers (as well
as masks, ventilators etc.).
1 New Jersey Gov. Phil Murphy has issued a call for volunteers
who know how to code in the 60-year-old COBOL. “Literally,
we have systems that are 40-plus-years-old”.
2 Connecticut has also admitted that it’s struggling to process
the large volume of unemployment claims with its“40-year-old
system comprised of a COBOL mainframe and . . . ”
3 In 2008, then-California Gov. Schwarzenegger wanted to issue
minimum-wage checks to 200,000 state workers, but the
state’s controller said it would need at least six months to
reprogram California’s COBOL-based payroll system to issue
them.
4 A 2018 report by the inspector general for the Social Security
Administration found that the administration maintained more
than “60 million lines of COBOL” (probably not unique lines).
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 3 / 17
Why am I talking about COBOL here?
Because in 2020 the USA ran out of COBOL programmers (as well
as masks, ventilators etc.).
1 New Jersey Gov. Phil Murphy has issued a call for volunteers
who know how to code in the 60-year-old COBOL. “Literally,
we have systems that are 40-plus-years-old”.
2 Connecticut has also admitted that it’s struggling to process
the large volume of unemployment claims with its“40-year-old
system comprised of a COBOL mainframe and . . . ”
3 In 2008, then-California Gov. Schwarzenegger wanted to issue
minimum-wage checks to 200,000 state workers, but the
state’s controller said it would need at least six months to
reprogram California’s COBOL-based payroll system to issue
them.
4 A 2018 report by the inspector general for the Social Security
Administration found that the administration maintained more
than “60 million lines of COBOL” (probably not unique lines).
5 A friend got hired back at “>$1000/day” for COBOL maint.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 3 / 17
COBOL (continued)
Over half the states found their COBOL systems couldn’t cope
with the volume of claims. [She20]
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 4 / 17
COBOL (continued)
Over half the states found their COBOL systems couldn’t cope
with the volume of claims. [She20]
“IBM is addressing the call for skilled COBOL coders by working in
tandem with the Linux Foundation’s Open Mainframe Project to
create three new initiatives to address the immediate need:
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 4 / 17
COBOL (continued)
Over half the states found their COBOL systems couldn’t cope
with the volume of claims. [She20]
“IBM is addressing the call for skilled COBOL coders by working in
tandem with the Linux Foundation’s Open Mainframe Project to
create three new initiatives to address the immediate need:
1 Calling all COBOL Programmers Forum. A new forum
where developers and programmers who would like to
volunteer or are available for hire can post their profiles and
credentials.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 4 / 17
COBOL (continued)
Over half the states found their COBOL systems couldn’t cope
with the volume of claims. [She20]
“IBM is addressing the call for skilled COBOL coders by working in
tandem with the Linux Foundation’s Open Mainframe Project to
create three new initiatives to address the immediate need:
1 Calling all COBOL Programmers Forum. A new forum
where developers and programmers who would like to
volunteer or are available for hire can post their profiles and
credentials.
2 COBOL Technical Forum. A new resource for being actively
monitored by experienced COBOL programmers providing free
advice and expertise.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 4 / 17
COBOL (continued)
Over half the states found their COBOL systems couldn’t cope
with the volume of claims. [She20]
“IBM is addressing the call for skilled COBOL coders by working in
tandem with the Linux Foundation’s Open Mainframe Project to
create three new initiatives to address the immediate need:
1 Calling all COBOL Programmers Forum. A new forum
where developers and programmers who would like to
volunteer or are available for hire can post their profiles and
credentials.
2 COBOL Technical Forum. A new resource for being actively
monitored by experienced COBOL programmers providing free
advice and expertise.
3 Open Source COBOL Training. A brand new open source
course designed to teach COBOL to beginners and refresh
experienced professionals. IBM partnered with the clients and
universities to develop this in-depth course which is available
for free to anyone”.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 4 / 17
But we shouldn’t mock the Americans
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 5 / 17
But we shouldn’t mock the Americans
[Fin19] reports a local fiasco.
Ulster Bank’s ageing systems make it impossible for the
lender to routinely charge large corporate customers in the
Republic of Ireland for deposits that run into millions of
euros, according to two people briefed on the issue.
“You wouldn’t believe how hard it is to change”.
Ulster Bank has implemented a manual workaround that
allows it to levy an ad hoc charge on a small number of
the largest depositors.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 5 / 17
But we shouldn’t mock the Americans
[Fin19] reports a local fiasco.
Ulster Bank’s ageing systems make it impossible for the
lender to routinely charge large corporate customers in the
Republic of Ireland for deposits that run into millions of
euros, according to two people briefed on the issue.
“You wouldn’t believe how hard it is to change”.
Ulster Bank has implemented a manual workaround that
allows it to levy an ad hoc charge on a small number of
the largest depositors.
COBOL integers are decimal and unsigned by default
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 5 / 17
But we shouldn’t mock the Americans
[Fin19] reports a local fiasco.
Ulster Bank’s ageing systems make it impossible for the
lender to routinely charge large corporate customers in the
Republic of Ireland for deposits that run into millions of
euros, according to two people briefed on the issue.
“You wouldn’t believe how hard it is to change”.
Ulster Bank has implemented a manual workaround that
allows it to levy an ad hoc charge on a small number of
the largest depositors.
COBOL integers are decimal and unsigned by default, and a signed
integer (PIC S99V99) takes more space than an unsigned.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 5 / 17
But we shouldn’t mock the Americans
[Fin19] reports a local fiasco.
Ulster Bank’s ageing systems make it impossible for the
lender to routinely charge large corporate customers in the
Republic of Ireland for deposits that run into millions of
euros, according to two people briefed on the issue.
“You wouldn’t believe how hard it is to change”.
Ulster Bank has implemented a manual workaround that
allows it to levy an ad hoc charge on a small number of
the largest depositors.
COBOL integers are decimal and unsigned by default, and a signed
integer (PIC S99V99) takes more space than an unsigned.
Remember there’s no #include.
Contrary to [Tho19], this isn’t “programmers being unnecessarily
specific”: I’d have written the same code in 1975.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 5 / 17
COBOL: Why so difficult
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 6 / 17
COBOL: Why so difficult
After all, similarly-aged languages like FORTRAN don’t have this
problem.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 6 / 17
COBOL: Why so difficult
After all, similarly-aged languages like FORTRAN don’t have this
problem.
1 The FORTRAN ones tend to be in active development (e.g.
Met Office).
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 6 / 17
COBOL: Why so difficult
After all, similarly-aged languages like FORTRAN don’t have this
problem.
1 The FORTRAN ones tend to be in active development (e.g.
Met Office).
2 COBOL has no equivalent of #include (and a preprocessor
providing it was my firm’s most successful product in 1975),
which gives a technical debt problem.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 6 / 17
COBOL: Why so difficult
After all, similarly-aged languages like FORTRAN don’t have this
problem.
1 The FORTRAN ones tend to be in active development (e.g.
Met Office).
2 COBOL has no equivalent of #include (and a preprocessor
providing it was my firm’s most successful product in 1975),
which gives a technical debt problem.
3 COBOL has no equivalent of #define, so instead of
#define BATCHSIZE 50000
you have 50000 (and 50001, 49999 etc.) throughout the code.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 6 / 17
COBOL: Why so difficult
After all, similarly-aged languages like FORTRAN don’t have this
problem.
1 The FORTRAN ones tend to be in active development (e.g.
Met Office).
2 COBOL has no equivalent of #include (and a preprocessor
providing it was my firm’s most successful product in 1975),
which gives a technical debt problem.
3 COBOL has no equivalent of #define, so instead of
#define BATCHSIZE 50000
you have 50000 (and 50001, 49999 etc.) throughout the code.
4 Y2K people wrote lots of ad hoc tools
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 6 / 17
COBOL: Why so difficult
After all, similarly-aged languages like FORTRAN don’t have this
problem.
1 The FORTRAN ones tend to be in active development (e.g.
Met Office).
2 COBOL has no equivalent of #include (and a preprocessor
providing it was my firm’s most successful product in 1975),
which gives a technical debt problem.
3 COBOL has no equivalent of #define, so instead of
#define BATCHSIZE 50000
you have 50000 (and 50001, 49999 etc.) throughout the code.
4 Y2K people wrote lots of ad hoc tools
 Who knows what my successor in 40 years time will write
about SPARK/cvc-5/Isabelle/. . . , or even about C?
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 6 / 17
Technology is not the answer
We’ve tried to migrate using tools to port from mainframe
code to Java. But you end up with Java code which looks
like COBOL, so your Java programmes can’t understand
the code and your mainframe programmers can’t change
it. [Sum22]
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 7 / 17
Technology is not the answer
We’ve tried to migrate using tools to port from mainframe
code to Java. But you end up with Java code which looks
like COBOL, so your Java programmes can’t understand
the code and your mainframe programmers can’t change
it. [Sum22]
The problem is the lack of a human ecosystem to understand the
technology.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 7 / 17
And it’s not just the language
A friend (aged ∼72) works for a major bank, maintaining
mission-critical systems.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 8 / 17
And it’s not just the language
A friend (aged ∼72) works for a major bank, maintaining
mission-critical systems.
40 year old system: finally decommissioned.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 8 / 17
And it’s not just the language
A friend (aged ∼72) works for a major bank, maintaining
mission-critical systems.
40 year old system: finally decommissioned.
30 year old system: now runs on Linux hardware, so the
Board aren’t worried any more.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 8 / 17
And it’s not just the language
A friend (aged ∼72) works for a major bank, maintaining
mission-critical systems.
40 year old system: finally decommissioned.
30 year old system: now runs on Linux hardware, so the
Board aren’t worried any more.
20 year old system: I can’t get anyone interested in updating
this.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 8 / 17
And it’s not just the language
A friend (aged ∼72) works for a major bank, maintaining
mission-critical systems.
40 year old system: finally decommissioned.
30 year old system: now runs on Linux hardware, so the
Board aren’t worried any more.
20 year old system: I can’t get anyone interested in updating
this.
 Though I’m the only person who knows how it works,
and there’s no succession plan.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 8 / 17
And it’s not just the language
A friend (aged ∼72) works for a major bank, maintaining
mission-critical systems.
40 year old system: finally decommissioned.
30 year old system: now runs on Linux hardware, so the
Board aren’t worried any more.
20 year old system: I can’t get anyone interested in updating
this.
 Though I’m the only person who knows how it works,
and there’s no succession plan.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 8 / 17
And it’s not just the language
A friend (aged ∼72) works for a major bank, maintaining
mission-critical systems.
40 year old system: finally decommissioned.
30 year old system: now runs on Linux hardware, so the
Board aren’t worried any more.
20 year old system: I can’t get anyone interested in updating
this.
 Though I’m the only person who knows how it works,
and there’s no succession plan.
The fundamental problem isn’t the technology, it’s the
management attitude to software, and the lack of “preventative
maintenance”
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 8 / 17
And it’s not just the language
A friend (aged ∼72) works for a major bank, maintaining
mission-critical systems.
40 year old system: finally decommissioned.
30 year old system: now runs on Linux hardware, so the
Board aren’t worried any more.
20 year old system: I can’t get anyone interested in updating
this.
 Though I’m the only person who knows how it works,
and there’s no succession plan.
The fundamental problem isn’t the technology, it’s the
management attitude to software, and the lack of “preventative
maintenance” (which would keep the maintenance team current).
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 8 / 17
And it’s not just the language
A friend (aged ∼72) works for a major bank, maintaining
mission-critical systems.
40 year old system: finally decommissioned.
30 year old system: now runs on Linux hardware, so the
Board aren’t worried any more.
20 year old system: I can’t get anyone interested in updating
this.
 Though I’m the only person who knows how it works,
and there’s no succession plan.
The fundamental problem isn’t the technology, it’s the
management attitude to software, and the lack of “preventative
maintenance” (which would keep the maintenance team current).
Also really poor human succession planning.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 8 / 17
Italian Railways [Cim22]
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 9 / 17
Italian Railways [Cim22]
Italian railways are migrating away from Relay-based Railway
Interlocking Systems (RRIS).
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 9 / 17
Italian Railways [Cim22]
Italian railways are migrating away from Relay-based Railway
Interlocking Systems (RRIS).
1 The factual documentation is on manually drawn paper
diagrams (in a mixed state of preservation).
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 9 / 17
Italian Railways [Cim22]
Italian railways are migrating away from Relay-based Railway
Interlocking Systems (RRIS).
1 The factual documentation is on manually drawn paper
diagrams (in a mixed state of preservation).
2 The intellectual documentation (“why” etc.) is in informal
documents and engineers’ heads.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 9 / 17
Italian Railways [Cim22]
Italian railways are migrating away from Relay-based Railway
Interlocking Systems (RRIS).
1 The factual documentation is on manually drawn paper
diagrams (in a mixed state of preservation).
2 The intellectual documentation (“why” etc.) is in informal
documents and engineers’ heads.
 “Moreover, the work on these documents requires a strong
legacy domain knowledge which is vanishing in these days”
[ABC+20]
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 9 / 17
Italian Railways [Cim22]
Italian railways are migrating away from Relay-based Railway
Interlocking Systems (RRIS).
1 The factual documentation is on manually drawn paper
diagrams (in a mixed state of preservation).
2 The intellectual documentation (“why” etc.) is in informal
documents and engineers’ heads.
 “Moreover, the work on these documents requires a strong
legacy domain knowledge which is vanishing in these days”
[ABC+20]
B 1 is “solved” via scanning, editing and verifying [ABC+22]
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 9 / 17
Italian Railways [Cim22]
Italian railways are migrating away from Relay-based Railway
Interlocking Systems (RRIS).
1 The factual documentation is on manually drawn paper
diagrams (in a mixed state of preservation).
2 The intellectual documentation (“why” etc.) is in informal
documents and engineers’ heads.
 “Moreover, the work on these documents requires a strong
legacy domain knowledge which is vanishing in these days”
[ABC+20]
B 1 is “solved” via scanning, editing and verifying [ABC+22]
A 2 is solved via capture with Controlled Natural Language
[ABC+20]
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 9 / 17
Italian Railways Workflow [ABC+
20, Figure 1]
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 10 / 17
Italian Railways Workflow [ABC+
20, Figure 1]
Hopefully our successors will not be building anything this complex
to understand our artefacts, but how sure can we be?
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 10 / 17
Italian Railways Workflow [ABC+
20, Figure 1]
Hopefully our successors will not be building anything this complex
to understand our artefacts, but how sure can we be?
B We can reasonably hope that our artefacts are fully formal.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 10 / 17
Italian Railways Workflow [ABC+
20, Figure 1]
Hopefully our successors will not be building anything this complex
to understand our artefacts, but how sure can we be?
B We can reasonably hope that our artefacts are fully formal.
A But “strong legacy domain knowledge”?
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 10 / 17
Paris Métro Line 14 [Déh22]
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 11 / 17
Paris Métro Line 14 [Déh22]
1998 Opened; fully automatic; critical software verified by
Atelier B. major showcase.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 11 / 17
Paris Métro Line 14 [Déh22]
1998 Opened; fully automatic; critical software verified by
Atelier B. major showcase.
 This software (rather than the construction process)
was signed off, with no change process [Déh17,
Minute 14:30].
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 11 / 17
Paris Métro Line 14 [Déh22]
1998 Opened; fully automatic; critical software verified by
Atelier B. major showcase.
 This software (rather than the construction process)
was signed off, with no change process [Déh17,
Minute 14:30].
2003,2007 Extensions opened (but already in the verified
software).
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 11 / 17
Paris Métro Line 14 [Déh22]
1998 Opened; fully automatic; critical software verified by
Atelier B. major showcase.
 This software (rather than the construction process)
was signed off, with no change process [Déh17,
Minute 14:30].
2003,2007 Extensions opened (but already in the verified
software).
2010s Planning for new extensions, not in software.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 11 / 17
Paris Métro Line 14 [Déh22]
1998 Opened; fully automatic; critical software verified by
Atelier B. major showcase.
 This software (rather than the construction process)
was signed off, with no change process [Déh17,
Minute 14:30].
2003,2007 Extensions opened (but already in the verified
software).
2010s Planning for new extensions, not in software.
 Atelier B only runs on Sun workstations, ported to
Linux (but not necessarily 100% identical, and
previous software didn’t verify out-of-the-box).
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 11 / 17
Paris Métro Line 14 [Déh22]
1998 Opened; fully automatic; critical software verified by
Atelier B. major showcase.
 This software (rather than the construction process)
was signed off, with no change process [Déh17,
Minute 14:30].
2003,2007 Extensions opened (but already in the verified
software).
2010s Planning for new extensions, not in software.
 Atelier B only runs on Sun workstations, ported to
Linux (but not necessarily 100% identical, and
previous software didn’t verify out-of-the-box).
2020 New extension, with new trains running 2× faster.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 11 / 17
Paris Métro Line 14 [Déh22]
1998 Opened; fully automatic; critical software verified by
Atelier B. major showcase.
 This software (rather than the construction process)
was signed off, with no change process [Déh17,
Minute 14:30].
2003,2007 Extensions opened (but already in the verified
software).
2010s Planning for new extensions, not in software.
 Atelier B only runs on Sun workstations, ported to
Linux (but not necessarily 100% identical, and
previous software didn’t verify out-of-the-box).
2020 New extension, with new trains running 2× faster.
 The new trains were 8 carriages, not 6, so not every
door opens at every station; significant modification.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 11 / 17
Paris Métro Line 14 [Déh22]
1998 Opened; fully automatic; critical software verified by
Atelier B. major showcase.
 This software (rather than the construction process)
was signed off, with no change process [Déh17,
Minute 14:30].
2003,2007 Extensions opened (but already in the verified
software).
2010s Planning for new extensions, not in software.
 Atelier B only runs on Sun workstations, ported to
Linux (but not necessarily 100% identical, and
previous software didn’t verify out-of-the-box).
2020 New extension, with new trains running 2× faster.
 The new trains were 8 carriages, not 6, so not every
door opens at every station; significant modification.
q
But it’s running formally verified GoA4 [Cue20].
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 11 / 17
Questions
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 12 / 17
Questions
1 Cobol: Do you keep programming in a sufficiently similar
language?
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 12 / 17
Questions
1 Cobol: Do you keep programming in a sufficiently similar
language?
2 Atelier B: Is your proof infrastructure still maintained?
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 12 / 17
Questions
1 Cobol: Do you keep programming in a sufficiently similar
language?
2 Atelier B: Is your proof infrastructure still maintained?
3 Ligne 14: Just because a theorem verifies automatically today
doesn’t mean it will verify automatically in 20 years time. Is it
worth/possible recording some major steps of the automatic
proof, rather than “relying on upwards compatibility”
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 12 / 17
Questions
1 Cobol: Do you keep programming in a sufficiently similar
language?
2 Atelier B: Is your proof infrastructure still maintained?
3 Ligne 14: Just because a theorem verifies automatically today
doesn’t mean it will verify automatically in 20 years time. Is it
worth/possible recording some major steps of the automatic
proof, rather than “relying on upwards compatibility”
 This may be more serious as more machine learning
(sledgehammer etc.) is used in proof systems.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 12 / 17
Questions
1 Cobol: Do you keep programming in a sufficiently similar
language?
2 Atelier B: Is your proof infrastructure still maintained?
3 Ligne 14: Just because a theorem verifies automatically today
doesn’t mean it will verify automatically in 20 years time. Is it
worth/possible recording some major steps of the automatic
proof, rather than “relying on upwards compatibility”
 This may be more serious as more machine learning
(sledgehammer etc.) is used in proof systems.
4 Italy: Are you reliant on “strong legacy domain knowledge”?
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 12 / 17
Questions
1 Cobol: Do you keep programming in a sufficiently similar
language?
2 Atelier B: Is your proof infrastructure still maintained?
3 Ligne 14: Just because a theorem verifies automatically today
doesn’t mean it will verify automatically in 20 years time. Is it
worth/possible recording some major steps of the automatic
proof, rather than “relying on upwards compatibility”
 This may be more serious as more machine learning
(sledgehammer etc.) is used in proof systems.
4 Italy: Are you reliant on “strong legacy domain knowledge”?
 “The Empire can’t maintain anything” — Hober Mallow
[Asi44].
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 12 / 17
Bibliography
I
E. Ábrahám, B. Becker, A. Bigatti, B. Buchberger, A. Cimatti,
J.H. Davenport, M. England, P. Fontaine, S. Forrest,
D. Kroening, W. Seiler, and T. Sturm.
SC2: Satisfiability Checking meets Symbolic Computation
(Project Paper).
In Proceedings CICM 2016, pages 28–43, 2016.
A. Amendola, A. Becchi, R. Cavada, A. Cimatti, A. Griggio,
G. Scaglione, A. Susi, A. Tacchella, and M. Tessi.
A model-based approach to the design, verification and
deployment of railway interlocking system.
In Proceedings International Symposium on Leveraging
Applications of Formal Methods ISOLA 2020, pages 240–254,
2020.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 13 / 17
Bibliography
II
A. Amendola, A. Becchi, R. Cavada, A. Cimatti, A. Ferrando,
L. Pilati, G. Scaglione, A. Tacchella, and M. Zamboni.
NORMA: a tool for the analysis of Relay-based Railway
Interlocking Systems.
Tools and Algorithms for the Construction and Analysis of
Systems TACAS 2022, pages 125–142, 2022.
I. Asimov.
The Big and the Little [reprinted as “Merchant Princes” in
Foundation, Gnome Press, 1951].
Astounding, 33:7–54, 1944.
A. Cimatti.
Migrating Railway Systems.
Personal Communication at Dagstuhl February 2022, 2022.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 14 / 17
Bibliography
III
O. Cuenca.
Paris inaugurates Line 14 extension.
https://www.railjournal.com/passenger/metros/
paris-inaugurates-line-14-extension/, 2020.
D. Déharbe.
Talk at SCSC Summer School.
https://vimeo.com/showcase/5271198, 2017.
D. Déharbe.
Évolution de la ligne 14.
Personal Communication 11 August, 2022.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 15 / 17
Bibliography
IV
Financial Times.
Ulster Bank’s computer says no to negative rates.
https://www.ft.com/content/
ff12856a-e07d-11e9-9743-db5a370481bc, 2019.
E. Shein.
COBOL programmers are in demand to fight the coronavirus
pandemic.
https://www.techrepublic.com/article/
cobol-programmers-are-in-demand-to-fight-the-coronaviru
2020.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 16 / 17
Bibliography
V
S. Sumner.
Computing gathered a group of UK-based IT leaders together
to discuss their legacy concerns, including security, skills and
cost issues.
https://www.computing.co.uk/news/4057289/
cios-discuss-legacy-issues-dont-write-mainframe,
2022.
M. Thomas.
Ethics, old software and negative interest rates.
Letter to Financial Times 4 October, 2019.
James Davenportmasjhd@bath.ac.uk Human Ecosystem? 17 / 17

More Related Content

PDF
Unlocking COBOL Business Value
PDF
Tech Channel COBOL ebook
PDF
Why COBOL is Still Relevant Today - cobol programmer.pdf
PPTX
A history of COBOL - Slideshare Edition.pptx
PDF
Micro Focus Academic Program
PDF
Looking into COBOL and Being Serious About it
PPTX
COBOL at 65 - Can we still make a case for COBOL?
PDF
COBOL Programmers for Modern Business Solutions | Integrative Systems
Unlocking COBOL Business Value
Tech Channel COBOL ebook
Why COBOL is Still Relevant Today - cobol programmer.pdf
A history of COBOL - Slideshare Edition.pptx
Micro Focus Academic Program
Looking into COBOL and Being Serious About it
COBOL at 65 - Can we still make a case for COBOL?
COBOL Programmers for Modern Business Solutions | Integrative Systems

Similar to Have we a Human Ecosystem? (20)

PDF
The COBOL Story by Wim Ebbinkhuijsen
PPTX
3rd semester 4gsbshagscv.akshathamahsbpptx
PPTX
Unit 2 computer software
DOCX
Bca1020 programming in c
DOC
Stnotes doc 5
PPT
Computer, generations, languages, soft wares
DOCX
C Unit 1 notes PREPARED BY MVB REDDY
PDF
Test Bank for Java Software Solutions 7th Edition (International Edition). Jo...
PPTX
Principles of object oriented programming, object-oriented programming paradi...
PDF
Test Bank for Java Software Solutions 7th Edition (International Edition). Jo...
PDF
Test Bank for Java Software Solutions, 9th Edition John Lewis
PDF
COBOL Programmers Swing with Java Second edition E. Reed Doke
PPTX
C programming orientation
PPTX
How it works under the hood with Visual COBOL - developer day
PDF
Test Bank for Java Software Solutions 7th Edition (International Edition). Jo...
PDF
Hands-On Ethical Hacking and Network Defense 1st Edition Simpson Test Bank
PPTX
PPTX
PDF
Test Bank for Java Software Solutions 7th Edition (International Edition). Jo...
The COBOL Story by Wim Ebbinkhuijsen
3rd semester 4gsbshagscv.akshathamahsbpptx
Unit 2 computer software
Bca1020 programming in c
Stnotes doc 5
Computer, generations, languages, soft wares
C Unit 1 notes PREPARED BY MVB REDDY
Test Bank for Java Software Solutions 7th Edition (International Edition). Jo...
Principles of object oriented programming, object-oriented programming paradi...
Test Bank for Java Software Solutions 7th Edition (International Edition). Jo...
Test Bank for Java Software Solutions, 9th Edition John Lewis
COBOL Programmers Swing with Java Second edition E. Reed Doke
C programming orientation
How it works under the hood with Visual COBOL - developer day
Test Bank for Java Software Solutions 7th Edition (International Edition). Jo...
Hands-On Ethical Hacking and Network Defense 1st Edition Simpson Test Bank
Test Bank for Java Software Solutions 7th Edition (International Edition). Jo...
Ad

More from AdaCore (20)

PDF
RCA OCORA: Safe Computing Platform using open standards
PDF
Rust and the coming age of high integrity languages
PDF
SPARKNaCl: A verified, fast cryptographic library
PDF
Developing Future High Integrity Processing Solutions
PDF
Taming event-driven software via formal verification
PDF
Pushing the Boundary of Mostly Automatic Program Proof
PDF
RCA OCORA: Safe Computing Platform using open standards
PDF
Product Lines and Ecosystems: from customization to configuration
PDF
Securing the Future of Safety and Security of Embedded Software
PDF
Spark / Ada for Safe and Secure Firmware Development
PDF
Introducing the HICLASS Research Programme - Enabling Development of Complex ...
PDF
The Future of Aerospace – More Software Please!
PDF
Adaptive AUTOSAR - The New AUTOSAR Architecture
PDF
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
PDF
Software Engineering for Robotics - The RoboStar Technology
PDF
MISRA C in an ISO 26262 context
PPTX
Application of theorem proving for safety-critical vehicle software
PDF
The Application of Formal Methods to Railway Signalling Software
PDF
Bounded Model Checking for C Programs in an Enterprise Environment
PDF
Multi-Core (MC) Processor Qualification for Safety Critical Systems
RCA OCORA: Safe Computing Platform using open standards
Rust and the coming age of high integrity languages
SPARKNaCl: A verified, fast cryptographic library
Developing Future High Integrity Processing Solutions
Taming event-driven software via formal verification
Pushing the Boundary of Mostly Automatic Program Proof
RCA OCORA: Safe Computing Platform using open standards
Product Lines and Ecosystems: from customization to configuration
Securing the Future of Safety and Security of Embedded Software
Spark / Ada for Safe and Secure Firmware Development
Introducing the HICLASS Research Programme - Enabling Development of Complex ...
The Future of Aerospace – More Software Please!
Adaptive AUTOSAR - The New AUTOSAR Architecture
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
Software Engineering for Robotics - The RoboStar Technology
MISRA C in an ISO 26262 context
Application of theorem proving for safety-critical vehicle software
The Application of Formal Methods to Railway Signalling Software
Bounded Model Checking for C Programs in an Enterprise Environment
Multi-Core (MC) Processor Qualification for Safety Critical Systems
Ad

Recently uploaded (20)

PDF
Lung cancer patients survival prediction using outlier detection and optimize...
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PDF
Co-training pseudo-labeling for text classification with support vector machi...
PPTX
Module 1 Introduction to Web Programming .pptx
PPTX
Training Program for knowledge in solar cell and solar industry
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PPTX
MuleSoft-Compete-Deck for midddleware integrations
PPTX
Microsoft User Copilot Training Slide Deck
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PDF
MENA-ECEONOMIC-CONTEXT-VC MENA-ECEONOMIC
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PDF
LMS bot: enhanced learning management systems for improved student learning e...
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
PPTX
SGT Report The Beast Plan and Cyberphysical Systems of Control
PDF
Comparative analysis of machine learning models for fake news detection in so...
PPTX
agenticai-neweraofintelligence-250529192801-1b5e6870.pptx
PDF
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
PDF
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...
Lung cancer patients survival prediction using outlier detection and optimize...
Enhancing plagiarism detection using data pre-processing and machine learning...
Co-training pseudo-labeling for text classification with support vector machi...
Module 1 Introduction to Web Programming .pptx
Training Program for knowledge in solar cell and solar industry
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
MuleSoft-Compete-Deck for midddleware integrations
Microsoft User Copilot Training Slide Deck
Improvisation in detection of pomegranate leaf disease using transfer learni...
MENA-ECEONOMIC-CONTEXT-VC MENA-ECEONOMIC
Rapid Prototyping: A lecture on prototyping techniques for interface design
Early detection and classification of bone marrow changes in lumbar vertebrae...
LMS bot: enhanced learning management systems for improved student learning e...
NewMind AI Weekly Chronicles – August ’25 Week IV
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
SGT Report The Beast Plan and Cyberphysical Systems of Control
Comparative analysis of machine learning models for fake news detection in so...
agenticai-neweraofintelligence-250529192801-1b5e6870.pptx
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
“The Future of Visual AI: Efficient Multimodal Intelligence,” a Keynote Prese...

Have we a Human Ecosystem?

  • 1. Have we a Human Ecosystem? James Davenport1 [email protected] Departments of Computer Science and Mathematical Sciences University of Bath 1 Many thanks to Capgemini staff and members of SC2 [ABB+ 16], H2020-FETOPEN-2015-CSA 712689 James [email protected] Human Ecosystem? 1 / 17
  • 3. Why am I talking about COBOL here? James [email protected] Human Ecosystem? 3 / 17
  • 4. Why am I talking about COBOL here? Because in 2020 the USA ran out of COBOL programmers James [email protected] Human Ecosystem? 3 / 17
  • 5. Why am I talking about COBOL here? Because in 2020 the USA ran out of COBOL programmers (as well as masks, ventilators etc.). James [email protected] Human Ecosystem? 3 / 17
  • 6. Why am I talking about COBOL here? Because in 2020 the USA ran out of COBOL programmers (as well as masks, ventilators etc.). 1 New Jersey Gov. Phil Murphy has issued a call for volunteers who know how to code in the 60-year-old COBOL. “Literally, we have systems that are 40-plus-years-old”. James [email protected] Human Ecosystem? 3 / 17
  • 7. Why am I talking about COBOL here? Because in 2020 the USA ran out of COBOL programmers (as well as masks, ventilators etc.). 1 New Jersey Gov. Phil Murphy has issued a call for volunteers who know how to code in the 60-year-old COBOL. “Literally, we have systems that are 40-plus-years-old”. 2 Connecticut has also admitted that it’s struggling to process the large volume of unemployment claims with its“40-year-old system comprised of a COBOL mainframe and . . . ” James [email protected] Human Ecosystem? 3 / 17
  • 8. Why am I talking about COBOL here? Because in 2020 the USA ran out of COBOL programmers (as well as masks, ventilators etc.). 1 New Jersey Gov. Phil Murphy has issued a call for volunteers who know how to code in the 60-year-old COBOL. “Literally, we have systems that are 40-plus-years-old”. 2 Connecticut has also admitted that it’s struggling to process the large volume of unemployment claims with its“40-year-old system comprised of a COBOL mainframe and . . . ” 3 In 2008, then-California Gov. Schwarzenegger wanted to issue minimum-wage checks to 200,000 state workers, but the state’s controller said it would need at least six months to reprogram California’s COBOL-based payroll system to issue them. James [email protected] Human Ecosystem? 3 / 17
  • 9. Why am I talking about COBOL here? Because in 2020 the USA ran out of COBOL programmers (as well as masks, ventilators etc.). 1 New Jersey Gov. Phil Murphy has issued a call for volunteers who know how to code in the 60-year-old COBOL. “Literally, we have systems that are 40-plus-years-old”. 2 Connecticut has also admitted that it’s struggling to process the large volume of unemployment claims with its“40-year-old system comprised of a COBOL mainframe and . . . ” 3 In 2008, then-California Gov. Schwarzenegger wanted to issue minimum-wage checks to 200,000 state workers, but the state’s controller said it would need at least six months to reprogram California’s COBOL-based payroll system to issue them. 4 A 2018 report by the inspector general for the Social Security Administration found that the administration maintained more than “60 million lines of COBOL” (probably not unique lines). James [email protected] Human Ecosystem? 3 / 17
  • 10. Why am I talking about COBOL here? Because in 2020 the USA ran out of COBOL programmers (as well as masks, ventilators etc.). 1 New Jersey Gov. Phil Murphy has issued a call for volunteers who know how to code in the 60-year-old COBOL. “Literally, we have systems that are 40-plus-years-old”. 2 Connecticut has also admitted that it’s struggling to process the large volume of unemployment claims with its“40-year-old system comprised of a COBOL mainframe and . . . ” 3 In 2008, then-California Gov. Schwarzenegger wanted to issue minimum-wage checks to 200,000 state workers, but the state’s controller said it would need at least six months to reprogram California’s COBOL-based payroll system to issue them. 4 A 2018 report by the inspector general for the Social Security Administration found that the administration maintained more than “60 million lines of COBOL” (probably not unique lines). 5 A friend got hired back at “>$1000/day” for COBOL maint. James [email protected] Human Ecosystem? 3 / 17
  • 11. COBOL (continued) Over half the states found their COBOL systems couldn’t cope with the volume of claims. [She20] James [email protected] Human Ecosystem? 4 / 17
  • 12. COBOL (continued) Over half the states found their COBOL systems couldn’t cope with the volume of claims. [She20] “IBM is addressing the call for skilled COBOL coders by working in tandem with the Linux Foundation’s Open Mainframe Project to create three new initiatives to address the immediate need: James [email protected] Human Ecosystem? 4 / 17
  • 13. COBOL (continued) Over half the states found their COBOL systems couldn’t cope with the volume of claims. [She20] “IBM is addressing the call for skilled COBOL coders by working in tandem with the Linux Foundation’s Open Mainframe Project to create three new initiatives to address the immediate need: 1 Calling all COBOL Programmers Forum. A new forum where developers and programmers who would like to volunteer or are available for hire can post their profiles and credentials. James [email protected] Human Ecosystem? 4 / 17
  • 14. COBOL (continued) Over half the states found their COBOL systems couldn’t cope with the volume of claims. [She20] “IBM is addressing the call for skilled COBOL coders by working in tandem with the Linux Foundation’s Open Mainframe Project to create three new initiatives to address the immediate need: 1 Calling all COBOL Programmers Forum. A new forum where developers and programmers who would like to volunteer or are available for hire can post their profiles and credentials. 2 COBOL Technical Forum. A new resource for being actively monitored by experienced COBOL programmers providing free advice and expertise. James [email protected] Human Ecosystem? 4 / 17
  • 15. COBOL (continued) Over half the states found their COBOL systems couldn’t cope with the volume of claims. [She20] “IBM is addressing the call for skilled COBOL coders by working in tandem with the Linux Foundation’s Open Mainframe Project to create three new initiatives to address the immediate need: 1 Calling all COBOL Programmers Forum. A new forum where developers and programmers who would like to volunteer or are available for hire can post their profiles and credentials. 2 COBOL Technical Forum. A new resource for being actively monitored by experienced COBOL programmers providing free advice and expertise. 3 Open Source COBOL Training. A brand new open source course designed to teach COBOL to beginners and refresh experienced professionals. IBM partnered with the clients and universities to develop this in-depth course which is available for free to anyone”. James [email protected] Human Ecosystem? 4 / 17
  • 16. But we shouldn’t mock the Americans James [email protected] Human Ecosystem? 5 / 17
  • 17. But we shouldn’t mock the Americans [Fin19] reports a local fiasco. Ulster Bank’s ageing systems make it impossible for the lender to routinely charge large corporate customers in the Republic of Ireland for deposits that run into millions of euros, according to two people briefed on the issue. “You wouldn’t believe how hard it is to change”. Ulster Bank has implemented a manual workaround that allows it to levy an ad hoc charge on a small number of the largest depositors. James [email protected] Human Ecosystem? 5 / 17
  • 18. But we shouldn’t mock the Americans [Fin19] reports a local fiasco. Ulster Bank’s ageing systems make it impossible for the lender to routinely charge large corporate customers in the Republic of Ireland for deposits that run into millions of euros, according to two people briefed on the issue. “You wouldn’t believe how hard it is to change”. Ulster Bank has implemented a manual workaround that allows it to levy an ad hoc charge on a small number of the largest depositors. COBOL integers are decimal and unsigned by default James [email protected] Human Ecosystem? 5 / 17
  • 19. But we shouldn’t mock the Americans [Fin19] reports a local fiasco. Ulster Bank’s ageing systems make it impossible for the lender to routinely charge large corporate customers in the Republic of Ireland for deposits that run into millions of euros, according to two people briefed on the issue. “You wouldn’t believe how hard it is to change”. Ulster Bank has implemented a manual workaround that allows it to levy an ad hoc charge on a small number of the largest depositors. COBOL integers are decimal and unsigned by default, and a signed integer (PIC S99V99) takes more space than an unsigned. James [email protected] Human Ecosystem? 5 / 17
  • 20. But we shouldn’t mock the Americans [Fin19] reports a local fiasco. Ulster Bank’s ageing systems make it impossible for the lender to routinely charge large corporate customers in the Republic of Ireland for deposits that run into millions of euros, according to two people briefed on the issue. “You wouldn’t believe how hard it is to change”. Ulster Bank has implemented a manual workaround that allows it to levy an ad hoc charge on a small number of the largest depositors. COBOL integers are decimal and unsigned by default, and a signed integer (PIC S99V99) takes more space than an unsigned. Remember there’s no #include. Contrary to [Tho19], this isn’t “programmers being unnecessarily specific”: I’d have written the same code in 1975. James [email protected] Human Ecosystem? 5 / 17
  • 21. COBOL: Why so difficult James [email protected] Human Ecosystem? 6 / 17
  • 22. COBOL: Why so difficult After all, similarly-aged languages like FORTRAN don’t have this problem. James [email protected] Human Ecosystem? 6 / 17
  • 23. COBOL: Why so difficult After all, similarly-aged languages like FORTRAN don’t have this problem. 1 The FORTRAN ones tend to be in active development (e.g. Met Office). James [email protected] Human Ecosystem? 6 / 17
  • 24. COBOL: Why so difficult After all, similarly-aged languages like FORTRAN don’t have this problem. 1 The FORTRAN ones tend to be in active development (e.g. Met Office). 2 COBOL has no equivalent of #include (and a preprocessor providing it was my firm’s most successful product in 1975), which gives a technical debt problem. James [email protected] Human Ecosystem? 6 / 17
  • 25. COBOL: Why so difficult After all, similarly-aged languages like FORTRAN don’t have this problem. 1 The FORTRAN ones tend to be in active development (e.g. Met Office). 2 COBOL has no equivalent of #include (and a preprocessor providing it was my firm’s most successful product in 1975), which gives a technical debt problem. 3 COBOL has no equivalent of #define, so instead of #define BATCHSIZE 50000 you have 50000 (and 50001, 49999 etc.) throughout the code. James [email protected] Human Ecosystem? 6 / 17
  • 26. COBOL: Why so difficult After all, similarly-aged languages like FORTRAN don’t have this problem. 1 The FORTRAN ones tend to be in active development (e.g. Met Office). 2 COBOL has no equivalent of #include (and a preprocessor providing it was my firm’s most successful product in 1975), which gives a technical debt problem. 3 COBOL has no equivalent of #define, so instead of #define BATCHSIZE 50000 you have 50000 (and 50001, 49999 etc.) throughout the code. 4 Y2K people wrote lots of ad hoc tools James [email protected] Human Ecosystem? 6 / 17
  • 27. COBOL: Why so difficult After all, similarly-aged languages like FORTRAN don’t have this problem. 1 The FORTRAN ones tend to be in active development (e.g. Met Office). 2 COBOL has no equivalent of #include (and a preprocessor providing it was my firm’s most successful product in 1975), which gives a technical debt problem. 3 COBOL has no equivalent of #define, so instead of #define BATCHSIZE 50000 you have 50000 (and 50001, 49999 etc.) throughout the code. 4 Y2K people wrote lots of ad hoc tools  Who knows what my successor in 40 years time will write about SPARK/cvc-5/Isabelle/. . . , or even about C? James [email protected] Human Ecosystem? 6 / 17
  • 28. Technology is not the answer We’ve tried to migrate using tools to port from mainframe code to Java. But you end up with Java code which looks like COBOL, so your Java programmes can’t understand the code and your mainframe programmers can’t change it. [Sum22] James [email protected] Human Ecosystem? 7 / 17
  • 29. Technology is not the answer We’ve tried to migrate using tools to port from mainframe code to Java. But you end up with Java code which looks like COBOL, so your Java programmes can’t understand the code and your mainframe programmers can’t change it. [Sum22] The problem is the lack of a human ecosystem to understand the technology. James [email protected] Human Ecosystem? 7 / 17
  • 30. And it’s not just the language A friend (aged ∼72) works for a major bank, maintaining mission-critical systems. James [email protected] Human Ecosystem? 8 / 17
  • 31. And it’s not just the language A friend (aged ∼72) works for a major bank, maintaining mission-critical systems. 40 year old system: finally decommissioned. James [email protected] Human Ecosystem? 8 / 17
  • 32. And it’s not just the language A friend (aged ∼72) works for a major bank, maintaining mission-critical systems. 40 year old system: finally decommissioned. 30 year old system: now runs on Linux hardware, so the Board aren’t worried any more. James [email protected] Human Ecosystem? 8 / 17
  • 33. And it’s not just the language A friend (aged ∼72) works for a major bank, maintaining mission-critical systems. 40 year old system: finally decommissioned. 30 year old system: now runs on Linux hardware, so the Board aren’t worried any more. 20 year old system: I can’t get anyone interested in updating this. James [email protected] Human Ecosystem? 8 / 17
  • 34. And it’s not just the language A friend (aged ∼72) works for a major bank, maintaining mission-critical systems. 40 year old system: finally decommissioned. 30 year old system: now runs on Linux hardware, so the Board aren’t worried any more. 20 year old system: I can’t get anyone interested in updating this.  Though I’m the only person who knows how it works, and there’s no succession plan. James [email protected] Human Ecosystem? 8 / 17
  • 35. And it’s not just the language A friend (aged ∼72) works for a major bank, maintaining mission-critical systems. 40 year old system: finally decommissioned. 30 year old system: now runs on Linux hardware, so the Board aren’t worried any more. 20 year old system: I can’t get anyone interested in updating this.  Though I’m the only person who knows how it works, and there’s no succession plan. James [email protected] Human Ecosystem? 8 / 17
  • 36. And it’s not just the language A friend (aged ∼72) works for a major bank, maintaining mission-critical systems. 40 year old system: finally decommissioned. 30 year old system: now runs on Linux hardware, so the Board aren’t worried any more. 20 year old system: I can’t get anyone interested in updating this.  Though I’m the only person who knows how it works, and there’s no succession plan. The fundamental problem isn’t the technology, it’s the management attitude to software, and the lack of “preventative maintenance” James [email protected] Human Ecosystem? 8 / 17
  • 37. And it’s not just the language A friend (aged ∼72) works for a major bank, maintaining mission-critical systems. 40 year old system: finally decommissioned. 30 year old system: now runs on Linux hardware, so the Board aren’t worried any more. 20 year old system: I can’t get anyone interested in updating this.  Though I’m the only person who knows how it works, and there’s no succession plan. The fundamental problem isn’t the technology, it’s the management attitude to software, and the lack of “preventative maintenance” (which would keep the maintenance team current). James [email protected] Human Ecosystem? 8 / 17
  • 38. And it’s not just the language A friend (aged ∼72) works for a major bank, maintaining mission-critical systems. 40 year old system: finally decommissioned. 30 year old system: now runs on Linux hardware, so the Board aren’t worried any more. 20 year old system: I can’t get anyone interested in updating this.  Though I’m the only person who knows how it works, and there’s no succession plan. The fundamental problem isn’t the technology, it’s the management attitude to software, and the lack of “preventative maintenance” (which would keep the maintenance team current). Also really poor human succession planning. James [email protected] Human Ecosystem? 8 / 17
  • 40. Italian Railways [Cim22] Italian railways are migrating away from Relay-based Railway Interlocking Systems (RRIS). James [email protected] Human Ecosystem? 9 / 17
  • 41. Italian Railways [Cim22] Italian railways are migrating away from Relay-based Railway Interlocking Systems (RRIS). 1 The factual documentation is on manually drawn paper diagrams (in a mixed state of preservation). James [email protected] Human Ecosystem? 9 / 17
  • 42. Italian Railways [Cim22] Italian railways are migrating away from Relay-based Railway Interlocking Systems (RRIS). 1 The factual documentation is on manually drawn paper diagrams (in a mixed state of preservation). 2 The intellectual documentation (“why” etc.) is in informal documents and engineers’ heads. James [email protected] Human Ecosystem? 9 / 17
  • 43. Italian Railways [Cim22] Italian railways are migrating away from Relay-based Railway Interlocking Systems (RRIS). 1 The factual documentation is on manually drawn paper diagrams (in a mixed state of preservation). 2 The intellectual documentation (“why” etc.) is in informal documents and engineers’ heads.  “Moreover, the work on these documents requires a strong legacy domain knowledge which is vanishing in these days” [ABC+20] James [email protected] Human Ecosystem? 9 / 17
  • 44. Italian Railways [Cim22] Italian railways are migrating away from Relay-based Railway Interlocking Systems (RRIS). 1 The factual documentation is on manually drawn paper diagrams (in a mixed state of preservation). 2 The intellectual documentation (“why” etc.) is in informal documents and engineers’ heads.  “Moreover, the work on these documents requires a strong legacy domain knowledge which is vanishing in these days” [ABC+20] B 1 is “solved” via scanning, editing and verifying [ABC+22] James [email protected] Human Ecosystem? 9 / 17
  • 45. Italian Railways [Cim22] Italian railways are migrating away from Relay-based Railway Interlocking Systems (RRIS). 1 The factual documentation is on manually drawn paper diagrams (in a mixed state of preservation). 2 The intellectual documentation (“why” etc.) is in informal documents and engineers’ heads.  “Moreover, the work on these documents requires a strong legacy domain knowledge which is vanishing in these days” [ABC+20] B 1 is “solved” via scanning, editing and verifying [ABC+22] A 2 is solved via capture with Controlled Natural Language [ABC+20] James [email protected] Human Ecosystem? 9 / 17
  • 46. Italian Railways Workflow [ABC+ 20, Figure 1] James [email protected] Human Ecosystem? 10 / 17
  • 47. Italian Railways Workflow [ABC+ 20, Figure 1] Hopefully our successors will not be building anything this complex to understand our artefacts, but how sure can we be? James [email protected] Human Ecosystem? 10 / 17
  • 48. Italian Railways Workflow [ABC+ 20, Figure 1] Hopefully our successors will not be building anything this complex to understand our artefacts, but how sure can we be? B We can reasonably hope that our artefacts are fully formal. James [email protected] Human Ecosystem? 10 / 17
  • 49. Italian Railways Workflow [ABC+ 20, Figure 1] Hopefully our successors will not be building anything this complex to understand our artefacts, but how sure can we be? B We can reasonably hope that our artefacts are fully formal. A But “strong legacy domain knowledge”? James [email protected] Human Ecosystem? 10 / 17
  • 50. Paris Métro Line 14 [Déh22] James [email protected] Human Ecosystem? 11 / 17
  • 51. Paris Métro Line 14 [Déh22] 1998 Opened; fully automatic; critical software verified by Atelier B. major showcase. James [email protected] Human Ecosystem? 11 / 17
  • 52. Paris Métro Line 14 [Déh22] 1998 Opened; fully automatic; critical software verified by Atelier B. major showcase.  This software (rather than the construction process) was signed off, with no change process [Déh17, Minute 14:30]. James [email protected] Human Ecosystem? 11 / 17
  • 53. Paris Métro Line 14 [Déh22] 1998 Opened; fully automatic; critical software verified by Atelier B. major showcase.  This software (rather than the construction process) was signed off, with no change process [Déh17, Minute 14:30]. 2003,2007 Extensions opened (but already in the verified software). James [email protected] Human Ecosystem? 11 / 17
  • 54. Paris Métro Line 14 [Déh22] 1998 Opened; fully automatic; critical software verified by Atelier B. major showcase.  This software (rather than the construction process) was signed off, with no change process [Déh17, Minute 14:30]. 2003,2007 Extensions opened (but already in the verified software). 2010s Planning for new extensions, not in software. James [email protected] Human Ecosystem? 11 / 17
  • 55. Paris Métro Line 14 [Déh22] 1998 Opened; fully automatic; critical software verified by Atelier B. major showcase.  This software (rather than the construction process) was signed off, with no change process [Déh17, Minute 14:30]. 2003,2007 Extensions opened (but already in the verified software). 2010s Planning for new extensions, not in software.  Atelier B only runs on Sun workstations, ported to Linux (but not necessarily 100% identical, and previous software didn’t verify out-of-the-box). James [email protected] Human Ecosystem? 11 / 17
  • 56. Paris Métro Line 14 [Déh22] 1998 Opened; fully automatic; critical software verified by Atelier B. major showcase.  This software (rather than the construction process) was signed off, with no change process [Déh17, Minute 14:30]. 2003,2007 Extensions opened (but already in the verified software). 2010s Planning for new extensions, not in software.  Atelier B only runs on Sun workstations, ported to Linux (but not necessarily 100% identical, and previous software didn’t verify out-of-the-box). 2020 New extension, with new trains running 2× faster. James [email protected] Human Ecosystem? 11 / 17
  • 57. Paris Métro Line 14 [Déh22] 1998 Opened; fully automatic; critical software verified by Atelier B. major showcase.  This software (rather than the construction process) was signed off, with no change process [Déh17, Minute 14:30]. 2003,2007 Extensions opened (but already in the verified software). 2010s Planning for new extensions, not in software.  Atelier B only runs on Sun workstations, ported to Linux (but not necessarily 100% identical, and previous software didn’t verify out-of-the-box). 2020 New extension, with new trains running 2× faster.  The new trains were 8 carriages, not 6, so not every door opens at every station; significant modification. James [email protected] Human Ecosystem? 11 / 17
  • 58. Paris Métro Line 14 [Déh22] 1998 Opened; fully automatic; critical software verified by Atelier B. major showcase.  This software (rather than the construction process) was signed off, with no change process [Déh17, Minute 14:30]. 2003,2007 Extensions opened (but already in the verified software). 2010s Planning for new extensions, not in software.  Atelier B only runs on Sun workstations, ported to Linux (but not necessarily 100% identical, and previous software didn’t verify out-of-the-box). 2020 New extension, with new trains running 2× faster.  The new trains were 8 carriages, not 6, so not every door opens at every station; significant modification. q But it’s running formally verified GoA4 [Cue20]. James [email protected] Human Ecosystem? 11 / 17
  • 60. Questions 1 Cobol: Do you keep programming in a sufficiently similar language? James [email protected] Human Ecosystem? 12 / 17
  • 61. Questions 1 Cobol: Do you keep programming in a sufficiently similar language? 2 Atelier B: Is your proof infrastructure still maintained? James [email protected] Human Ecosystem? 12 / 17
  • 62. Questions 1 Cobol: Do you keep programming in a sufficiently similar language? 2 Atelier B: Is your proof infrastructure still maintained? 3 Ligne 14: Just because a theorem verifies automatically today doesn’t mean it will verify automatically in 20 years time. Is it worth/possible recording some major steps of the automatic proof, rather than “relying on upwards compatibility” James [email protected] Human Ecosystem? 12 / 17
  • 63. Questions 1 Cobol: Do you keep programming in a sufficiently similar language? 2 Atelier B: Is your proof infrastructure still maintained? 3 Ligne 14: Just because a theorem verifies automatically today doesn’t mean it will verify automatically in 20 years time. Is it worth/possible recording some major steps of the automatic proof, rather than “relying on upwards compatibility”  This may be more serious as more machine learning (sledgehammer etc.) is used in proof systems. James [email protected] Human Ecosystem? 12 / 17
  • 64. Questions 1 Cobol: Do you keep programming in a sufficiently similar language? 2 Atelier B: Is your proof infrastructure still maintained? 3 Ligne 14: Just because a theorem verifies automatically today doesn’t mean it will verify automatically in 20 years time. Is it worth/possible recording some major steps of the automatic proof, rather than “relying on upwards compatibility”  This may be more serious as more machine learning (sledgehammer etc.) is used in proof systems. 4 Italy: Are you reliant on “strong legacy domain knowledge”? James [email protected] Human Ecosystem? 12 / 17
  • 65. Questions 1 Cobol: Do you keep programming in a sufficiently similar language? 2 Atelier B: Is your proof infrastructure still maintained? 3 Ligne 14: Just because a theorem verifies automatically today doesn’t mean it will verify automatically in 20 years time. Is it worth/possible recording some major steps of the automatic proof, rather than “relying on upwards compatibility”  This may be more serious as more machine learning (sledgehammer etc.) is used in proof systems. 4 Italy: Are you reliant on “strong legacy domain knowledge”?  “The Empire can’t maintain anything” — Hober Mallow [Asi44]. James [email protected] Human Ecosystem? 12 / 17
  • 66. Bibliography I E. Ábrahám, B. Becker, A. Bigatti, B. Buchberger, A. Cimatti, J.H. Davenport, M. England, P. Fontaine, S. Forrest, D. Kroening, W. Seiler, and T. Sturm. SC2: Satisfiability Checking meets Symbolic Computation (Project Paper). In Proceedings CICM 2016, pages 28–43, 2016. A. Amendola, A. Becchi, R. Cavada, A. Cimatti, A. Griggio, G. Scaglione, A. Susi, A. Tacchella, and M. Tessi. A model-based approach to the design, verification and deployment of railway interlocking system. In Proceedings International Symposium on Leveraging Applications of Formal Methods ISOLA 2020, pages 240–254, 2020. James [email protected] Human Ecosystem? 13 / 17
  • 67. Bibliography II A. Amendola, A. Becchi, R. Cavada, A. Cimatti, A. Ferrando, L. Pilati, G. Scaglione, A. Tacchella, and M. Zamboni. NORMA: a tool for the analysis of Relay-based Railway Interlocking Systems. Tools and Algorithms for the Construction and Analysis of Systems TACAS 2022, pages 125–142, 2022. I. Asimov. The Big and the Little [reprinted as “Merchant Princes” in Foundation, Gnome Press, 1951]. Astounding, 33:7–54, 1944. A. Cimatti. Migrating Railway Systems. Personal Communication at Dagstuhl February 2022, 2022. James [email protected] Human Ecosystem? 14 / 17
  • 68. Bibliography III O. Cuenca. Paris inaugurates Line 14 extension. https://www.railjournal.com/passenger/metros/ paris-inaugurates-line-14-extension/, 2020. D. Déharbe. Talk at SCSC Summer School. https://vimeo.com/showcase/5271198, 2017. D. Déharbe. Évolution de la ligne 14. Personal Communication 11 August, 2022. James [email protected] Human Ecosystem? 15 / 17
  • 69. Bibliography IV Financial Times. Ulster Bank’s computer says no to negative rates. https://www.ft.com/content/ ff12856a-e07d-11e9-9743-db5a370481bc, 2019. E. Shein. COBOL programmers are in demand to fight the coronavirus pandemic. https://www.techrepublic.com/article/ cobol-programmers-are-in-demand-to-fight-the-coronaviru 2020. James [email protected] Human Ecosystem? 16 / 17
  • 70. Bibliography V S. Sumner. Computing gathered a group of UK-based IT leaders together to discuss their legacy concerns, including security, skills and cost issues. https://www.computing.co.uk/news/4057289/ cios-discuss-legacy-issues-dont-write-mainframe, 2022. M. Thomas. Ethics, old software and negative interest rates. Letter to Financial Times 4 October, 2019. James [email protected] Human Ecosystem? 17 / 17