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

Reply via email to