New WG proposal: Safety Engineering Process


Lukas Bulwahn
 

On Wed, Sep 15, 2021 at 6:06 PM Paul Albertella
<paul.albertella@...> wrote:

Hi Lukas,

Thanks very much for your supportive words and thoughtful feedback!

Responses inline below.

On 14/09/2021 17:36, Lukas Bulwahn wrote:
My preference on naming, hence, would be on:

- Evidence WG
- Claims on Open-Source Software WG
- Open-Source Engineering Process WG

The name is important, just for newcomers and outsiders not to set the
wrong expectations.
Agreed!

The consensus in the last Dev Process WG meeting was that the name
needed to have the word 'safety' in it (as with the Safety Architecture
WG) to make it clear to participants that safety is explicitly in scope
for our discussions!

Participants expressed a concern that 'Evidence' and 'Claims', while
descriptive of the intended *approach* for the group, do not clearly
express its intended *scope* (Claims about what? Evidence of what?).
'Engineering Process' was therefore proposed as the best overall
description of this scope.

However, I believe that the intention with the proposed name was to
focus on the role of 'Engineering Processes in Safety', as opposed to
'Processes for Safety Engineering', so the name may need a rethink.

Let's discuss this in tomorrow's WG meeting.

(Linguistic sidebar: The English language is renowned for its
imprecision and ambiguity when building compound descriptors in this
way, because it lacks clear grammar rules to aid parsing!)
Reasoning makes perfect sense, but the outcome is simply misguiding,
blame the English language for it, but I guess that thing is even
older and even more broken than our beloved safety standards...

