Speaker: Prof. Jonathan P. BOWEN, London South Bank University / University of Westminster / Museophile Limited United Kingdom
Date: Friday, 24 June 2011, FM 2011 Symposium, University of Limerick, Ireland
Abstract: A Body of Knowledge (BoK) is an ontology for a particular professional
domain. A Community of Practice (CoP) is the collection of people developing
such knowledge. In the paper we explore these concepts in the context
of the formal methods community in general and the Z notation community, as
has been supported by the Z User Group, in particular. The existing SWEBOK
Software Engineering Body of Knowledge is considered with respect to formal
methods and a high-level model for the possible structure of of a BoK is provided
using the Z notation.
Biography: Prof. Jonathan P. Bowen, FBCS, FRSA, is Chair of Museophile Limited, an IT consultancy company. He is also a Visiting Professor at University of Westminster since 2010 and an Emeritus Professor at London South Bank University since 2007. From 2007-2009, he was a Visiting Professor at the King's College London. In 2007, he was a visiting academic at University College London; in 2008, he was a visiting lecturer at Brunel University and during 2008-2009 he worked on a large industrial high integrity software engineering project using formal methods. Previously he was at the University of Reading, the Oxford University Computing Laboratory and Imperial College, London. He has been involved with the field of computing in both industry and academia since 1977, specializing in software engineering in general and formal methods in particular. In 2002, Bowen founded Museophile Limited with the original aim to help museums online. He is an enthusiastic contributor to Wikipedia in the area of museums and on computing topics. Bowen is a Fellow of the British Computer Society and of the Royal Society of Arts. He holds the Freedom of the Worshipful Company of Information Technologists and is a member of the ACM and IEEE. He has an MA degree in Engineering Science from Oxford University.
FM 2011 Symposium slides
From CoP to BoK: Case study of the formal methods community
1. From a Community of Practice to a Body of Knowledge: A case study of the formal methods community Prof. Jonathan P. Bowen Museophile Limited London South Bank University University of Westminster www.jpbowen.com [email_address]
2. Thank you to the University of Waikato, Dept. of CS, New Zealand www.cs.waikato.ac.nz/~stever … Steve Reeves for the invitation, funding, and collaboration in November 2010 … Mark Utting for my office … Cimbale for endless espresso!
25. BoK in Z Names of entities and references to external items Entries and separate categories to provide structure
26. State and constraints BoK has entries, categories and references There are links between entries, entries and categories may be categorized, and entries may include citations
27. Further constraints Links, categories, and citations must be valid Entries may have no links, categories , or citations
29. Further constraints All entries have links, citations, and categories, although some categories may not have entries All entries are linked, all categories are used, and all refs are cited
30. Further constraints Self-links and self-categories should be disallowed More strongly, loops are not desirable in categories
32. Further constraints If entries are not interlinked, it is questionable why they are needed More strongly, all entries may be linked in both directions
33. Overall BoK All categories and entries are interconnected from the top-level categories by traversing up and down the categories Further desirable properties can be added as constraints
34.
35.
36. From a Community of Practice to a Body of Knowledge: A case study of the formal methods community Prof. Jonathan P. Bowen Museophile Limited London South Bank University University of Westminster www.jpbowen.com [email_address]
Speaker: Prof. Jonathan P. BOWEN, London South Bank University / University of Westminster / Museophile Limited United Kingdom Title: From a Community of Practice to a Body of Knowledge: A case study of the formal methods community Date: Friday, 24 June 2011, FM 2011 Symposium, University of Limerick, Ireland Abstract: A Body of Knowledge (BoK) is an ontology for a particular professional domain. A Community of Practice (CoP) is the collection of people developing such knowledge. In the paper we explore these concepts in the context of the formal methods community in general and the Z notation community, as has been supported by the Z User Group, in particular. The existing SWEBOK Software Engineering Body of Knowledge is considered with respect to formal methods and a high-level model for the possible structure of of a BoK is provided using the Z notation. Biography: Prof. Jonathan P. Bowen, FBCS, FRSA, is Chair of Museophile Limited, an IT consultancy company. He is also a Visiting Professor at University of Westminster since 2010 and an Emeritus Professor at London South Bank University since 2007. From 2007-2009, he was a Visiting Professor at the King's College London. In 2007, he was a visiting academic at University College London; in 2008, he was a visiting lecturer at Brunel University and during 2008-2009 he worked on a large industrial high integrity software engineering project using formal methods. Previously he was at the University of Reading, the Oxford University Computing Laboratory and Imperial College, London. He has been involved with the field of computing in both industry and academia since 1977, specializing in software engineering in general and formal methods in particular. In 2002, Bowen founded Museophile Limited with the original aim to help museums online. He is an enthusiastic contributor to Wikipedia in the area of museums and on computing topics. Bowen is a Fellow of the British Computer Society and of the Royal Society of Arts. He holds the Freedom of the Worshipful Company of Information Technologists and is a member of the ACM and IEEE. He has an MA degree in Engineering Science from Oxford University.
Travel funding and expenses from the Department of Computer Science, University of Waikato to visit Hamilton, New Zealand.
Introductory limerick.
Abstract. A Body of Knowledge (BoK) is an ontology for a particular professional domain. A Community of Practice (CoP) is the collection of people developing such knowledge. In the paper we explore these concepts in the context of the formal methods community in general and the Z notation community, as has been supported by the Z User Group, in particular. The existing SWEBOK Software Engineering Body of Knowledge is considered with respect to formal methods and a high-level model for the possible structure of of a BoK is provided using the Z notation.
CoP books.
There are many different formal methods.
B community!
1. Domain: A CoP must have a common intere methods st to be effective. All the participants in the group must be able to contribute in some way within this domain. Otherwise it is just a collection of people with no particular purpose. For example, the Z notation has formed the nucleus of a CoP in a formal context. 2. Community: A CoP also needs a group of people who are willing to engage with at least some others in the group, so ultimately the entire group is transitively connected as a single entity, from a global viewpoint. This aspect is critical to the effective development of knowledge. The group of people interested in the Z notation started at the Oxford University Computing Laboratory through the inspiration of Jean-Raymond Abrial in the late 1970s and early 1980s. It has gradually spread around the world since then. 3. Practice: The CoP must explore both existing knowledge and develop new knowledge, based on existing concepts, but expanded through actual application in a practical sense. This leads to a set of common approaches and shared standards in applying them. The Z notation is based on predicate logic and set theory, both very standard concepts in mathematics that were originally formulated a long time before the development of Z. Schema boxes were added to the mathematics for the convenient structuring of realistic specifications. Initially case studies were specified. More recently, Z has been used for major industrial software engineering projects of a significant scale where system integrity is an important factor.
“ The challenge of designing natural structures like communities of practice is creating an approach to design that redefines design itself” – Wenger et al. (2002)
1. Design the CoP to evolve naturally: communities are naturally dynamic and the ability to adapt to the current needs of the CoP at different points in its development is important. In the case of Z, the initial community was largely based in Oxford. The Masters course at the Programming Research Group in Oxford included Z and intensive courses were also offered. 2. Create opportunities for open discussion: often an outsider can add value to the CoP by bringing in ideas that may not have evolved in the community if it was completely isolated. An annual Z User Meeting was established in 1986, initially in Oxford and later around the United Kingdom and then Europe. This aided the spread of Z nationally and then internationally.
3. Welcome and allow different levels of participation: some people will be able to devote large amounts of time to the CoP, but a much larger number will be able to commit to a small but nevertheless useful contribution. The core Z research was initially at Oxford, but later other research centres such as the University of York in the UK and the University of Queensland in Australia developed significant Z experience and mademajor research contributions. Others taught Z in formalmethods courses within university degree programmes, without necessarily undertaking research. 4. Develop both public and private CoP facilities: public events are very useful for community building and smaller private interactive discussions are important to make the larger meetings more effective. The Z User Meeting, as previously mentioned, formed the core of public events for Z. This developed into the ZB Conference, with the related B-Method community, in 2000. These were important networking events for interaction between individuals too. It has now become the ABZ conference with the inclusion of ASM (Abstract State Machines) in 2008, Alloy in 2010, and VDM in 2012, held every two years.
3. Welcome and allow different levels of participation: some people will be able to devote large amounts of time to the CoP, but a much larger number will be able to commit to a small but nevertheless useful contribution. The core Z research was initially at Oxford, but later other research centres such as the University of York in the UK and the University of Queensland in Australia developed significant Z experience and mademajor research contributions. Others taught Z in formalmethods courses within university degree programmes, without necessarily undertaking research. 4. Develop both public and private CoP facilities: public events are very useful for community building and smaller private interactive discussions are important to make the larger meetings more effective. The Z User Meeting, as previously mentioned, formed the core of public events for Z. This developed into the ZB Conference, with the related B-Method community, in 2000. These were important networking events for interaction between individuals too. It has now become the ABZ conference with the inclusion of ASM (Abstract State Machines) in 2008, Alloy in 2010, and VDM in 2012, held every two years.
3. Welcome and allow different levels of participation: some people will be able to devote large amounts of time to the CoP, but a much larger number will be able to commit to a small but nevertheless useful contribution. The core Z research was initially at Oxford, but later other research centres such as the University of York in the UK and the University of Queensland in Australia developed significant Z experience and mademajor research contributions. Others taught Z in formalmethods courses within university degree programmes, without necessarily undertaking research. 4. Develop both public and private CoP facilities: public events are very useful for community building and smaller private interactive discussions are important to make the larger meetings more effective. The Z User Meeting, as previously mentioned, formed the core of public events for Z. This developed into the ZB Conference, with the related B-Method community, in 2000. These were important networking events for interaction between individuals too. It has now become the ABZ conference with the inclusion of ASM (Abstract State Machines) in 2008, Alloy in 2010, and VDM in 2012, held every two years.
5. Focus on the value of the CoP: the value of a community may not be immediately obvious, but it should be nurtured explicitly by creating suitable events, activities, and relationships where the value can develop naturally. As well as the Z User Meetings, there were also academic and industrial courses, available to this day. A formal Z User Group (ZUG, http://zuser.org) was established in 1992 to act as a focus for Z activities, with finance raised through the Z User Meetings. The production of an ISO standard for Z occupied most of the 1990s, initially based on Spivey’s “ Z Reference Manual” (ZRM) [29], finally to appear in 2002 [19]. This formed the focus for the Community Z Tools (CZT) project that has produced a number of open source tools based on the Z standard (see http://czt.sourceforge.net).
6. Combine familiarity and excitement within the CoP: participants should feel comfortable with the day-to-day environment provided by the community, but there should be additional events that provide a “buzz” to keep people involved. In addition to Z User Meetings, a ZFORUM mailing list was established in the 1980s, which was later linked to a specially created newsgroup, comp.specification.z, and is still available through Google Groups. A Z archive was established using FTP and email access at Oxford, later augmented by web-based information from 1994, including more general formal methods information, incorporated as part of the Virtual Library initiated by Tim Berners-Lee, the inventor of the web. The information is now accessible through a Formal Methods Wiki that can be updated online by the entire formal methods community under http://formalmethods.wikia.com.
7. Find and nurture a regular rhythm for the CoP: there should be periodic events and milestones that provide a temporal structure to the community, providing participants with a sense of progress and achievement. The Z User Meetings were held at first annually, then on an 18 month cycle, and now a two year cycle.
1. Potential: an extant social and/or professional network is needed to bootstrap a CoP and form a core of the community. An important aspect is for members to sense enough commonality so that they feel connected. Initially for Z, there was a group of people already interested in formal methods in general at Oxford. The seed of Z formed when Jean-Raymond Abrial visited the Programming Research Group in Oxford and found a group receptive to his ideas. 2. Coalescing: the CoP needs to combine a good understanding of existing knowledge with visualization for what is possible in the future. The value of sharing information must be appreciated by those involved. The group at Oxford were already expert in the underlying mathematics used by Z. They also had the vision of applying this to the specification of computer-based systems.
3. Maturing: theremust be a move fromestablishing goals to the first steps in realizing these. The role of the CoP must be understood and defined in a wider context with relation to the domain areas. The establishment of the Z User Meetings in 1986, together with the Z FORUM electronic newsletter distributed via email around the same time, was seminal in providing a focus for wider Z-based activities. Gradually others interested in formal methods, both within the United Kingdom and around the world, gravitated towards Z, especially through attendance of the early Z User Meetings and communication via the newsletter. ZFORUM was initially edited from contributions via email, but later messages could be submitted directly by subscribers. The IBM CICS project in the 1980s provided an example of a real industrial project that used Z successfully. During the maturing phase, a Body of Knowledge (BoK) is gradually formed and implicitly agreed by the community, as least informally. In the case of Z, Spivey’s Z Reference Manual was issued as a de facto standard in 1988, with a second edition in 1992 and finally an online version in 2001.
Stewardship: once a CoP has matured, a momentum must be maintained with changes in personnel, etc. The knowledge of the CoP must remain relevant, up to date, and be of continuing benefit to the people involved. The establishment of the Z User Group in 1992 meant that Z had an organizational focus, with a constitution providing a chair, secretary, treasurer, and committee. Over the next decade, the ISO Z standard was produced [19]. This formalized the BoK related to Z developed by the community during the previous maturing phase. 5. Transformation: eventually a CoP will naturally transmogrify into some new form or disappear at the end of its useful lifetime. A formal institution may be established, several communities may form, it may become more social than professional, or the enthusiasm may die. After the production of the Z standard, the Community Z Tools project acted as a focus for open source Z tools based on the standard. The Z User Meeting became the ZB Conference and then the ABZ Conference, with a wider scope as research in Z contracted. The Z User Group became less active as conferences were organized and underwritten by the host institutions directly.While a Z community still exists, and significant industrial projects are still From a Community of Practice to a Body of Knowledge 313 using Z for high integrity applications, the focus of research and tool development has now moved to the B-Method and Event-B, together with Z-related languages and tools such as Alloy.
Stewardship: once a CoP has matured, a momentum must be maintained with changes in personnel, etc. The knowledge of the CoP must remain relevant, up to date, and be of continuing benefit to the people involved. The establishment of the Z User Group in 1992 meant that Z had an organizational focus, with a constitution providing a chair, secretary, treasurer, and committee. Over the next decade, the ISO Z standard was produced [19]. This formalized the BoK related to Z developed by the community during the previous maturing phase. 5. Transformation: eventually a CoP will naturally transmogrify into some new form or disappear at the end of its useful lifetime. A formal institution may be established, several communities may form, it may become more social than professional, or the enthusiasm may die. After the production of the Z standard, the Community Z Tools project acted as a focus for open source Z tools based on the standard. The Z User Meeting became the ZB Conference and then the ABZ Conference, with a wider scope as research in Z contracted. The Z User Group became less active as conferences were organized and underwritten by the host institutions directly.While a Z community still exists, and significant industrial projects are still From a Community of Practice to a Body of Knowledge 313 using Z for high integrity applications, the focus of research and tool development has now moved to the B-Method and Event-B, together with Z-related languages and tools such as Alloy.
A Community of Practice (CoP) typically develops a Body of Knowledge (BoK) as part of the development of a mature CoP during the maturing and stewardship phased mentioned in the previous section. A BoK provides a set of concepts, terms, activities, etc., that are useful or essential in a particular professional domain. A BoK is typically formulated by a relevant professional association and there are a number of examples in existence, including SWEBOK.
IEEE SWEBOK introduction.
IEEE/ACM SEEK introduction.
FMEK/FMBOK introduction.
A example BoK specified using the Z notation.
State and constraints.
Constraints.
Constraints.
Constraints.
Constraints.
Constraints.
Constraints.
Specification of the overall BoK.
Conclusions and future work.
Alan Turing centenary.
Speaker: Prof. Jonathan P. BOWEN, London South Bank University / University of Westminster / Museophile Limited United Kingdom Title: From a Community of Practice to a Body of Knowledge: A case study of the formal methods community Date: Friday, 24 June 2011, FM 2011 Symposium, University of Limerick, Ireland Abstract: A Body of Knowledge (BoK) is an ontology for a particular professional domain. A Community of Practice (CoP) is the collection of people developing such knowledge. In the paper we explore these concepts in the context of the formal methods community in general and the Z notation community, as has been supported by the Z User Group, in particular. The existing SWEBOK Software Engineering Body of Knowledge is considered with respect to formal methods and a high-level model for the possible structure of of a BoK is provided using the Z notation. Biography: Prof. Jonathan P. Bowen, FBCS, FRSA, is Chair of Museophile Limited, an IT consultancy company. He is also a Visiting Professor at University of Westminster since 2010 and an Emeritus Professor at London South Bank University since 2007. From 2007-2009, he was a Visiting Professor at the King's College London. In 2007, he was a visiting academic at University College London; in 2008, he was a visiting lecturer at Brunel University and during 2008-2009 he worked on a large industrial high integrity software engineering project using formal methods. Previously he was at the University of Reading, the Oxford University Computing Laboratory and Imperial College, London. He has been involved with the field of computing in both industry and academia since 1977, specializing in software engineering in general and formal methods in particular. In 2002, Bowen founded Museophile Limited with the original aim to help museums online. He is an enthusiastic contributor to Wikipedia in the area of museums and on computing topics. Bowen is a Fellow of the British Computer Society and of the Royal Society of Arts. He holds the Freedom of the Worshipful Company of Information Technologists and is a member of the ACM and IEEE. He has an MA degree in Engineering Science from Oxford University.