Also, some interesting research along these lines by Stephanie Forrest of
the University of New Mexico:

http://genprog.adaptive.cs.unm.edu/

-- Max

On Fri, Oct 15, 2010 at 11:04 AM, Murat Girgin <gir...@gmail.com> wrote:

> Cunningham's "Extreme Genetic Programming" might be of interest:
> http://www.neocoretechs.com/.
>
> Murat
>
> On Fri, Oct 15, 2010 at 1:33 AM, John Nilsson <j...@milsson.nu> wrote:
>
>> On Fri, Oct 15, 2010 at 3:20 AM, Casey Ransberger
>> <casey.obrie...@gmail.com> wrote:
>> > I wonder: what if all we did was write the tests? What if we threw some
>> kind of genetic algorithm or neural network at the task of making the tests
>> pass?
>>
>> I've been having a similar thought for a while now, but its not really
>> the test as such, it is more the declarative nature of the test. How
>> would the programming model look like if the system was derived from
>> formalized requirements (tests)? How would the system be derived
>> (genetic algorithm)?
>>
>>
>> My thinking is more focused on the programming model and how to divide
>> the artifact development between the correct people than actual
>> algorithms for auomatic derivation. F.ex. architectures could be
>> expressed as libraries, a constraint solver or genetic algorithm can
>> be fed the high level requirements and mine the architecture libraries
>> to generate a basic architecture. The generated architecture concepts
>> can then be referenced in new requirements to derive functions.
>>
>> Now the trick is, i believe, in stratifying the requirements when
>> formalizing them. Low-level requirements is often dependent on
>> solutions picked from high-level requirements. I.e. the "color of the
>> navigation menu should be red" is not at the same level as "the system
>> presents a webshop." Still the dependency between the requirements is
>> interesting to focus on. Would one revisit the choice of "webshop"
>> maybe there is no "navigation menu" that can "be red".
>>
>> I anticipate that the problem in developming and maintaining such a
>> system is to keep referential integrity between requirements.
>> Navigating Java in a modern IDE f.ex. makes it easy to find all
>> references of an identifier which is vital when assessing the imact of
>> a change. In a similar style high level requirements that affect lower
>> level requirements must be easy to trace.
>>
>>
>> To achieve such a system I have been thinking of implementing a meta
>> language system in which languages can be declared, mixed and anlyzed
>> together. By declaring transformations between langaugas the system
>> would allow derived concepts in one language to depend on declared
>> expressions in another language and assert referential integrity.
>>
>>
>> BR,
>> John
>>
>> _______________________________________________
>> fonc mailing list
>> fonc@vpri.org
>> http://vpri.org/mailman/listinfo/fonc
>>
>
>
> _______________________________________________
> fonc mailing list
> fonc@vpri.org
> http://vpri.org/mailman/listinfo/fonc
>
>
_______________________________________________
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc

Reply via email to