Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

RE: Re: Controlled natural language for program debugging



BC Tel ("Telus") now allows free-style interaction with a Customer-service
Machine. Is that an example of what you are calling Controlled Natural
Language? If so, is there any reason a program like that could not be
generalized to all 2,000 of MIT's OCW courses?

Z


On Fri, 6 Aug 2004, Schiffel, Jeffrey A wrote:

> I agree entirely with John Sowa's points. In my original note, I was
> making two observations. The first is that the ad-hoc, "natural
> languages" put together during software development are usually sloppy,
> inconsistent, and are not sufficient to guarantee clean, clear
> statements of requirements. What is needed is a controlled natural
> language.
>
> John's original posting concerned the use of CNL in the programming
> effort, specifically in debugging. My second point was that in large
> software engineering projects (many engineers and engineering support
> staff, long development schedules) there are many potential benefits
> beyond just the programming group. For example, clear test plans and
> protocols can be difficult to write due to semantically imprecise
> requirements specifications having varying interpretations by various
> team members. This is a major problem in those kinds of projects where
> testing is half or more of the time and personnel cost, and where both
> the test results and the entire development process are subject to
> safety-critical certification by outside agencies.
>
> -- Jeffrey Schiffel
>
>
> -----Original Message-----
> From: John F. Sowa [mailto:sowa@bestweb.net]
> Sent: Wednesday, August 04, 2004 10:16 PM
> To: Party of Citizens; Schiffel, Jeffrey A
> Cc: standard-upper-ontology@listserv.ieee.org; cg@cs.uah.edu; Norbert
> E.Fuchs; doug@site.uottawa.ca
> Subject: CG: Re: Controlled natural language for program debugging
>
>
> Before commenting on the recent notes by Jeffrey Schiffel
> and the Party of Citizens, I'd like to clarify some
> points about controlled natural languages:
>
>   1. The term CNL has been used in a variety of ways
>      for languages that use the basic vocabulary
>      and syntax of some natural language in a more
>      controlled or restricted way than usual.
>
>   2. The versions of CNLs I have been talking about are
>      true formal languages, which map to some subset
>      of first-order logic.  In that sense, they can be
>      considered logical notations that are readable
>      even by people who have never studied logic.
>
>   3. Although CNLs are easier to read than other notations
>      for logic, authors do require some practice or study
>      before they can write a CNL.  Good editing and help
>      facilities are important for teaching people how
>      to stay within the restrictions.  Various CNLs have
>      already proved to be useful for many applications,
>      but it's not clear exactly which applications are best
>      suited to CNLs.  In general, CNLs have a lot of promise,
>      but that promise is not likely to be realized without
>      good tools and a good development environment.
>
>   4. In my recent note about CNLs for program debugging, I
>      pointed to some studies that are being carried out at
>      Carnegie-Mellon.  Those studies are still works in
>      progress, and I hope that other people will explore
>      the potential of CNLs for other kinds of applications.
>
> Jeffrey Schiffel said
>
>  > ... I'd like to comment on the lack of rigor in the use of
>  > natural languages throughout the software development life cycle.
>
> It is impossible to use CNLs in a way that is nonrigorous.
>
>  > It would be much better if a CNL could be used during the writing of
> > requirements. Even if not used to produce code by programming directly
> > in CNL, verification of the development process end-to-end through  >
> traceability studies, product validation via qualification testing,  >
> and writing accompanying documents like user guides would be enhanced.
> > Automated development support tools built around CNL could rely on a
> > consistent, closed semantics.
>
> I can foresee a potential problem:  it is impossible to use a CNL until
> after the semantics has been defined.  But during the design stage, the
> semantics are still undefined.  However, it might be possible to design
> tools that can aid users in converting informal NLs to more formal CNLs.
> An example of tools designed to help that transformation is the FactGuru
> system developed by Doug Skuce and his colleagues:
>
>     http://www.factguru.com
>
> There is still an enormous amount of work that has to be done in
> designing good tools, and I don't want to claim that CNLs will solve all
> the world's problems without a lot more R & D.
>
> Party of Citizens said
>
>  > Any comments on the approach to software taken at
>  > http://www.care-t.com ?
>  > Are they trying to achieve the same objective?
>
> I took a look at some of their whitepapers, and they do
> not seem to be using CNLs.  They are developing conceptual modeling
> tools, which might be usefully commbined with CNLs.  In fact, one way to
> use a CNL is for the *output*
> stage:  after a system designer had specified a conceptual model, the
> tools could automatically generate a complete specification in a CNL,
> which the manager who requested the design is more likely to read than
> other notations.
>
> John Sowa
>