I have completed successfully OpenCog build and now I am about to start my 
real project - Norm-Driven Software Development (NDSD): 
1) formalization of law, norms, software industry best practices, software 
elements and components;
2) software generation (and maintenance) using formalized norms.

OpenCog is very appropriate for the first task (although I need yet to 
understand how to represent modalities (obligations, permissions) in PLN 
and rules), because it smoothly integrates logic/reasoning with 
representation of the real-world/commonsense knowledge (which is taken into 
account in almost any legal reasoning task).

However I am researching how to do the second task - I have only vague 
ideas how to do this generally or with OpenCog particularly. My idea is to 
create layers of repositories: one level can consist of UML style set of 
business classes, of view classes and services classes and another level is 
the syntax tree representation of the software code from which the final 
code can be read and sent for the compilation and production of 
deliverables.

I am still thinking how to do syntax tree manipulation in OpenCog and I 
just wanted to know are there floating some similar ideas around - not to 
rediscover already known things.

I am aware of MOSES and procedural knowledge representation (using Combo 
programs) but MOSES is program search using genetic programming and Combo 
is not industrial programming language.

I feel that extensive set of norms can create detailed enough specification 
(or put constraints on the search space) to speedup genetic search or even 
fully replace it.

I feel that there is need for the manipulation of procedural knowledge that 
is represented in the industrial programming languages because:
1) such knowledge can be reviewed and maintained by human beings (as the 
last resort);
2) already existing code should be included in such knowledge, maintained 
and the knowledge extraction from the existing code should be possible;
3) large parts of OpenCog is still written in the industrial programming 
language - therefore ability to work with industrial programming languages 
is necessary for the enabling self modification and self-understanding of 
the system.

Every program can be represented as abstract syntax tree and therefore I 
should start with enabling syntax tree manipulation in OpenCog...

Alex

-- 
You received this message because you are subscribed to the Google Groups 
"opencog" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/opencog.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/opencog/171290fa-603a-4179-880f-bf31d311746c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to