[Chaîne de logiciels] Des idées pour améliorer la production avec optimisation?

Bonjour,

Attention, c’est énormément de travail.

Je suis amateur en prog et j’ai écris une dixaine de programmes qui sont sensés n’en être qu’un.

Pour améliorer ma production avec optimalité, je viens vous demander en l’état des choses, des conseils et des idées pour être au top de ma production.

J’ai six concepts à mettre en oeuvre au mieux.

Dans ces six programme, j’utilise un réseau de neuronnes artificiel, l’algorithme génétique, le path finding et un algorithme de décision dans un arbre avec un parcour en largeur d’abord.

Je vous donne la ou les fonctions des six programmes lesquels, il est envisageable d’exploiter communément dans un unique appel sur la ligne de commande ou de constituer une bibliothèque.

Dans le cas d’une bibliothèque, je dois rassembler chaque service en présentant les types et les fonctions mise à dipositions.

Dans le cas d’un appel, j’espère trouver un arrangement pour parvenir à un possible développement continu.

Les six programme sont les suivants :

un séquenceur MIDI avec Gtk
un task manager avec Gtk
un window box dialog avec Gtk
un serveur de jeux avec un Linux term
une OS interface avec un objects manager dans un abre N-air sur un Linux term

Une application de production de logiciel

L’objectif est de produire une chaîne de processus permettant d’écouter et d’écrire de la musique ou pas tout en produisant du code basé sur des relations logique faites par application sémantique grâce à un réseau de neuronnes en jouant à un jeu.

Je plaisante pas.
C’est exactement ce que je vie et ce programme est l’implémentation d’une I. a. basée sur moi même.

L’orientation de mes interrogations est liée à l’idée que je me fais distinctement de chacun de ces programmes, de la possibilité d’un appel sur une ligne en enchaînant les pipes, ou d’un unique programme et alternativement une galère juste de quelques lignes de code supplémentaires.

Donc la question est :

  • appeller : ./bin/program
    ou
  • appeller : ./bin program1 | ./bin/program2 | ./bin/program3 … etc
    ou
  • appeler : ./bin/program1
    : ./bin/program2
    : ./bin/program3
    : etc

Ettant donné les fonctions des 5 programmes établies et du sixième à mettre en oeuvre tout en exploitant librement chacune des six fonctions.

Si vous avez la cervelle et du temps… A votre bon coeur.

Pas pour etre mechant, mais j’espère que vous codez mieux que vous n’écrivez. C’est surtout préoccupant sachant que vous voulez créer une AI

1 J'aime

Que reprochez vous à ce message ?

Excuse la méchanceté non-méchante de @loicmtp, pour ma part, j’avoue ne pas avoir bien compris que font tes six programmes et pourquoi tu penses que les combiner en un seul soit plus optimal. De ce que j’en ai compris, la chaîne semble fonctionner en l’état.

Maleheureusement, non.

Chaque programme assure bien chacun sa fonction et l’objectif est de jouer la musique en fonction de ce que l’on programme via un dialogue.

Ce qui est sensiblement différent.

Attends, tu veux dire que les programmes fonctionnent individuellement, mais ne fonctionnent pas quand tu tentes de les faire fonctionner ensemble ?

Evidemment !

Le sequenceur est un sequenceur, il faut cliquer des cases pour composer la musique.
Pour faire de la musique en programmant, je dois envoyer le résultat de l’implémentation établie par dialogue alors que Dialogue ne fait que dialoguer et implementation est même pas écrit.

!

Je ne comprends pas non plus. Je te suggère de réécrives ton post en le simplifiant au maximum, par exemple en ne gardant que 2 programmes, sans nécessairement citer leur fonctionnalités mais en précisant ton problème, ce que tu voudrais en résultat, ce qui ne fonctionne pas, ce que tu as essayé.

Je reformule !

Quels sont les avantages et les inconvéniants des méthodes suivantes :

Appeler 4 programmes séparément
Appeller 4 programmes connectés grâce à des pipes
Appeller 1 programme unique

S’il vous plait ?

Choose an IPC Mechanism:

a. Pipes:

  • Anonymous Pipes : Use pipe() system call to create a unidirectional channel between two related processes.
  • Named Pipes (FIFO) : Create a named pipe using mkfifo command to establish communication between different processes.

b. Sockets:

  • Unix Domain Sockets : Create a communication endpoint that allows processes to communicate within the same system.
  • Internet Domain Sockets : Establish communication between processes running on different systems over a network.

c. Shared Memory:

  • Create Shared Memory : Use system calls like shmget() and shmat() to create and attach shared memory segments to different processes.
  • Semaphore or Mutex : Implement synchronization mechanisms like semaphores or mutexes to manage shared memory access.

d. Message Queues:

  • Create Message Queues : Use system calls like msgget() and msgsnd() to create and send messages between processes.

2. Modify Programs for IPC:

  • For each program, introduce code that interacts with the chosen IPC mechanism. This involves creating sockets, pipes, shared memory segments, or message queues.
  • Programs should be able to read from or write to the communication channels established through IPC.

3. Establish Communication:

  • Define the data structures or message formats that programs will use to communicate.
  • Implement logic to send and receive messages/data through the chosen IPC mechanism.

4. Test and Debug:

  • Verify that the communication between programs works as expected. Test various scenarios to ensure robustness.
  • Debug any issues encountered during communication or data exchange.

5. Coordinate Program Execution:

  • Design a strategy for coordinating the execution of these programs using IPC. For instance, you might establish a protocol for when and how each program communicates or interacts with others.
1 J'aime

Merci Loïc.

Je reformule ma question.

J’ai mon bureau qui est composé comme ça !

Je dois alternativement utiliser d’inombrable fenêtre dans un process e - bussness de développement se composants logiciel produit en common-intelligence avec un bot.

Je cherche l’optimalité en mesurant l’éfficacité d’abord dans le développement.

J’espère trouver avec vous l’idée d’un centre de traitement qui constituerait un processus principal, pour en établir les limites et le nommer.

Merci de votre compréhension.

La question est: est ce qu’un changement daqns une fenetre est repercuté dans une autre? si pas il est necessaire d’avoir un controleur qui supervise les changement et les repercute aux autres interface. Ca passe par ce que j’ai mis plus haut.

Dans un premier temps, si vous pouviez reformuler votre question ?

Et si je vous met le code, est-ce que ça répondra à votre intérêt pour ma question ?

Non c’est vous le dev

Par contre comprenez vous ce que je vous ai mis plus haut?

Je vous arrête immédiatement.
Ma question s’adresse à des gens qui s’intéresse au programmes et aux systèmes.
Il s’agit de programmer éfficacement un système complexe à organiser au mieux pour profiter de la puissance de chacun séparément tout en pouvant les faire converger vers un développement convergeant vers l’I. a. .

Je pourrais vous doner une formulation exacte de mon process de développement mais ce serait pas intéressant pour tout le monde. Alors je vous la communique pas, de toute façon, ça n’a de l’interrêt que pour moi.

D’accord mais dans ce cas je vous ai donné des pistes d’investigation. Et apparemment vous devriez retourner aux fondamentaux: « Comprendre ce que vous faites ».

Et éventuellement retourner à l’école car vu les fautes que vous faites c’est nécessaire.
L’AI est devenu une mode, mais tout le monde n’a pas le niveau

Pour répondre aimablmant ?
Apparemment vous avez un brin de bon sens.

La communication est toujours un art difficile et nous en avons un très bon exemple ici.

La majorité des lecteurs de ce forum j’imagine …

Continues !