I do not know if LTP (it stands for Linux Test Project, right?) is a
community or organisation; I would really just think LTP stands for
the test suite itself, i.e., the source code in the repository.
I mentioned LTP because it is both a consumer of Linux and a source of
of potentially relevant engineering process material (test suites) that
relate to it. If we wanted to analyse that material, and the processes
around it, then we could gather evidence from the project's mailing
list, Github project, and documentation (see
http://linux-test-project.github.io/).

However, we wouldn't *necessarily* plan to use evidence relating to the
work of LTP as a community/organisation to directly support our claims
about Linux. We might instead consider how the LTP's processes, and the
materials that it generates and maintains, might potentially be re-used
by an organisation incorporating Linux as part of a product, to generate
supporting evidence as part of *its* engineering processes.
That all makes sense, when you condensed the use of LTP as an asset,
it was simply added to the aggregation next to AGL and organisation,
which simply is a different thing...

Again, just a nit... we can pick on it longer... or just move on.

I wrote:
As part of this work, we also plan to write a summary of the results and
conclusions of the work done by the Development Process WG, which will
also be made available in an elisa.tech Github repo. This is intended to
provide background for new participants and other WGs, as well as a
baseline / conceptual framework for the work of the new group.
Lukas wrote:
I think that is quite important; it might also be a separate group
(the continuation of the development process WG; those that have
invested and learned something in that group) but certainly should
happen. I would be very interested in the overall summary, results and
conclusions. I got lost on the way on what the consensus and lessons
learned really were in the course of all the discussions.
I certainly agree that this will require contributions and review by the
members of the Dev Process WG who were involved in the historical
discussions, but I think it makes sense for the new working group to
'own' it as an activity.

Note that I'm *not* proposing to devote WG sessions to authoring or
reviewing these materials. The goal would be to identify topics that we
would like to cover, ask for volunteers to write them up and submit the
material in a GitHub PR, and reviewers to read and comment on these.
We'll then regularly review progress in WG meetings and decide when
contributions are ready for for 'publication' (merge into mainline).

If this activity come to dominate the new WG discussions (or we don't
find time to do it!) then we might alternatively plan to have a monthly
working session devoted to this.
Okay, let us see how that idea can be brought to life... I will
certainly try to write down my lessons learned from the development
process working group, although unfortunately, it is more about the
misconceptions and wrong conclusions others have moved along as the
discussion went on.

I will try to formulate positively this way:

If a comparison between open-source development, as in our example for
the kernel development, and the expectations of a safety standard, is
just done by considering each individual clause independently and
isolated, the actual mismatch between the two is hardly captured and
significant effort goes into detailed comparison, where on a higher
level, the mismatch is so significant that the actual details of each
clause hardly matter.

Good luck and good success to everyone in the new working group!

With a good new name (my nameshedding is over), you certainly got my approval.

Lukas


Paul Albertella
 

Hi,

Update on the proposed name for this new WG:

We discussed Lukas' concerns and alternative name proposals (see below and [1]) in today's Dev Process WG call and agreed to adopt:

Open-Source Engineering Process WG

The plan is to seek formal approval for the new group at the next TSC meeting, which is on the Wednesday 29th September (postponed from 22nd due to Linux Plumbers).

Regards,

Paul

[1] See https://lists.elisa.tech/g/devel/message/1603

On 14/09/2021 17:36, Lukas Bulwahn wrote:
My preference on naming, hence, would be on:

- Evidence WG
- Claims on Open-Source Software WG
- Open-Source Engineering Process WG

The name is important, just for newcomers and outsiders not to set the
wrong expectations.
On 15/09/2021 17:06, Paul Albertella wrote:
Agreed!
The consensus in the last Dev Process WG meeting was that the name needed to have the word 'safety' in it (as with the Safety Architecture WG) to make it clear to participants that safety is explicitly in scope for our discussions!
Participants expressed a concern that 'Evidence' and 'Claims', while descriptive of the intended *approach* for the group, do not clearly express its intended *scope* (Claims about what? Evidence of what?). 'Engineering Process' was therefore proposed as the best overall description of this scope.
However, I believe that the intention with the proposed name was to focus on the role of 'Engineering Processes in Safety', as opposed to 'Processes for Safety Engineering', so the name may need a rethink.
Let's discuss this in tomorrow's WG meeting.


Paul Albertella
 

Hi Lukas,

Thanks very much for your supportive words and thoughtful feedback!

Responses inline below.

On 14/09/2021 17:36, Lukas Bulwahn wrote:
My preference on naming, hence, would be on:
- Evidence WG
- Claims on Open-Source Software WG
- Open-Source Engineering Process WG
The name is important, just for newcomers and outsiders not to set the
wrong expectations.
Agreed!

The consensus in the last Dev Process WG meeting was that the name needed to have the word 'safety' in it (as with the Safety Architecture WG) to make it clear to participants that safety is explicitly in scope for our discussions!

Participants expressed a concern that 'Evidence' and 'Claims', while descriptive of the intended *approach* for the group, do not clearly express its intended *scope* (Claims about what? Evidence of what?). 'Engineering Process' was therefore proposed as the best overall description of this scope.

However, I believe that the intention with the proposed name was to focus on the role of 'Engineering Processes in Safety', as opposed to 'Processes for Safety Engineering', so the name may need a rethink.

Let's discuss this in tomorrow's WG meeting.

(Linguistic sidebar: The English language is renowned for its imprecision and ambiguity when building compound descriptors in this way, because it lacks clear grammar rules to aid parsing!)

I do not know if LTP (it stands for Linux Test Project, right?) is a
community or organisation; I would really just think LTP stands for
the test suite itself, i.e., the source code in the repository.
I mentioned LTP because it is both a consumer of Linux and a source of of potentially relevant engineering process material (test suites) that relate to it. If we wanted to analyse that material, and the processes around it, then we could gather evidence from the project's mailing list, Github project, and documentation (see http://linux-test-project.github.io/).

However, we wouldn't *necessarily* plan to use evidence relating to the work of LTP as a community/organisation to directly support our claims about Linux. We might instead consider how the LTP's processes, and the materials that it generates and maintains, might potentially be re-used by an organisation incorporating Linux as part of a product, to generate supporting evidence as part of *its* engineering processes.

I wrote:
As part of this work, we also plan to write a summary of the results and
conclusions of the work done by the Development Process WG, which will
also be made available in an elisa.tech Github repo. This is intended to
provide background for new participants and other WGs, as well as a
baseline / conceptual framework for the work of the new group.
Lukas wrote:
I think that is quite important; it might also be a separate group
(the continuation of the development process WG; those that have
invested and learned something in that group) but certainly should
happen. I would be very interested in the overall summary, results and
conclusions. I got lost on the way on what the consensus and lessons
learned really were in the course of all the discussions.
I certainly agree that this will require contributions and review by the members of the Dev Process WG who were involved in the historical discussions, but I think it makes sense for the new working group to 'own' it as an activity.

Note that I'm *not* proposing to devote WG sessions to authoring or reviewing these materials. The goal would be to identify topics that we would like to cover, ask for volunteers to write them up and submit the material in a GitHub PR, and reviewers to read and comment on these. We'll then regularly review progress in WG meetings and decide when contributions are ready for for 'publication' (merge into mainline).

If this activity come to dominate the new WG discussions (or we don't find time to do it!) then we might alternatively plan to have a monthly working session devoted to this.

Regards,

Paul


Lukas Bulwahn
 

On Tue, Sep 14, 2021 at 3:05 PM Paul Albertella
<paul.albertella@...> wrote:

Hi,

The Development Process working group has been discussing proposals for
the evolution of the group. The WG has historically attempted to cover a
number of goals in a single context, which has occasionally created
confusion; to address this, we propose to split into two separate
working groups, each with a clearer focus.

Elana Copperman and I have proposed mission statements and planned
activities for these two new groups, which have been discussed in the
Dev Process WG weekly calls.

Having reached some consensus about a way forward in that forum, I'd now
like to share my proposal (see below) with the wider ELISA community for
comment, before seeking to formalise the group at the TSC. I hope that
Elana will share details of her proposal in due course.

Regards,

Paul
Paul, thanks for pushing this forward and not giving up.

On the scope, I fully agree with your proposal for a new working
group; you can probably find some emails a few years back pushing for
a working group going in that direction (the proposal for an "Evidence
WG" goes far back in history). So, I am all in... except for the
name...

So, that drives me directly to the bikeshedding on naming...

---------------------------------------------------------------------

Proposed working group name
---------------------------

Safety Engineering Process
I dislike the name for the following reasons:

With my personal interpretation of the Working Group's description, I
understand:

For me, safety engineering is "system engineering to modify an early
version of a system description", "safety analysis in the scope of a
specific system" and "structuring the created insights suitable for an
safety certification assessor". None of the three aspects are really
the core of WG. In detail:

While the results the WG creates eventually contributes to a safety
engineering process (at the integrator's site and desk), the large
part (let's say 90%) of safety engineering and the definition and
establishment of the safety engineering process really happens outside
of this working group.
E.g., I think the Automotive and Medical WG are much more involved in
safety engineering and need to determine the safety engineering
process they employ, e.g., how they write down their safety analysis,
how they execute STPA (as one safety analysis method the Medical WG
currently employs). So, they are much more a "Safety Engineering
Process" working group than what I read out of your WG description.

Also, your description states "specifying how a given claim and its
supporting evidence may be used as part of a certification process
should be considered out of scope", which really is the third
essential part of a safety engineering process for me.

My preference on naming, hence, would be on:

- Evidence WG
- Claims on Open-Source Software WG
- Open-Source Engineering Process WG

The name is important, just for newcomers and outsiders not to set the
wrong expectations.
The detailed working group description states your goal clearly; it is
just that name is not a good fit IMHO.


Proposed WG chair
-----------------

Paul Albertella

Proposed meeting schedule
-------------------------

Weekly on Thursday, in the same slot as the current Dev process call

Proposed mission statement
--------------------------

This working group aims to examine safety-related claims that we might
like to make about Linux as part of a system, and to explore how we can
gather and present evidence to support such claims as part of a safety
engineering process.

We are interested in two broad classes of claims and evidence:

a) Those relating to development practices for Linux as a whole; for
example, the peer review process for patches, the testing performed on a
kernel stable branch when preparing a release, or the testing performed
by a system integrator for a product that incorporates Linux

b) Those relating to specific properties or behaviour of Linux; for
example, features that we can enable or disable in a kernel config, the
(inferred) design of a subsystem, the characteristics of a driver, or
tests that can verify aspects of a given feature

For (b), we will focus on engineering process aspects (construction,
verification, integration, use and maintenance) relating to the feature
or property, rather than technical details of its design/implementation.

In both cases we may examine practices or processes that are undertaken
by the Linux kernel community, as well as communities or organisations
that consume Linux (e.g. AGL, LTP), or we may identify practices or
processes from other sources that might be used by organisations who
want to use Linux to build systems with safety requirements.
Just a detail:

I do not know if LTP (it stands for Linux Test Project, right?) is a
community or organisation; I would really just think LTP stands for
the test suite itself, i.e., the source code in the repository. The
community for LTP is not that large and there is unfortunately hardly
a strong organisation behind that. A few years back, when I last
checked the few main developers were not employed for that purpose and
did it in their spare time (nowadays, I think Suse and RedHat are
employing them... but still not a large community).

I think "the Debian community" might serve as a better example here.
They do have practices, and do organize themselves (e.g. Debian
conferences, etc.).

Well, just a nit...

Planned activities
------------------

Our objectives are to:

* Define claims that we would like to make about Linux and/or the
processes used to develop it or integrate it as part of a product
* Identify evidence that we might use to support these claims
* Identify strategies or tools that we can use to gather, generate or
reformulate evidence (perhaps in collaboration with the Tools WG)
We are of course always happy to collaborate and see what we (or our
high-performance server) can do for you.

* Examine the evidence gathered and document our findings
* Share and peer-review our findings in an elisa.tech Github repo

Possible claims might be proposed by another WG, perhaps in relation to
a specific use case, technique or safety argument, or we may select our
own. Claims that we examine may not all be safety claims, per se; some
might relate to software quality, for example, or functionality that
does not have an explicit safety role, since both of these may be needed
to support safety arguments.
I think this observation on the nature of claims is already quite a
valuable one.


We will use contributors’ knowledge of specific safety standards to
inform our work where appropriate - for example to determine what
criteria to apply for a given class of evidence - but specifying how a
given claim and its supporting evidence may be used as part of a
certification process should be considered out of scope.
Where we do not have consensus on results or conclusions, we will
document the different perspectives and/or open questions. We will
manage the material produced in an elisa.tech Github repo and
collectively review it in GitHub PRs, inviting review or input from the
rest of the ELISA community where appropriate.
I think that is a very important aspect for a working group in the
ELISA Project and should be the best practice for all WGs here. Some
have been more successful than others in that regard.

As part of this work, we also plan to write a summary of the results and
conclusions of the work done by the Development Process WG, which will
also be made available in an elisa.tech Github repo. This is intended to
provide background for new participants and other WGs, as well as a
baseline / conceptual framework for the work of the new group.
I think that is quite important; it might also be a separate group
(the continuation of the development process WG; those that have
invested and learned something in that group) but certainly should
happen. I would be very interested in the overall summary, results and
conclusions. I got lost on the way on what the consensus and lessons
learned really were in the course of all the discussions.

Collaboration
-------------

The group expects to collaborate with the existing working groups and
with the new group proposed by Elana, both to identify or discuss claims
and evidence for analysis, and to address wider questions relating to
safety engineering processes. Where we work with another group on given
topics, we may jointly present the results at an Elisa workshop.
Thanks again, Paul, for your investment and moving this forward. I
hope to see some previous work results from the students I mentored
being picked up in this new group.

Lukas


elana.copperman@...
 

Thanks, Paul, for your clear summary of previous discussions.  
My added inputs are included below Paul's text.  The proposed name for the new WG remains TBC, I am open to suggestions.

As noted by Paul, this has been extensively discussed in the recent Dev Process WG weekly calls.
My expectation is to announce this new format in the upcoming ELC/LSS conference, as well as in the 
next ELISA workshop, thus inviting new members to join and to contribute. 

Regards
Elana


From: devel@... <devel@...> on behalf of Paul Albertella <paul.albertella@...>
Sent: Tuesday, September 14, 2021 4:05 PM
To: devel@... <devel@...>
Subject: [ELISA Technical Community] New WG proposal: Safety Engineering Process
 
Hi,

The Development Process working group has been discussing proposals for
the evolution of the group. The WG has historically attempted to cover a
number of goals in a single context, which has occasionally created
confusion; to address this, we propose to split into two separate
working groups, each with a clearer focus.

Elana Copperman and I have proposed mission statements and planned
activities for these two new groups, which have been discussed in the
Dev Process WG weekly calls.

Having reached some consensus about a way forward in that forum, I'd now
like to share my proposal (see below) with the wider ELISA community for
comment, before seeking to formalise the group at the TSC. I hope that
Elana will share details of her proposal in due course.

Regards,

Paul

---------------------------------------------------------------------

Proposed working group name
---------------------------

Safety Engineering Process

Proposed WG chair
-----------------

Paul Albertella

Proposed meeting schedule
-------------------------

Weekly on Thursday, in the same slot as the current Dev process call

Proposed mission statement
--------------------------

This working group aims to examine safety-related claims that we might
like to make about Linux as part of a system, and to explore how we can
gather and present evidence to support such claims as part of a safety
engineering process.

We are interested in two broad classes of claims and evidence:

a) Those relating to development practices for Linux as a whole; for
example, the peer review process for patches, the testing performed on a
kernel stable branch when preparing a release, or the testing performed
by a system integrator for a product that incorporates Linux

b) Those relating to specific properties or behaviour of Linux; for
example, features that we can enable or disable in a kernel config, the
(inferred) design of a subsystem, the characteristics of a driver, or
tests that can verify aspects of a given feature

For (b), we will focus on engineering process aspects (construction,
verification, integration, use and maintenance) relating to the feature
or property, rather than technical details of its design/implementation.

In both cases we may examine practices or processes that are undertaken
by the Linux kernel community, as well as communities or organisations
that consume Linux (e.g. AGL, LTP), or we may identify practices or
processes from other sources that might be used by organisations who
want to use Linux to build systems with safety requirements.

Planned activities
------------------

Our objectives are to:

* Define claims that we would like to make about Linux and/or the
   processes used to develop it or integrate it as part of a product
* Identify evidence that we might use to support these claims
* Identify strategies or tools that we can use to gather, generate or
   reformulate evidence (perhaps in collaboration with the Tools WG)
* Examine the evidence gathered and document our findings
* Share and peer-review our findings in an elisa.tech Github repo

Possible claims might be proposed by another WG, perhaps in relation to
a specific use case, technique or safety argument, or we may select our
own. Claims that we examine may not all be safety claims, per se; some
might relate to software quality, for example, or functionality that
does not have an explicit safety role, since both of these may be needed
to support safety arguments.

We will use contributors’ knowledge of specific safety standards to
inform our work where appropriate - for example to determine what
criteria to apply for a given class of evidence - but specifying how a
given claim and its supporting evidence may be used as part of a
certification process should be considered out of scope.

Where we do not have consensus on results or conclusions, we will
document the different perspectives and/or open questions. We will
manage the material produced in an elisa.tech Github repo and
collectively review it in GitHub PRs, inviting review or input from the
rest of the ELISA community where appropriate.

As part of this work, we also plan to write a summary of the results and
conclusions of the work done by the Development Process WG, which will
also be made available in an elisa.tech Github repo. This is intended to
provide background for new participants and other WGs, as well as a
baseline / conceptual framework for the work of the new group.

Collaboration
-------------

The group expects to collaborate with the existing working groups and
with the new group proposed by Elana, both to identify or discuss claims
and evidence for analysis, and to address wider questions relating to
safety engineering processes. Where we work with another group on given
topics, we may jointly present the results at an Elisa workshop.

*********************************************************************************************

Proposed working group name
---------------------------

Linux Developers WG

Proposed WG chair
-----------------

Elana Copperman

Proposed meeting schedule
-------------------------

Weekly on Mondays, pending availability of participants

Proposed mission statement
-------------------------
  • To identify existing Linux Kernel features which may be leveraged for use in safety critical systems.  

  • For example, 

    1. Mechanisms for protections of various memory types.  

    2. Dynamic analysis for multi-threaded systems. 

    3. Kernel profiling using ebpf-based tools. 

    4. Isolation techniques and FFI (Freedom From Interference)

    5. Safety extensions to Linux drivers.


  • To bring together kernel developers and producers of safety critical systems to demonstrate use of 

  • such features in real systems, and to learn from these experiences together as a community.


  • To propose enhancements to such features and to work as a community to design / implement / 

    • deploy kernel patches.  Such patches should help to make those features more amenable 

    • for use in safety critical systems.


  • To recommend tools or processes to be provided by other ELISA WGs so that those patches 

  • and features can be used by designers and integrators producing safety critical systems. 


Planned activities
------------------
The scope of this WG
does not in any way include safety qualification or any safety claims on how the 
integrator can or should use these features or patches.  The only claims that would be made are a 
description of the feature and its functional impact. 
Evidence to support deployment of any feature in a safety-critical system may be clarified by work 
products produced by the other ELISA WGs, focusing on collaboration as outlined by Paul above.

The work group will invite developers of safety critical systems to identify and to enhance existing 
kernel features with elements that may be used effectively to support safety claims.







Paul Albertella
 

Hi,

The Development Process working group has been discussing proposals for the evolution of the group. The WG has historically attempted to cover a number of goals in a single context, which has occasionally created confusion; to address this, we propose to split into two separate working groups, each with a clearer focus.

Elana Copperman and I have proposed mission statements and planned activities for these two new groups, which have been discussed in the Dev Process WG weekly calls.

Having reached some consensus about a way forward in that forum, I'd now like to share my proposal (see below) with the wider ELISA community for comment, before seeking to formalise the group at the TSC. I hope that Elana will share details of her proposal in due course.

Regards,

Paul

---------------------------------------------------------------------

Proposed working group name
---------------------------

Safety Engineering Process

Proposed WG chair
-----------------

Paul Albertella

Proposed meeting schedule
-------------------------

Weekly on Thursday, in the same slot as the current Dev process call

Proposed mission statement
--------------------------

This working group aims to examine safety-related claims that we might like to make about Linux as part of a system, and to explore how we can gather and present evidence to support such claims as part of a safety engineering process.

We are interested in two broad classes of claims and evidence:

a) Those relating to development practices for Linux as a whole; for example, the peer review process for patches, the testing performed on a kernel stable branch when preparing a release, or the testing performed by a system integrator for a product that incorporates Linux

