Up ! Black Board génère et maintient automatiquement l'interface du composant. Elle est constituée de ses définitions publiques. Son extension est upi. Avec l'exemple précédent, l'interface est alors stat1.upi.
Si le fichier source d'un composant n'est pas écrit avec son chemin d'accès complet, alors il doit être accessible par le chemin désigné par le paramètre CheminSources d'Up ! Compiler ou d'Up ! Script Engine.
Source Composant LibelleDuComposant Version NumeroDeVersion . NumeroDeRevision . NumeroDeCorrection ;RattacherA NomDuFichierModule ;SegmentPrive QualiteDeMemoire ;SegmentProtege QualiteDeMemoire ;SegmentPublic QualiteDeMemoire ;MemoirePrivee ;MemoireProtegee ;MemoirePublique ;Parametre LectureParametres ListeDeParametresSection NomDeLaSectionDefinitionDUnParametreOuVersion :
Version NumeroDeVersion . NumeroDeCorrection FaireFin Version:
TypeElementaire InflexionDonnee ;ListeDeProceduresOuDeFonctions :
( ListeDeParametresDeLAppel )( ListeDeParametresDeLAppel ) Retourner TypeElementaire( ListeDeParametresDeLAppel ). NomDeLOperateur InflexionAppel NomDUneFonction
( ListeDeParametresDeLAppel ) ResultatDeLOperateurFin Operateur( ListeDeParametresDeLAppel )Fin Constructeur()Fin Destructeur()Fin ContrainteVersion NumeroDeVersion . NumeroDeCorrection FaireFin Version. SuiteNomDUneProcedureAllouerRessourceLibererLibererRessource. SuiteNomDUneFonctionAllouer. SuiteNomDUnRappelAllouerRessourceLibererLibererRessourceRecursif ;Fin ProcedureRecursif ;Fin FonctionRecursif ;Fin RappelCorpsDUneProcedureOuDUneFonction :
DebutInstructionsDUneProcedureOuDUneFonction :
AttacherModule InflexionAppelFin AttacherModuleDetacherModule InflexionAppelFin DetacherModuleAttacherTache InflexionAppelFin AttacherTacheDetacherTache InflexionAppelFin DetacherTachePrincipal InflexionAppelFin PrincipalDebuterComposant InflexionAppelFin DebuterComposantTerminerComposant InflexionAppelFin TerminerComposant
Source Composant "Mon composant" Version 1.0.0;
Variable
/******/
AG : Entier;
BG : Caractere;
Procedure P(PA : Entier, PB : Caractere)
/**************************************/
Debut
Ecran.Ecrire("A="+Caractere(PA));
Ecran.Ecrire("B="+PB);
Fin Procedure
Principal
/*******/
Variable
/******/
AL : Entier;
BL : Caractere;
Debut
AG=10;
BG="coucou";
P(AG, BG);
AL=20;
BL="hello";
P(AL, BL);
Fin Principal