====== Génération de Java (en mode développement) ====== ===== Prérequis ===== récupérer le module COSTOLIB_PLUGIN_KML2JAVA sous cvs (dépend de COSTOLIB_PLUGIN_UI et COSTOLIB_PLUGIN_CORE) générer l'archive jar costo.framework.jar (clic droit sur projet, export , jar archive ...) ouvrir plugin.xml onglet overview cliquer sur launch An Eclipse Application Vous êtes maintenant dans le workspace runtime de la deuxième instance d'éclipse ===== Génération ===== * créer un nouveau projet Java si ce n'est déja fait * ajouter costo.framework.jar au buildpath * importer les specs kmelia * ouvrez un composant kmelia avec l'éditeur, cliquez sur KML2java le code est généré. (sous réserve que le composant kmelia soit suffisamment simple (voir [[kml2javalimits|etat actuel de la génération de code]]) ) ===== Utilisation===== ==== Hello world ==== pour créer un composant de type BankAccount: écrire un code BankAccount compo= new BankAccount(); compo.init(); // create services // optionnel : fixer un scheduler ( délai, nb max d'étapes) compo.setScheduler(new Scheduler(1,100)); //récupérer un service : ExecutableService trans=compo.get("transaction"); trans.start(); On peut ajouter des ServiceEvolutionListener aux services pour être informé de leur évolution ==== Comportement ==== Par défaut, toutes les communications du service sont acceptées et leurs retours sont aléatoires. Les appels sur SELF ne sont pas différenciés. on peut affecter à un service des objets de type Channel chargés d'interpréter les appels. Pour l'instant, seul le RandomChannel est développé TODO: * pour le test : * Un générateur amorçable qui logge les entrées sorties * Un lecteur de données pré enregistrées * pour l'exécution normale : * un BoundChannel qui résout les appels