b) Those relating to specific properties or behaviour of Linux; for example, features that we can enable or disable in a kernel config, the (inferred) design of a subsystem, the characteristics of a driver, or tests that can verify aspects of a given feature

For (b), we will focus on engineering process aspects (construction, verification, integration, use and maintenance) relating to the feature or property, rather than technical details of its design/implementation.

In both cases we may examine practices or processes that are undertaken by the Linux kernel community, as well as communities or organisations that consume Linux (e.g. AGL, LTP), or we may identify practices or processes from other sources that might be used by organisations who want to use Linux to build systems with safety requirements.

Planned activities
------------------

Our objectives are to:

* Define claims that we would like to make about Linux and/or the
processes used to develop it or integrate it as part of a product
* Identify evidence that we might use to support these claims
* Identify strategies or tools that we can use to gather, generate or
reformulate evidence (perhaps in collaboration with the Tools WG)
* Examine the evidence gathered and document our findings
* Share and peer-review our findings in an elisa.tech Github repo

Possible claims might be proposed by another WG, perhaps in relation to a specific use case, technique or safety argument, or we may select our own. Claims that we examine may not all be safety claims, per se; some might relate to software quality, for example, or functionality that does not have an explicit safety role, since both of these may be needed to support safety arguments.

We will use contributors’ knowledge of specific safety standards to inform our work where appropriate - for example to determine what criteria to apply for a given class of evidence - but specifying how a given claim and its supporting evidence may be used as part of a certification process should be considered out of scope.

Where we do not have consensus on results or conclusions, we will document the different perspectives and/or open questions. We will manage the material produced in an elisa.tech Github repo and collectively review it in GitHub PRs, inviting review or input from the rest of the ELISA community where appropriate.

As part of this work, we also plan to write a summary of the results and conclusions of the work done by the Development Process WG, which will also be made available in an elisa.tech Github repo. This is intended to provide background for new participants and other WGs, as well as a baseline / conceptual framework for the work of the new group.

Collaboration
-------------

The group expects to collaborate with the existing working groups and with the new group proposed by Elana, both to identify or discuss claims and evidence for analysis, and to address wider questions relating to safety engineering processes. Where we work with another group on given topics, we may jointly present the results at an Elisa workshop.