Marscel
2007-12-04, 14:00:19
Ich hatte heute Nacht eine Idee, die mich seitdem beschäftigt.
Angenommen, ich habe ein Programm, das einen verfügbaren Speicher mit Daten von verschiedenen Typen füllt (von einfachen bit-Flags bis hin zu Matrizen).
Diese Informationen sollen verarbeitet werden. Jetzt möchte ich, dass beliebig viele Data-Miner auf diese zugreifen können. Jeder Miner hat vorgegebene Input-/Outputmöglichkeiten um auf diese Daten mit vollen Rechten zugreifen zu können (also ggf. auch modifizieren können). Jedes Miner-Programm besteht aus einem schwierigerem Teil, dem, der die Daten nach vorgegebenen Mustern analysiert und abhängig davon zur Laufzeit (!) des Miners dessen Operationsfähigkeiten (von denen ich ein Set voll zur Verfügung stelle) erweitern und verändern kann. Letztendlich will ich ein System haben, dass anhand von Wahrscheinlichkeiten "würden -> können" behandeln kann und je nach Input darauf reagieren kann.
Hier eine Skizze dessen:
http://www.pcreact.de/misc/skizze.png
Was ich von euch NICHT wissen will, ist, dass es nicht funktionieren kann oder schwachsinnig vom Konzept ist, ich will damit selber auf die Schnauze fliegen, sollte ich die Zeit finden, es umzusetzen. ;)
Ich dachte da an dynamische Veränderungen des Quellcodes des Reaktionsteils des Miners, der dann zur Laufzeit kompiliert, gelinkt und angwendet wird, sodass es quasi beim Laufen dazulernt bzw. sich erweitert.
Aber konkrete technische Vorschläge? So, dass es auf handelsüblichen x86 Maschinen mit 3GHz auf Windows und/oder Linux realisierbar ist.
- Wie greife ich, wenn ich nicht Schittstellen à la SQL (oder bloß TCP) oder andere Inferprozesskommunikationsprotokolle, auf den Speicher des einen Programms zu? Und zwar typenkorrekt (also über Tabellen oder so)?
Gibts da Standards, Libraries?
- Was kann man sinnvoll für Sprachen bzw. Plattformen nehmen, um zur Laufzeit ein Programm zu modifizieren oder notfalls, zu terminieren, kompilieren und neueinzuklinken, ohne, dass allzu viel Zeit vergeht? Oder doch besser eine VM wie Java?
Ich führ das nachher evtl. weiter aus, ich muss in die Schule zurück. Ich bedanke mich schon mal für Anregungen. :)
Angenommen, ich habe ein Programm, das einen verfügbaren Speicher mit Daten von verschiedenen Typen füllt (von einfachen bit-Flags bis hin zu Matrizen).
Diese Informationen sollen verarbeitet werden. Jetzt möchte ich, dass beliebig viele Data-Miner auf diese zugreifen können. Jeder Miner hat vorgegebene Input-/Outputmöglichkeiten um auf diese Daten mit vollen Rechten zugreifen zu können (also ggf. auch modifizieren können). Jedes Miner-Programm besteht aus einem schwierigerem Teil, dem, der die Daten nach vorgegebenen Mustern analysiert und abhängig davon zur Laufzeit (!) des Miners dessen Operationsfähigkeiten (von denen ich ein Set voll zur Verfügung stelle) erweitern und verändern kann. Letztendlich will ich ein System haben, dass anhand von Wahrscheinlichkeiten "würden -> können" behandeln kann und je nach Input darauf reagieren kann.
Hier eine Skizze dessen:
http://www.pcreact.de/misc/skizze.png
Was ich von euch NICHT wissen will, ist, dass es nicht funktionieren kann oder schwachsinnig vom Konzept ist, ich will damit selber auf die Schnauze fliegen, sollte ich die Zeit finden, es umzusetzen. ;)
Ich dachte da an dynamische Veränderungen des Quellcodes des Reaktionsteils des Miners, der dann zur Laufzeit kompiliert, gelinkt und angwendet wird, sodass es quasi beim Laufen dazulernt bzw. sich erweitert.
Aber konkrete technische Vorschläge? So, dass es auf handelsüblichen x86 Maschinen mit 3GHz auf Windows und/oder Linux realisierbar ist.
- Wie greife ich, wenn ich nicht Schittstellen à la SQL (oder bloß TCP) oder andere Inferprozesskommunikationsprotokolle, auf den Speicher des einen Programms zu? Und zwar typenkorrekt (also über Tabellen oder so)?
Gibts da Standards, Libraries?
- Was kann man sinnvoll für Sprachen bzw. Plattformen nehmen, um zur Laufzeit ein Programm zu modifizieren oder notfalls, zu terminieren, kompilieren und neueinzuklinken, ohne, dass allzu viel Zeit vergeht? Oder doch besser eine VM wie Java?
Ich führ das nachher evtl. weiter aus, ich muss in die Schule zurück. Ich bedanke mich schon mal für Anregungen. :)