from a community of practice to a body of knowledge: a case study of the formal methods community
DESCRIPTION
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 slidesTRANSCRIPT
From a Community of PracticeFrom a Community of Practiceto a Body of Knowledge:to a Body of Knowledge:
A case study of the formal methods communityA case study of the formal methods community
Prof. Jonathan P. BowenMuseophile Limited
London South Bank UniversityUniversity of Westminster
Thank you to theUniversity 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!
Abstract
There once was a Z CoP.The result was a BoK, don’t you see?
It started with ZUGAnd then there was BUG,
A true FM community.
Overview
• Community of Practice (CoP) – collection of people developing domain knowledge
• Formal methods community – Z User Group• Body of Knowledge (BoK) – ontology for a
particular professional domain• Software Engineering Body of Knowledge
(SWEBOK) – ACM/IEEE• Z specification of a BOK – FMBoK
Community of Practice (CoP)
• Social sciences concept• Wenger, E.: Communities of Practice:
Learning, Meaning, and Identity. Cambridge University Press, Cambridge (1998)
• Wenger, E., McDermott, R.A., Snyder, W.: Cultivating Communities of Practice: A guide to managing knowledge. Harvard Business School Press, Boston (2002)
Various formal methods CoPs!
B community!
A small B community in Bantry, southwest Ireland!
Fundamental Elements of a CoP1. Domain: Common interest to be effective.
E.g., Z notation.2. Community: Group of people willing to
engage with others. Z started at Oxford University, then Z User Group.
3. Practice: Explore existing and develop new knowledge. Z is discrete maths, with schema boxes and extra operators for large specs.
Community development
“The art of community development is to use the synergy between domain, community, and practice to help a community evolve and fulfil its potential.” – Wenger et al. (2002)
Cultivating a CoP
1. Design the CoP to evolve naturally. Initially at Oxford, with a Masters and intensive Z courses, later at UK and then internationally.
2. Create opportunities for open discussion. Annual Z User Meeting established in 1986, initially in Oxford, later around UK/Europe. Also Z FORUM.
3. Welcome and allow different levels of participation.
• Bar
• King
3. Welcome and allow different levels of participation.
• Develop Z – researchers
• Learn Z – students
• Use Z – industry
• Read Z – testers, implementers
• Write Z – specifiers
• Appreciate Z – managers
4. Develop both public and private CoP facilities.
• Z User Meeting, core of public event for Z (then ZB, now ABZ)
• Z web information• Z books• Z standard• Z courses
5. Focus on the value of the CoP.
As well as the ZUM, academic and industrial courses:•Z Reference Manual (ZRM) from 1989•Z User Group (www.zuser.org) from 1992•ISO/IEC 13568:2002 standard for Z in 2002•Community Z Tools (CZT) initiative (czt.sourceforge.net)
6. Combine familiarity and excitement within the CoP.As well as ZUM:• ZFORUM mailing list established in 1980s
– then linked to comp.specification.z newsgroup (now on Google Groups)
• Z archive established using FTP/email access at Oxford– later web-based from 1994– now on a Formal Methods Wiki under
formalmethods.wikia.com
7. Find and nurture a regular rhythm for the CoP.
Z User Meetings held at first annually, then (as ZB) on an 18-month cycle, and now (as ABZ) a two-year cycle.
“The challenge of designing natural structures like communities of practice is creating an approach to design that redefines design itself” – Wenger et al. (2002)
Stages of Community Development1. Potential: extant social and/or professional
network needed to bootstrap a CoP. Initially for Z, there was a group of people already interested in formal methods in general at Oxford.
2. Coalescing: needs to combine good understanding of existing knowledge with what is possible in the future. Oxford group already expert in underlying maths used by Z. with a vision of computer-based system specification.
3. Maturing: must be a move from establishing goals to first steps in realization.
• Establishment of ZUM in 1986, together with Z FORUM electronic newsletter seminal in providing a focus.
• IBM CICS project (1980s) provided an example of a real industrial project.
• Spivey’s Z Reference Manual provided a de facto standard (1988, 2nd ed. In 1992, online in 2001).
4. Stewardship: once CoP matured, momentum must be maintained with changes in personnel, etc.
• Establishment of the Z User Group (1992)– organizational focus
• ISO Z standard (2002)– formalization, basis for Z BoK?
• Community Z Tools project (2000s)– open source Z tools
5. Transformation: eventually CoP will naturally transmogrify into a new form or disappear.
ZUM became:•International Conference of Z Users (1995)
– first outside UK in Berlin (1997)•ZB conference (2000)•ABZ conference (2008)•Movement to B-Method, Event-B, Alloy
Body of Knowledge
“All men by nature desire knowledge.” – Aristotle
•A CoP can develop a Body of Knowledge (BoK)•A BoK provides concepts, terms, activities, useful/essential in a professional domain•Typically produced by a professional association•Used for certification and education or training
“The only source of knowledge is experience.”– Albert Einstein
IEEE SWEBOK
• SWEBOK: Guide to the Software Engineering Body of Knowledge. IEEE Computer Society (2004), www.swebok.org
• Intended to cover knowledge after four years of practice
• Does not cover non-software engineering knowledge a software engineer should have
IEEE/ACM SEEK• Software Engineering Education Knowledge• Joint Task Force on Computing Curricula. Software
Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering. Computing Curricula Series, IEEE CS/ACM sites.computer.org/ccse/SE2004Volume.pdf
FMEK/FMBOK
Suggestion:• Formal Methods Education Knowledge• Formal Methods Body of Knowledge
• Balance of theory and practice an issue• Abstraction, modelling, information
organization and representation, management of change (cf. SEEK)
BoK in Z
Names of entities and references to external items
Entries and separate categories to provide structure
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
Further constraints
Links, categories, and citations must be valid
Entries may have no links, categories , or citations
Further constraints
Entries with no links to them are orphans
Some references may be uncited
Further constraintsAll entries have links, citations, and categories, although some categories may not have entries
All entries are linked, all categories areused, and all refs are cited
Further constraints
Self-links and self-categories should be disallowed
More strongly, loops are not desirable in categories
Further constraints
Top-level categories are not categorized
All categories are used (i.e., they are not empty)
Further constraints
If entries are not interlinked, it is questionable why they are needed
More strongly, all entries may be linked in both directions
Overall BoK
All categories and entries are interconnected from the top-level categoriesby traversing up and down the categories
Further desirable properties can be added as constraints
Conclusions & Future Work
• First time FM community has been considered in a CoP context
• The Z community is at the last CoP stage• A success since communities can fail before this• Newer FM communities could learn from this• FMEK/FMBOK could be proposed “formally”• Z (or similar) could be used to formalize a BoK
framework
Alan Turing – 99 to 100 years• Born on 23 June 1912• Centenary events in Bletchley
Park, California, Cambridge, Manchester, Oxford
• Sat-Sun 23-24 June 2012 at Department of Continuing Education, Oxford
• Cliff Jones, Samson Abramsky, Martin Campbell-Kelly, Andrew Hodges, Jack Copeland, etc.
Turing sculpture by Stephen Kettle
www.stephenkettle.co.uk
From a Community of PracticeFrom a Community of Practiceto a Body of Knowledge:to a Body of Knowledge:
A case study of the formal methods communityA case study of the formal methods community
Prof. Jonathan P. BowenMuseophile Limited
London South Bank UniversityUniversity of Westminster
The End!