Richard,
In a comment to a recent blog post of mine Evgenii asked for my comments on
the following automatic programming task. I responded with an enumeration of
the types of problem-solving knowledge and behaviors that a solution requires:
[Evgenii] ... I’ll share my use case which my system used. My ultimate goal for
the first stage was to create an automatic programmer who would be capable of
parsing the following specification, and capable to emit a Java program that
implements this specification.
The specification was:
Write a TCP echo server. (Client connects to the server, sends bytes to the
server, and receives them back immediately, until client does disconnect on
behalf of its own). Server must be able to serve more than one client
simultaneously. The server should be implemented in Java.
[Steve] ... I expect that your [Evgenii's] system should have an adequate
commonsense understanding of the application domain, and relevant domain
algorithms:
TCP socket protocol [at the transport layer, e.g. how to listen, how to
connect, how to read/write, & close a socket]
Client/Server paradigm
multithreading, including thread safety
what “echo” means It should have an understanding of the generally
applicable programming algorithms that are relevant:
object-oriented program classes and instances
variable typing
statement sequencing and control
method definition and invocation
program composition (e.g. initialization, process, finalization, and
exception handling)
test case generation
programming safety (i.e. be Friendly and do not cause the host to crash)
And it should understand the relevant Java concepts:
how to compose a Java class
how to map attributes of domain objects to Java instance variables
how to compose Java statements
how to use applicable class libraries
how to compile and execute a Java program If the Texai dialog system were
applied to your [Evgenii's] use case, then I expect a great deal of the effort
would be to acquire the background algorithm knowledge from human teachers.
Furthermore, I think that the specified program would be developed during a
dialog with the teacher. It would only be after the system has adequately
learned the subject, that it could program automatically from text
specifications.
-Steve
Stephen L. Reed
Artificial Intelligence Researcher
http://texai.org/blog
http://texai.org
3008 Oak Crest Ave.
Austin, Texas, USA 78704
512.791.7860
----- Original Message ----
From: Richard Loosemore <[EMAIL PROTECTED]>
To: [email protected]
Sent: Wednesday, February 6, 2008 8:47:43 AM
Subject: Re: [agi] Reading on automatic programming?
Stephen Reed wrote:
> Eli,
> Same as Ben - Generative Programming, Methods, Tools, and
> Applications
> (2000) -
> Krzysztof Czarnecki, Ulrich W. Eisenecker
I would chime in and say that this one also struck me as a very
stimulating book, but its main benefit to me was to get me thinking
about where the points of "rigidity" where, in their formalism. The
places where the whole thing would break down unless someone did
some
"hand-crafting" or "pre-digesting" of ideas. My main concern was to
get
the same thing to happen without any such cheating, and I found the
clarity of their writing helped me to see how to do that (or at
least,
how to do it better).
Overall, I think that the "automatic programming" problem is pretty
much
isomorphic to the general intelligence problem: an AP system is
going
to demand such flexibility and (and as you put it, Steve) such
depth of
knowledge, that the system will have to pretty much the whole of
intelligence before it can be trusted to do full automatic
programming.
But then, I'm hard to please: my criterion for success in AP is
that it
has to be good enough to discover new design patterns....
Richard Loosemore
>
> -Steve
>
> Stephen L. Reed
>
> Artificial Intelligence Researcher
> http://texai.org/blog
> http://texai.org
> 3008 Oak Crest Ave.
> Austin, Texas, USA 78704
> 512.791.7860
>
>
> ----- Original Message ----
> From: Eliezer S. Yudkowsky <[EMAIL PROTECTED]>
> To: [email protected]
> Sent: Wednesday, February 6, 2008 12:25:22 AM
> Subject: Re: [agi] Reading on automatic programming?
>
> Stephen Reed wrote:
> > Hi Evgenii,
> >
> > >From my bookshelf:
> > 1. Code Generation in Action (2003) - Jack Herrington
> > 2. Computer Program Construction (1994) - Ali Mili, Jules
> Desharnais,
> > Fatma Mili
> > 3. Knowledge Based Program Construction (1979) - David R.
> Barstow
> > 4. Studies in Automatic Programming Logic (1977) - Zohar
> Manna, Richard
> > Waldinger
> > 5. A Theory and Practice of Program Development (1997) -
> Derek Andrews
> > 6. Program Construction, Calculating Implementations from
> > Specifications (2003) - Roland Backhouse
> > 7. Refinement Calculus, A Systematic Introduction (1998) -
> Ralph-Johan
> > Back, Joakim von Wright
> > 8. Generative Programming, Methods, Tools, and Applications
> (2000) -
> > Krzysztof Czarnecki, Ulrich W. Eisenecker
> > 9. Annual Review in Automatic Programming (...1973...) -
> Pergamon Press
>
> Which one's your favorite?
>
> --
> Eliezer S. Yudkowsky
> http://singinst.org/
> Research Fellow, Singularity Institute for Artificial Intelligence
>
> -----
> This list is sponsored by AGIRI: http://www.agiri.org/email
> To unsubscribe or change your options, please go to:
> http://v2.listbox.com/member/?& <http://v2.listbox.com/member/?&>
>
>
> ------------------------------------------------------------------------
> Looking for last minute shopping deals? Find them fast with Yahoo!
> Search.
>
> <http://us.rd.yahoo.com/evt=51734/*http://tools.search.yahoo.com/newsearch/category.php?category=shopping>
> ------------------------------------------------------------------------
> This list is sponsored by AGIRI: http://www.agiri.org/email
> To unsubscribe or change your options, please go to:
> http://v2.listbox.com/member/?&
> <http://v2.listbox.com/member/?&>
-----
This list is sponsored by AGIRI: http://www.agiri.org/email
To unsubscribe or change your options, please go to:
http://v2.listbox.com/member/?&
____________________________________________________________________________________
Looking for last minute shopping deals?
Find them fast with Yahoo! Search.
http://tools.search.yahoo.com/newsearch/category.php?category=shopping
-----
This list is sponsored by AGIRI: http://www.agiri.org/email
To unsubscribe or change your options, please go to:
http://v2.listbox.com/member/?member_id=8660244&id_secret=94190338-71b11f