Home

TUTORIEL API OASIS (MANUEL D`UTILISATION)

image

Contents

1. Boucle sur les noeuds du XIF 7 private void parse XifNode root null int nbRoots xifResource getXifDataModel getRootCount Sye ten OI doa gt Numoers roots 2 System out println C Ente 0 MET EIU A E root xifResource getXifDataModel getRootAt i System out println processing root named root getName parseNode root parse le noeud courant iparam aChild le noeud parser 37 private void parseNode XifNode aChild XifObject field aChild getUserObject sus 1 System out println Processing root named field getName LIA else System out println Processing field named field getName NMSiMimesconditieondlesistence existe on la talta if aChild isOptionalNode 1 parseOptionality aChild recupere le type XifObject type field getType mi parse if type isArrayType parseArray aChild XifArrayType type else if type isCharacterType parseCharacter aChild XifCharacterType type else if type isEnumeratedType parseEnumerated aChild XifEnumeratedType type else if type isIntegerType 1 parselnteger aChild XiflIntegerType type else if type isListType D Users spasero DOCUMENTATION 7 Production 71 Documentation 712
2. Parse le type record param aNode l l ment portant le type traiter param aRecord le type traiter 7 private void parseRecord XifNode aNode XifRecordType aRecord StringBuilder sb new StringBuilder int nbChildren aRecord getNumberOfFields sb append RECORD Has sb append nbChildren sb append children children list Sis OE peace JLm 9910 teo S Fen 1 0 1 lt 11 1 XifNode child aNode getChildNodeAt 1 parseNode child sb setLength 0 sb append RECORD System out println sb toString Parse la condition d existence du noeud iparam aNode le noeud portant la condition ai private void parseOptionality XifNode aNode XifField field XifField aNode getUserObject XifDiscriminantAssociation discAssos field getConditionAssociation if discAssos null Sye tem ou pee scare Lar V 068 sum discAssos getDiscriminationValue aNode Parse la taille dynamique d un l ment de type String ou Array aType le type traiter string ou array param aNode le noeud portant la condition private void parseDynamicSize XifObject XifNode aNode if aType isStringType XifStringOrArraySizeType strSize XifStringType aType getStringSize Xi
3. XifObject type field getType if type isRecordType XifRecordType aRecord XifRecordType type if field getName equals fieldName searchNode aChild else int nbChildren aRecord getNumberOfFields ie di 0 4 lt 1 XifNode child aChild getChildNodeAt i searchPacketData child fieldName Copie le type du noeud pass en param tr t retourne une copi iparam aNode le noeud coper return la copie throws Exception une exception protected XifCopiedType copyType XifNode aNode throws Exception R cup ration du mod le de donn es XifDataModel dataModel aNode getDataModel R cup ration du champ contenu par le noeud XifObject obj aNode getUserObject if obj isField R cup ration du type du champ XifObject type obj getType getResolvedDefinition On v rifie que le type n esy pas un type und fini sinon il n y a pas d int r t effectuer la copie if type isUndefinedType 1 Chaque type offre une m thode de copie de lui m m XifObject copiedType type copy dataModel true On effectue la copie des discriminant si il en existe dans la structure copi e ArrayList XifCopiedConditionForDiscriminant discriminantsToKeepList new ArrayList XifCopiedConditionForDiscriminant Utilities completeCopiedType type copiedType discriminantsTo
4. 0 EGO creation de la fonction de calibration null aList Appel la methode de creation de la surveillance WriterExtensionUtilities addGlobalGroundAlarm mainDataModel getGenerallInformati 0 Wytt Writerl ExtensionUtilities alarmLevels warning ExtensionUtilities alarmType numeric 10 20 seconds le main de ls classe args les parametres passes en ligne de commande public static void main String args XifWriter writer new XifWriter writer constructAndWriteXIF D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide C 2 LACLASSE WRITEREXTENSIONUTILITIES package fr cs best modeller common import java util Hashtable import java util Iterator import java util Set import modeller common XifExtensionUtilities import modeller core dataManager xifManager api XifGeneralInformation import modeller core dataManager xifManager api XifObject import org w3c dom Node public class WriterExtensionUtilities public static enum alarmLevels critical distress normal severe warning watch public static enum alarmType enumeration numeric str
5. et facilitant le parcours de l arbre il est important de le transmettre aux m thodes de traitement pour effectuer d ventuelles manipulations sur l arbre mais galement pour utiliser l ensemble des informations embarqu es dans le nceud pour effectuer un affichage IHM par exemple Le parcours peut galement tre r alis de la mani re suivante private void parseNode XifNode aChild La manipulation des champs ou types s appuie sur l objet XifObject tant donn e que chaque l ment h rite de cette classe XifObject field aChild getUserObject sum Urueliglsaemeoe 1 System out println root named field getName else System out println field named field getName Traitement sp cifique sur le type R cup ration du type du champ XifObject type field getType D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide Traitement sp cifique s mantique field et type parseDocumentation field parseDocumentation type Traitement sp cifique extension parseExtension aChild Parcours r cursif sur les fils si type complexe int nbChildren aChild getChildNodeCount process children for 00 1 NES SINT
6. Affectation de la r f rence vers la surveillance port e par le champ du param tre XifExtensionUtilities setExtensionValueFor fieldEntier2 null DEFAULTALARM Node defaultAlarm XifExtensionUtilities getExtensionFor fieldEntier2 DEFAULTALARM XifExtensionUtilities createOrSetAttributeNamed defaultAlarm alarmRef alarml D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide Ajout de l extension telemetred sur le parametre pour specifier la nature de cn WriterExtensionUtilities addDataSourceForParameter fieldEntier2 telemetered Ajout du parametre a la liste des parametres mainDataModelHandler addGlobalField fieldEntier2 Creation du field referencant le parametre global pour le rattacher au HEADER XifField fieldRefEntier2 XifField createReferenceForXifField fieldEntier2 mainDataModel mainDataModelHandler addElement tmlNode fieldRefEntier2 Ce code ne montre pas comment cr er la d finition de la surveillance pr sent dans le chapitre 7 2 1 9 2 mais comment r f rencer sur un param tre une surveillance existante dans la liste des surveillances factoris es Les surveillances
7. Lerattachement du champ l arbre XIF Une cinqui me tape annexe permet de r cup rer le noeud XifNode de l l ment cr pour une utilisation ult rieure Le code suivant illustre la cr ation du champ PACKET HEADER Ce code est ensuite d taill dans les chapitres suivants 7 1 a non cha duele D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide XifField fieldHeader XifField createDefaultXifField PACKET HEADER mainDataModel 2 Cr ation du type XifRecordType header XifRecordType createDefaultXifRecordType mainDataModel 3 rattachement du type au field fieldHeader setType header 4 Ajout du field dans le mod le mainDataModelHandler addElement rootNode fieldHeader 5 R cup ration du noeud cr XifNode headerNode rootNode getChildNodeNamed PACKET HEADER 7 2 1 6 1 Cr ation d un type Les objets JAVA correspondants chaque type du mod le XIF sont contenus dans le paquetage package modeller core dataManager xifManager api Comme cela est d crit dans le paragraphe 4 3 ces classes surchargent les classes g n r es par l API JAXB et bas es sur la d finition XSD du f
8. 1 1 Sera to 58 ce XifNode child aChild getChildNodeAt parseNode child Cet exemple propose un parcours r cursif se basant sur les objets XifNode sans se pr ocupper du type de l objet Les traitements sp cifiques au type sont r alis s ind pendament du parcours de l arbre 7 1 1 4 Parcours d un l ment de type entier L exemple illustr ci dessous montre le parcours d un l ment de type entier pour la r cup ration des valeurs qui lui sont associ es et pouvoir les r utiliser dans le cadre d un d veloppement particulier Chaque type peut ainsi tre parcouru avec les m thodes sp cifiques chaque type qui sont d taill es dans la documentation JAVA de OASIS Un certain nombre d autres m thodes permettent de r cup rer les d tails du type entier et l exemple ci dessous n offre pas une vue compl te de ces possibilit s private void parselInteger XifNode aNode XifIntegerType anlnteger range mode if anInteger isBeginEndRange Begin End range mode j else if anlInteger isFullRange Full range mode else Begin Size range mode BigInteger beginValue anInteger getRange getBegin BigInteger endValue anInteger getRange getEnd BigInteger sizeValue anInteger getRange getSize integer size long bitsSize anInteger getBitsSize encoding if anInteger isAscii ASCII mode
9. Affectation de la r f rence vers fonction de calibration port e par le type XifExtensionUtilities setExtensionValueFor paramEntierl null DEFAULTCALIBRATOR Node defaultCalibrator XifExtensionUtilities getExtensionFor paramEntierl DEFAULTCALIBRATOR XifExtensionUtilities createOrSetAttributeNamed defaultCalibrator calibratorRef Cr ation du parameter et affectation du type fieldrarierl crever ELEJE H EINRAM ENTER LW mainDataModel fieldEntierl setType paramEntierl Ajout de l extension telemetred sur le parametre pour specifier la nature de celui ci WriterExtensionUtilities addDataSourceForParameter fieldEntierl telemetered Ajout du parametre a la liste des parametres mainDataModelHandler addGlobalField fieldEntierl Creation du field referencant le parametre global pour le rattacher au HEADER XifField fieldRefEntierl XifField createReferenceForXifField fieldEntierl mainDataModel mainDataModelHandler addElement tmlNode fieldRefEntierl Ce code ne montre pas comment cr er la d finition de la fonction de transfert pr sent dans le chapitre 7 2 1 9 1 mais comment r f rencer sur un param tre une fonction de transfert existante dans la liste des fonctions de transfert factoris es Les fonctions de transfert qu elles soient de
10. T CS SYSTEMES D INFORMATION TMA LID Activit D fense Espace et S curit Division Espace D partement Services Spatiaux PRS MU OASIS 0460 CS Edition 01 Date 20 11 2013 R vision 02 Date 10 04 2014 R f intentionnellement vide Code diffusion MANUEL D UTILISATION TUTORIEL API OASIS R dig par le 01 06 2012 FERREIRA J r me DES ESPACE DSS REMISE Jean Charles DES ESPACE DSS PASERO S bastien DES ESPACE DSS Valid par le 01 06 2012 BATUT Fran oise DES ESPACE DSS Pour application le 01 06 2012 CHOGNARD Catherine DES ESPACE DSS D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 ZAC de la Grande Plaine 5 Rue Brindejonc des Moulinais BP 15872 31506 TOULOUSE Cedex 5 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS Date 10 04 2014 R f rence intentionnellement vide BORDEREAU D INDEXATION CONFIDENTIALITE MOTS CLES API OASIS XIF javadoc P TITRE DU DOCUMENT Manuel d Utilisation Tutoriel API OASIS AUTEUR S FERREIRA J r me DES ESPACE DSS REMISE Jean Charles DES ESPACE DSS PASERO S bastien DES ESPACE DSS RESUME Ce document est un tutoriel destin guider les d veloppeurs JAVA pour l utilisation de l API OASIS DOCUMENTS RATTACHES Ce document vit seul LOCALISATION VOLUME 1 NBRE TOTAL DE PAGES 97 DOCUMENT COMPOSITE N LANGUE FR DONT
11. XifDiscriminantAssociation discAssos new XifDiscriminantAssociation discAssos createAssociationTable fieldtml TELEMETRY PACKET HEADER APID UN fieldtml getDataModel fieldtml setConditionAssociation discAssos Creation de la constante max value CST 50 du parametre ATE OLEA XifConstant cst50 mainDataModel getXifObjectFactory createConstantType ere 90 CS 50 cst50 setTypeNameRef XifConstant NAME REF INT cst50 setValue 50 mainDataModelHandler addConstant cst50 Creation du parametre PARAM ENTIER 1 et rattachement a la XiflntegerType paramEntierl XiflntegerType createDefaultXiflIntegerType mainDataModel Creation de l intervalle du type entier XiflntegerRange newRange paramEntierl getIntegerRange newRange setMinValue BigInteger valueOf 30 newRange setMaxConstantNameRef CST 50 Affectation des attributs du type Entier paramEntierl setIntegerRange newRange paramEntierl setBitSizeForced paramEntierl setBinary paramEntierl setSize 16 Affectation de la r f rence vers fonction de calibration port e par le WriterExtensionUtilities addRefToCalibrator paramEntierl calibrator1 eos RNE 19 mainDataModel fieldEntierl s
12. package modeller core dataManager xifManager api XifObject java xif xsd RootType java FieldType java Objets JAVA g n r via XJC partir du sch ma XML du XIF Objets JAVA h ritants des objets g n r s correspondant XifRootType java XifFieldType java XifXXXType java i ler rm acum E E ibi Figure 4 Mod le de donn e du XIF L ensemble des classes JAVA g n r es via JAXB h rite de la classe XifObject Cette classe offre un ensemble de m thodes communes toute classe composant le mod le XIF Dans le sch ma ci dessus la chaine XXX repr sente un type du format XIF Integer Real Character String Record Chacun de ces types est donc mod lis en m moire par un objet JAVA qui en contiendra les informations lors du chargement du fichier XIF Ces classes sont toutes d riv es dans l API OASIS en rouge dans le sch ma ci dessus par les classes nomm es de la m me fa on avec le pr fixe Xif Ces classes filles offrent un ensemble de m thode m tier facilitant grandement l utilisation du mod le XIF en m moire Les classes g n r es via l API JAXB sont stock es dans le paquetage modeller core dataManager xifManager api jaxbObjects Les classes qui en h ritent en rouge dans le sch ma sont stock es dans le paquetage modeller c
13. D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide 6 IMPORT DE L API OASIS DANS UN PROJET ECLIPSE La proc dure n cessaire l import de l API OASIS dans un projet Eclipse est la suivante 1 Cr er un projet sous Eclipse ou ouvrir le projet dans lequel on souhaite utiliser l API 2 D compresser l archive API_OASIS_x y zip dans le r pertoire du projet Eclipse repr sente la version de l API concern e 3 Dans les propri t s du projet dans le java build path ajouter l ensemble des librairies jar contenues dans le r pertoire lib et ses sous r pertoires ainsi que le JAR modeller jar contenu dans le r pertoire exe 4 Il est n cessaire d ajouter une variable d environnement l appel de la machine virtuelle ou de la commande JAVA permettant de d finir le chemin de l environnement du modeller pour sa propre configuration Dbest homez path projet gt D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide 7 EXEMPLES REPRESENTATIFS D UTILISATION 7 1
14. Recherche modele cipi XifNode rootTarget targetXifResource getXifDataModel getNodeFromPath TELEMETRY searchPacketData rootTarget AN UNDEFINED pastNode searchNode Copie de l l ment source XifCopiedType copiedType copiedNode R cup ration de l l ment copi XifObject typeToPaste copiedType getCopiedType On v rifie que le type de l l ment copi n existe pas dans le XIF cible si celui ci est nomm ArrayList XifObject typeNamedInCopy typeToPaste getTypeNamedIn for int i 0 i lt typeNamedInCopy size 1 XifObject aType typeNamedInCopy get i if targetXifResource getInternalTypeNamed aType getName null throw new Exception Le type copi existe d j dans le mod le cibl type doit tre pour tre transport typeToPaste XifTypeManager clone typeToPaste targetMainDataModel typeNamedInCopy typeToPaste getTypeNamedIn Ajout du type dans la liste des types du descriptif cible D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide for int j 0 j lt typeNamedInCopy size j targ
15. d un descriptif XIF vers un autre descriptif XIF Pour effectuer une telle re copie il est n cessaire que l l ment destination soit un champ dont le type est und fini C est une r gle qui permet de se pr munir d un crasement de type d fini involontaire Copie de source XifCopiedType copiedType copiedNode R cup ration de l l ment copi XifObject typeToPaste copiedType getCopiedType On v rifie que le type de l l ment copi n existe pas dans le XIF cible ei ArrayList lt XifObject gt typeNamedInCopy typeToPaste getTypeNamedIn for int i 0 i lt typeNamedInCopy size 1 XifObject aType typeNamedInCopy get i if targetXifResource getInternalTypeNamed aType getName null throw new Exception Le type copi existe d j dans le mod le cible type doit tre pour tre transport typeToPaste XifTypeManager clone typeToPaste targetMainDataModel typeNamedInCopy typeToPaste getTypeNamedIn Ajout du type dans la liste des types du descriptif cible for int 0 1 lt typeNamedInCopy size 14 targetMainDataModel getDataModelHandler addInternalType typeNamedInCopy get j Rattachement de l l ment la cible targetMainDataModel getDataModelHandler modifyElement pastNode typeToPaste if copiedType getDiscriminantAssociation
16. switch case larmType e i creates a new numericAlarm SILE alarmLevel creates XifExtensionUti Node numericAlarmNode ExtensionUtilities createAndAddChildNamed definitionNode NUMERICALARM creates a new staticAlarmRanges Node staticAlarmRangesNode ExtensionUtilities createAndAddChildNamed numericAlarmNode creates a new staticAlarmRange Node staticAlarmRangeNode ExtensionUtilities createAndAddChildNamed staticAlarmRangesNode STATICALARMRANGE alarmLevel attribute ARM IFE SETA XifExtensionUtilities getNeverNullExtensionFor aGenerallInformation creates a new alarm Node alarmNode XifExtensionUtilities createAndAddChildNamed globAlarmListExt ALARM name type ExtensionUtilities createAndAddChildNamed alarmNode DEFINITION lities createOrSetAttributeNamed staticAlarmRangeNode alarmLevel toString creates a new verifyRange Node verifyRangeNode mininclusive maxinclusive creates verify Xifl ExtensionUtilities createAndAddChildNamed staticAlarmRangeNode Range attributes Xifl ExtensionUtili ExtensionUtili creates a new Xifl ExtensionUtili timeunits case UNES mE 8 eration creates new numeration Alarm D Users s
17. Edit 1 R v 11 EAST IF 110 30042 CSSI DR3 GUIDE D UTILISATION DES EXTENSIONS DU XIF AU CNES ROUX Yann FAURE Ludovic 18 02 2011 Edit 01 R v 00 PRS NT BEST 0320 CS DR4 Report concerning Space Data System Standards The Data Description Language EAST List of Conventions 01 05 1997 Edit 1 R v 0 CCSDS646 0 G 1 1 2 DOCUMENTS APPLICABLES D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide 2 INTRODUCTION 2 1 OBJECTIF Ce document a pour objectif de pr senter l API OASIS et d en d finir les r gles d utilisation et de bon usage Cette API Application Programming Interface a t d velopp e dans le langage JAVA afin de fournir un m canisme de cr ation modification lecture du format XIF Elle a t d velopp e l origine pour repr senter l interface de lecture criture du format XIF pour les outils de la suite BEST Ce document est structur de la mani re suivante e Chapitre Ce chapitre pr sente un rappel succinct sur le format XIF et ses extensions en s appuyant sur les documents de sp cifications de ces formats e Chapitre 4 Ce chapitre pr sente la structure de l API OASIS e Chapitre 5 Ce chapitre d taille les l ments structurants de l API e Chapitre 6 Ce chapitre d t
18. HEADER 7 mainDataModelHandler addGlobalField fieldSizeTab Creation du field referencant le parametre global pour le rattacher au XifField fieldRefSizeTab ateReferenceForXifField fieldSizeTab mainDataModel mainDataModelHandler addElement tm2Node fieldRefSizeTab Creation de l element repete dans le tableau cree ensuite XifCharacterType defaultType XifCharacterType createDefaultXifCharacterType mainDataModel TABE edel er nature de celui ci Ltelemetered Cr ation de l intervalle de d finition du caract re CharacterRangeType range defaultType getCharacterRange range setMin 0 range setMax 255 XifField fieldDefault XifField createDefaultXifField DEFAULT mainDataModel fieldDefault setType defaultType Ajout de l extension telemetred sur le parametre pour specifier la WriterExtensionUtilities addDataSourceForParameter fieldDefault Ajout du parametre a la liste des parametres mainDataModelHandler addGlobalField fieldDefault Creation du field referencant le parametre global pour le rattacher au XifField fieldRefDefault ateReferenceForXifField fieldDefault mainDataModel Creation du tableau TAB et rattachement a la TM2 XifArrayType tab XifArrayType createDefaultXifArrayType mainDataModel tab setRepetedField fieldRefDefault
19. LECTURE D UN FICHIER XIF L ensemble du code sur lequel s appuie l exemple pr sent dans ce chapitre se trouve en Annexe A de ce document 7 1 1 Lecture d un fichier XIF et r cup ration des donn es 7 1 1 1 Chargement du fichier XIF dans le mod le interne de l API Le point d entr e principal de la lecture d un fichier XIF est assur par la classe ModellerServicesInterface qui offre une m thode statique de lecture d un fichier XIF Cette m thode prend en param tre une chaine de caract re constituant le chemin absolu du fichier XIF que l on souhaite charger en m moire et retourne un objet XifResource qui constitue l objet de manipulation du descriptif XIF charg en m moire Exemple d utilisation String fichierxit Ms projet best un Fichiers sem XifResource xifResource ModellerServicesInterface loadXmlIf fichierXif 7 1 1 2 V rification du mod le Le paquetage modeller core dataManager xifManager contient la classe XifChecker qui fournit la m thode validate boolean checkAllExtensions permettant de v rifier certains crit res tels que Les conditions d existence Les extensions des noeuds de l arbre Les types r f renc s Les tailles de tableaux et de cha nes de caract res Les bornes des types entiers Les fils des types RECORD Ce comportement par d faut peut tre compl t gr ce la valeur du param tre d entr e d une v rification s
20. Node decalibratorListNode XifExtensionUtilities getExtensionFor generalInformation UG ATSDBSEATORBI STANE if decalibratorListNode null for Node decalibrator XifExtensionUtilities getAllChildrenNamed decalibratorListNode CALIBRATOR String attributeValue XifExtensionUtilities getValueAttribute decalibrator name nameList add attributeValue return nameList Une fois cette liste r cup r e sur chaque l ment de l arbre ayant une extension de ce type lt DEFAULTCALIBRATOR calibratorRef PID gt il est possible de v rifier si la d finition du calibrator existe bien ou d en r cup rer la d finition compl te pour pouvoir le traiter 7 1 2 Lecture d un fichier XIF r f rencant d autres fichiers XIF et r cup ration des donn es Le format XIF offre la possibilit de r f rencer des fichiers entre eux c est dire qu un fichier XIF peut faire r f rence d autres fichiers XIF et ainsi utiliser les constantes les types internes ou encore les champs globaux d finis dans ceux ci Recommandation l API OASIS n interdit et n emp che pas de modifier des l ments d un XIF r f renc par le XIF ma tre charg en m moire dans le mod le de donn es port par la classe XifResource Il est cependant fortement d conseill de modifier quoique ce soit dans les fichiers XIF qui peuvent tre r f renc s En effet la modification d un l ment d un fichi
21. Partype XIF l argument doit tre le nom du type XIF correspondant N B La m thode hasBasicType permet de d terminer si une constante est de type simple Dans le cas contraire la m thode getType permet d acc der la d finition du type XIF Il est ensuite n cessaire d utiliser l instance de la classe XifDatModelHandler afin de l ajouter au mod le via la m thode addConstant Enfin l affectation de cette constante la valeur du maximum de l intervalle de l entier cr ensuite s effectue par le r f rencement de cette constante en utilisant son nom Ainsi une constante est identifi e par son nom et assure son unicit 7 2 1 8 3 Affectation d une fonction de transfert un param tre de l arbre XIF Le code pr sent ci dessous montre la fa on d affecter une fonction de transfert de type calibration un param tre de la description XIF Creation du parametre PARAM ENTIER 1 XifintegerType paramEntierl 7 XiflntegerType createDefaultXiflntegerType mainDataModel Creation de l intervalle du type entier XiflntegerRange newRange paramEntierl getIntegerRange D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide
22. XifExtensionUtilities check generalInfos getExtension handler null if checkResult for String errorMsg handler getErrors TODO traiter chaqu rreur enregistr Cet exemple effectue une validation des extensions affect es l l ment XifGenerallnformation mod le La validation peut s effectuer sur toute extension affect e un objet XIF et accessible par la m thode getExtension 7 2 1 11 Sauvegarde du descriptif XIF La derni re tape r aliser une fois la description compl te mod lis e en m moire est de sauvegarder le mod le dans le format XIF Le code ci dessous permet de r aliser cette action Sauvegarde du XIF xifResource save La m thode save de l instance de la classe XifResource permet de sauvegarder le fichier XIF avec le nom et dans le r pertoire sp cifier au mod le de donn es principal est galement possible de sp cifier le chemin et le nom du fichier XIF directement la sauvegarde Le chemin et le nom du fichier stock dans le mod le de donn es sont alors cras s Sauvegarde du fichier XIF avec un chemin sp cifique He UD 150 xifResource saveAs xifFile E lt 7 2 2 R f rencement d un ou plusieurs XIF partir d un XIF maitre 7 2 2 1 R f rencer un fichier XIF La classe XifReso
23. f rences Voir le chapitre 7 2 1 2 pour plus d informations XifNode root null int nbRoots xifResource getXifDataModel getRootCount Fora unte 1 lt 1 root xifResource getXifDataModel getRootAt i System out println processing root named root getName Manipulation du n ud root Une fois le noeud racine r cup r il est possible de parcourir les l ments de l arbre pour r cup rer les informations du chaque noeuds ou chaque feuille de l arbre Pour cela l API a t con ue de fa on parcourir les noeuds comme des l ments d un arbre DOM ces noeuds XifNode embarque les informations de chaque l ments qui ont t construit au chargement du fichier XIF en m moire Le sch ma ci dessous illustre l architecture des classes JAVA de mont es en m moire et embarquant les informations de chaque noeuds de l arbre D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 PRS MU OASIS 0460 CS Edit 01 Date 02 CS SYSTEMES D INFORMATION TMA LID 20 11 2013 R v Date 10 04 2014 R f rence intentionnellement vide XifintegerType XHifFromnersted Type Types compl xes XifRecordType XifListType XifAmayType Types smpks XifintegerType XifRealType XifCharactexType Xif mumeratedType XifStrmzType X
24. moire modeller core dataManager constrai Classes permettant de d finir des ConstraintManager ntManager contraintes sur le XIF en sp cifiant ConstraintFileHandler les discriminants Constraint modeller core dataManager xifMana Classes fournissant les services de XifDataModel ger manipulation et de gestion du XifDataModelHandler XifChecker mod le interne de donn es XifDiscriminantAssociation D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide Paquetage Description Classes modeller core conditionManager Contient l ensemble de classes et ConditionManager paquetages permettant de manipuler les conditions de taille et d existences modeller core dataManager xifMana Ensembles de classes qui XifArrayType XifListType ger api composent les l ments et types du XifRecordType XiflntegerType mod le interne et repr sentant XifEnumeratedType du mod le interne XifGenericType XifStringType XifConstant XifCharacterType XifField XifRoot modeller core dataManager xifMana Ensemble de classes g n r es Ces classes sont ger api jaxbObjects l aide de JAXB partir du sch ma automatiquement g n r es par de d finition du mod le et JAXB permettant la lecture et l criture
25. moire XifDataModel mainDataModel xifResource getXifDataModel D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide On r cup re le XifDataModelHandler qui fournit un bon nombre de m thode de cr ation modification de noeud dans l arbre XIF XifDataModelHandler mainDataModelHandler mainDataModel getDataModelHandler La m thode public void createNewDataModel String aFileName String aMode de la classe XifResource permet d initialiser les principales informations g n rales du mod le XIF et notamment les diff rentes versions ainsi que le mode qui lui est pass en param tre Dans l exemple que nous nous attachons construire dans ce chapitre le mode utilis est le mode C pour Monitoring And Control Cette m thode n initialise cependant pas l ensemble des informations g n rales et il est n cessaire d en traiter certaines comme le montre le paragraphe suivant 7 2 1 3 Initialisation des informations g n rales du XIF Comme le paragraphe pr c dant le montre la m thode createNewDataModel de la classe XifResource initialise les l ments connus de la configuration de l API OASIS et notamment les diff rentes versions d finies dans le n ud generall
26. 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide public static boolean importFile String aPluginId String aFileType String anInputFile String anOutputFile Cette m thode permet de g n rer un fichier XIF partir d un ensemble de param tres d finis Cette m thode ne peut tre utilis e qu en association avec le plug in OASIS correspondant au premier param tre pass la m thode Il est donc n cessaire que le plug in correspondant soit plac dans le r pertoire modeller plugins de l API pour que cette m thode fonctionne 5 2 LEPAQUETAGE MODELLER COMMON Le paquetage modeller common est un paquetage contenant un ensemble de classes utilitaires offrant des services de manipulation de donn es de recherches de validation Ce paquetage est tr s utile dans la manipulation des donn es XIF et offre une classe de manipulations des extensions via l API DOM Classe R le Fournit un ensemble de m thodes statiques permettant de valider la CharacterCheck conformit d un caract re en fonction d un contexte donn si un caract re est imprimable etc Fournit un ensemble de m thodes statiques permettant de v rifier le contenu Check d une cha ne de caract re et de valider son formalisme en fonction d un contexte donn Fournit un grand nombre de m thodes statiques utiles pour la manipulation Utilities des l
27. 1 2221216 rE elo WRARAM ENTIER 2 mainDataModel fieldEntier2 setType paramEntier2 WriterExtensionUtilities addRefToAlarm fieldEntier2 alarml Ajout de l extension telemetred sur le parametre pour specifier la nature de celui ci WriterExtensionUtilities addDataSourceForParameter fieldEntier2 telemetered Ajout du parametre la liste des parametres mainDataModelHandler addGlobalField fieldEntier2 Creation du field referencant le parametre global pour le rattacher au HEADER XifField createReferenceForXifField fieldEntier2 mainDataModel mainDataModelHandler addElement tmlNode fieldRefEntier2 Cree le noeud TM2 et sa descendance dataNode le noeud auquel rattacher le TM2 throws Exception une exception f private void createTM2 XifNode dataNode throws Exception Creation du record TM2 et ajout a l arbre XifRecordType tm2 XifRecordType createDefaultXifRecordType mainDataModel XifField fieldtm2 XifField createDefaultXifField TM2 mainDataModel fieldtm2 setType tm2 mainDataModelHandler addElement dataNode fieldtm2 XifNode tm2Node dataNode getChildNodeNamed fieldtm2 getName XifDiscriminantAssociation discAssos new
28. API OASIS et sont donc les premiers l ments v rifier lorsqu une erreur apparait dans les premiers d veloppements d une application s appuyant sur l API OASIS est noter que lors du chargement d un fichier XIF via l interface ModellerServicesinterface le chargement de la configuration est r alis automatiquement I n est donc pas n cessaire uniquement dans ce cas pr cis de faire appel cette m thode 7 2 1 2 Initialisation des objets porteurs mod le donn es en m moire Les 3 classes principales de manipulation du mod le de donn es d un descriptif XIF appartiennent toutes au paquetage modeller core dataManager xifManager etsontles suivantes XifResource XifDataModel XifDataModelHandler La classe principale portant l ensemble du mod le de donn es charg en m moire et correspondant une description XIF est la classe Xi fResource Cette classe constitue le point d entr e de la manipulation du mod le de donn es charg en m moire Elle fournit un certain nombre de m thode de haut niveau de manipulation du mod le de donn es telles que cr ation d un nouveau mod le le chargement d un mod le La sauvegarde d un mod le Le chargement de sous mod le correspondant aux r f rences d un fichier XIF vers d autres sous XIF Le rattachement ou le d tachement d un sous mod le correspondant la r f rence vers un sous
29. L exemple D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide public void constructAndWriteXIF try f INITIALISATION DE LA CONFIGURATION Chargement de la configuration du Modeller ModellerConfiguration loadModellerConfiguration Mi CREATION DES OBJETS PRINCIPAUX DE L API On cr un nouveau XifResource et on lui associe un nouveau XifDataModel xifResource new XifResource Le XifDataModel est cr avec un nom de XIF qui correspond au nom du fichier XIF et un l ment root Es est cr par d faut avec ce nom Le mode EAST M C ou encore XSD est pass galement en param tre pour sp cifier le mode du XIF si celui ci doit tre ouvert dans OASIS Modeller xifResource cr ateNewDataModel XIF NAME M C On r cup re le XifDataModel qui est unique dans ce cas et qui correspond au XIF en m moire mainDataModel xifResource getXifDataModel On r cup re le XifDataModelHandler qui fournit un bon nombre de m thode de cr ation modification de noeud dans l arbre XIF mainDataModelHandler mainDataModel getDataModelHa
30. XifField createReferenceForXifField fieldVersion mainDataModel 6 La derni re tape consiste ajouter ce champ r f rence l arbre XIF et notamment au champ PACKET HEADER On r cup re d abord le noeud de l arbre correspondant au champ PACKET HEADER XifNode headerNode rootNode getChildNodeNamed fieldHeader getName Puis on lui affecte le nouveau champ r f rence via les m thodes de la classe XifDataModelHandler mainDataModelHandler addElement headerNode fieldRefVersion 7 2 1 7 2 Cr ation du param tre APID La cr ation du param tre APID se caract rise par le code suivant que l on d taille par la suite 1 Cr ation du type num r affect d un nom par d faut XifEnumeratedType apid XifEnumeratedType createDefaultXifEnumeratedType mainDataModel 2 Ajout des valeurs num r es UN et DEUX try XifEnumerationValue enumValue XifEnumerationValue createDefaultXifEnumeratedValue mainDataModel UN enumValue setValue 1 apid addEnumeratedValue value enumValue XifEnumerationValue createDefaultXifEnumeratedValue mainDataModel DREUX enumValue setValue 2 apid addEnumeratedValue value catch Exception e throw new Exception e getMessage M S des arcebuessde M ammas apid setBitSizeComputed apid setBinaryReprese
31. XifField fieldTab XifField createDefaultXifField TAB mainDataModel fieldTab setType tab mainDataModelHandler addElement tm2Node fieldTab XifDiscriminantAssociation discDim new XifDiscriminantAssociation discDim createAssociationTable fieldTab TELEMETRY PACKET DATA TM2 SIZE TAB fieldTab getDataModel XifStringOrArraySizeType sizeArrayType XifStringOrArraySizeType createDefaultXifStringOrArraySizeType mainDataModel SizeArrayType setDynamicSizeMode SizeArrayType setConditionAssociation discDim SizeArrayType setMaxSizeValue null tab removeDimensionAt 0 tab addDimension sizeArrayType Creation des extensions globales On cree ici un calibrator ainsi qu une alarme throws Exception une exception Z private void createGlobalExtensions throws Exception Creation des valeurs du polynome Hashtable lt String String aList new Hashtable lt String String gt eate pue MU spe UU D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS TMA LID Edit 01 Date 20 11 2013 R v 02 R f rence intentionnellement vide Date 10 04 2014 Appel de la methode d Writerl ExtensionUtilities addGlobalPolynomialCalibrator mainDataModel getGeneral 1
32. d crite de facon formelle gr ce son sch ma XML qui est galement disponible CF DR2 D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide 4 STRUCTURE DE L API OASIS 4 1 PRESENTATION DE L API OASIS L API OASIS est une librairie d velopp e dans le langage JAVA et offrant une interface de lecture d criture et de validation du format XIF et de ses extensions Note l API est optimis e pour la version 1 6 du JDK Cette API OASIS se pr sente sous la forme d un ensemble de r pertoires dont la structure est repr sent e ci dessous exe C3 modeller D C3 configuration F configurationFiles icons O schema 5 javadoc C3 index files F modeller O resources C3 lib Figure 2 Organisation de l API OASIS Le r pertoire exe contient le fichier JAR du modeller nomm modeller jar ainsi que les fichiers de configuration du modeller Il s agit de l API du XIF Ce fichier modeller jar contient l essentiel des classes JAVA permettant la manipulation des fichiers XIF Le r pertoire schema contient les sch mas XML sur lesquels s appuie le JAR du modeller pour d finir sa propre configuration Ce r pertoire contient galement le sch ma XML du format XI
33. de la m thode pr c demment cit e et ainsi montre une mani re de cr er les extensions de type fonction de calibration dans le XIF public static void addGlobalPolynomialCalibrator XifGeneralInformation aGenerallInformation String aName String aDesc Hashtable String String aList throws Exception r cup ration de la liste des calibrateurs Node globCalExt XifExtensionUtilities getNeverNullExtensionFor aGenerallnformation CALIBRATORLIST cr ation du nouveau calibrateur Node calNode XifExtensionUtilities createAndAddChildNamed globCalExt CALIBRATOR ajout du nom du calibrateur XifExtensionUtilities createOrSetAttributeNamed calNode name aName ajout de description XifExtensionUtilities createOrSetAttributeNamed calNode shortDescription aDeSe p creation du polynome Node polynomialNode XifExtensionUtilities createAndAddChildNamed calNode POLYNOMIAL Set String keys aList keySet for Iterator String iter keys iterator iter hasNext 1 0 8 ajout des coefficients et facteurs du polynome Node termNode XifExtensionUtilities createAndAddChildNamed polynomialNode SERIEM D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU
34. du xif 4 2 5 La coh rence des donn es L API OASIS a t cr pour fournir une couche de manipulation du mod le de donn es XIF et ainsi en assurer un niveau de coh rence A ce titre elle assure la coh rence dans le r f rencement des l ments Par exemple lorsque l on modifie le nom d un type interne via les m thodes d di es de l API OASIS celle ci assure que les l ments de l arbre XIF qui r f rencent ce type sont modifi s pour qu ils r f rencent toujours le type renomm C est l ensemble des classes qui composent le paquetage modeller core dataManager xifManager qui assure la coh rence de ces donn es et dont l utilisation est d taill e dans ce document En revanche cette coh rence n est pas assur e pour les extensions En effet les extensions d finissent un ensemble d informations m connues de OASIS la coh rence de ces informations ne peut donc pas tre assur e C est donc au syst me qui utilise l API OASIS d assurer la coh rence des donn es de ces extensions Si l on prend donc l exemple d une fonction de transfert dans le cas o la fonction de transfert est renomm e dans la liste des calibrator ou decalibrator c est au systeme embarquant l API OASIS de modifier la r f rence sur les param tres du mod le de donn es qui r f rencent cette fonction D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OAS
35. ments du mod le de donn es XIF Fournit un grand nombre de m thodes statiques utiles pour la manipulation et la validation des extensions des l ments du mod le de donn es XIF XifExtensionUltilities 5 3 LEPAQUETAGE MODELLER CONFIGURATION Ce paquetage contient un certain nombre de fichiers de configuration issus de la recommandation CCSDS EAST conventions description physique des types entiers et r els selon la machine SUN PC induisant une criture diff rente des bits et octets soit LITTLE ENDIAN soit BIG ENDIAN et la norme d encodage IEEE induisant une criture diff rente des mantisses et exposants des r els sur le m me nombre d octets 5 3 1 La classe ModellerConfiguration Cette classe permet de charger la configuration de l API OASIS et d initialiser un grand nombre de param tres de configuration utiles pour l API l est donc essentiel que la m thode loadModellerConfiguration soit appel e l initialisation de tout D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide programme utilisant l API OASIS Dans le cas de la lecture d un fichier XIF via l interface ModellerServicelnterface cette m thode est appel e dans le code de la m thode Modell
36. ou le format cible Le format XIF offre donc des balises nomm es extensions permettant d ajouter un ensemble d informations li es un l ment de l arbre XIF qu il soit root field ou type Afin de piloter et contr ler le contenu des extensions un sch ma XML des extensions DR2 est associ au format XIF afin de d finir la description syntaxique de chacune d elles L exemple ci dessous illustre un parcours des extensions d un l ment sans distinction de son contenu On ne se soucie donc pas dans cet exemple de r cup ration d une information pour une extension sp cifique mais on en r cup re l ensemble pour le traiter private void parseExtension XifNode aNode XifObject xifObject XifExtension xifExtension XifExtension xifObject getExtension if xifExtension null amp amp xifExtension getNumberOfParameters 0 Node anExtensionNode xifExtension getParameterAt 0 if anExtensionNode instanceof Element parseExtensionNode anExtensionNode private void parseExtensionNode Node aNode String nodeName aNode getNodeName String nodeValue aNode getNodeValue NamedNodeMap map aNode getAttributes if map null amp amp map getLength gt 0 bois 1 lt ma Node attribute map item i String attributeName attribute getNodeName String attri
37. param tre observable se pr sentent sous la forme d une extension Le format XIF a pour vocation d tre le format d change de donn es d un syst me spatial au sein du CNES Il a d j t adopt par plusieurs outils g n riques CNES pour d crire ces donn es syst me OASIS OCTAVE DPE SOSIE Atelier Donn es Syst me etc De par sa flexibilit et son adaptabilit le format XIF offre une compatibilit avec diff rents standards ou format g n ralement en relation avec le domaine spatial La figure suivante donne un apercu des transformations possibles l aide de passerelles de conversions EAST DERBY pu y y Mb ERR FULL IF DED Figure 1 XIF format flexible D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide Pour rappel le format XIF est sp cifi dans le document suivant e DR1 Format XIF d OASIS Modeller EAST IF 110 30038 CSSI Ce document est galement r f renc au RNC RNC CNES E TM 80 501 Sa grammaire est galement d crite de facon formelle gr ce son sch ma XML qui est galement disponible CF DR1 Les extensions sont d crites dans le document suivant e DR2 Sp cification extensions du format EAST IF 110 30042 CSSI Sa grammaire est galement
38. parametre pour specifier la nature de eat WriterExtensionUtilities addDataSourceForParameter fieldDefault telemetered Ajout du parametre a la liste des parametres mainDataModelHandler addGlobalField fieldDefault Creation du field referencant le parametre global pour le rattacher au TAB XifField fieldRefDefault XifField createReferenceForXifField fieldDefault mainDataModel Creation du tableau TAB et rattachement a la TM2 XifArrayType tab XifArrayType createDefaultXifArrayType mainDataModel tab setRepetedField fieldRefDefault XifField fieldTab XifField createDefaultXifField TAB mainDataModel fieldTab setType tab mainDataModelHandler addElement tm2Node fieldTab Cr ation de la taille conditionn e par la valeur de l l ment SIZE TAB XifDiscriminantAssociation discDim new XifDiscriminantAssociation D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide discDim createAssociationTable fieldTab TELEMETRY PACKET DATA TM2 SIZE TAB fieldTab getDataModel XifStringOrArraySizeType sizeArrayType XifStringOrArraySizeType createDefaultXifStringOrArraySizeType mainDataModel SizeArrayType setDynamicSizeMo
39. physicallInfo setArrayArranging arrayArranging Cree un noeud root pour l arbre XIF et lui affecte l extension specifique M C permettant definir nautre l element root param rootName le nom de noeud root rootNature la nature du noeud root return le noeud root throws Exception une exception 7 private XifNode createRootNode String rootName String rootNature throws Exception XifNode rootNode mainDataModelHandler addNewRoot rootName XifExtensionUtilities setExtensionValueFor rootNode getUserObject rootNature ROOTNATURE return rootNode Cree le noeud HEADER et sa descendance param rootNode le noeud root auquel rattacher le HEADER throws Exception une excpetion private void createHeader XifNode rootNode throws Exception Cr ation d un HEADER contenant une VERSION et un APID LJ Pour cr er un record dans la liste des type il faut le nommer Si l on souhaite que celui ci soit affect en local au XifField celui ci ne doit pas tre nomm Un type nomm appartient la liste des types internes XifRecordType header XifRecordType createDefaultXifRecordType mainDataModel XifField fieldHeader XifField createDefaultXifField PACKET HEADER mainDataModel fieldHeader setType header mainDataModelHandler addElement ro
40. propri t s d un param tre puis on lui affecte l attribut qui porte le type du param tre ou dataSource 4 La quatri me tape consiste ajouter le param tre la liste des param tres du mod le de donn es XIF Un param tre quelque soit son type est un l ment qui peut tre r utilis et donc factoris Les param tres tant les champs XifField ils appartiennent tous la liste fieldList du fichier XIF que l on nomme galement globalField Cette tape est r alis e via l instance mainDataModelHandler de la classe XifDataModelHandler et sa m thode mainDataModelHandler addGlobalField fieldVersion D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide 5 L tape suivante consiste cr er une r f rence vers le param tre factoris pour attacher cette r f rence l arbre XIF En effet le champ pr c demment cr est affect la liste des champs globaux et il est n cessaire de cr er un nouveau champ r f ren ant ce param tre global qui sera l instance de la VERSION dans l arbre XIF Pour cela la m thode suivante fournie par la classe XifField permet de cr er une r f rence partir d un param tre connu XifField fieldRefVersion
41. sont au contraire des fonctions de transfert rattach es au champ du param tre XifField et non pas au type XifXXXType du param tre C est la raison pour laquelle l exemple ci dessus utilise l instance fieldEntier2 de la classe XifField pour r f rencer la surveillance Les surveilances tant des l ments appartenant la d finition des extensions du format XIF les m thodes d affectation cr ent une extension qui est ensuite attach e au champ fieldEntier2 Cette extension est nomm e DEFAULTALARM et porte un attribut alarmRef contenant le nom unique de la surveillance factoris e dans la liste des surveillances du descriptif XIF 7 2 1 8 5 Cr ation de l l ment TAB Le code pr sent ci dessous montre la mani re de d finir un tableau ou un l ment de type XifArrayType dans l arbre et de lui affecter une taille conditionn e par la valeur du param tre SIZE TAB Creation de l element repete dans le tableau cree ensuite XifCharacterType defaultType XifCharacterType createDefaultXifCharacterType mainDataModel Cr ation de l intervalle de d finition du caract re CharacterRangeType range defaultType getCharacterRange range setMin 0 255 XifField fieldDefault XifField createDefaultXifField DEFAULT mainDataModel fieldDefault setType defaultType Ajout de l extension telemetred sur le
42. type Entier version setlntegerRange newRange version setBitSizeComputed version setBinary la methode getBitsSize permet de calculer la taille en bits de l entier en fonction des informations affectees precedement version setSize Long toString version getBitsSize 4 1 du rielo Version XifField fieldVersion XifField createDefaultXifField VERSION mainDataModel fieldVersion setType version 3 Ajout de l extension telemetred sur le parametre pour specifier la nature de eed eue WriterExtensionUtilities addDataSourceForParameter fieldVersion telemetered 4 Ajout du parametre a la liste des parametres mainDataModelHandler addGlobalField fieldVersion 5 Creation du field referencant le parametre global pour le rattacher au HEADER XifField fieldRefVersion XifField createReferenceForXifField fieldVersion mainDataModel 6 Ajout du param tre r f renc au champ PACKET HEADER XifNode headerNode rootNode getChildNodeNamed fieldHeader getName mainDataModelHandler addElement headerNode fieldRefVersion 1 La premi re tape est de cr er le type XiflntegerType pour le champ VERSION Cette tape reprend le m me processus que la cr ation du type XifRecordType vu pr c demment C est dire que ce code consiste instancie
43. types de param tres existants sont argument pour les param tres de t l commande constant pour les param tres syst mes derived pour les param tres d riv s local pour les param tres locaux rarement utilis s telemetered pour les param tres t l mesur s Dans le cas o un param tre est utilis la fois dans l arbre telemetry et dans l arbre command la convention veut que ce param tre soit affect comme telemetered Dans lexemple de ce chapitre nous traitons des t l mesures il est donc n cessaire d affecter le type telemetered aux param tres cr s ici La d claration de la m thode utilis e est la suivante public static void addDataSourceForParameter XifObject xifObject String dataSourceValue throws Exception try XifExtensionUtilities setExtensionValueFor xifObject null PARAMETERPROPERTIES Node paramProperties XifExtensionUtilities getExtensionFor xifObject PARAMETERPROPERTIES XifExtensionUtilities createOrSetAttributeNamed paramProperties dataSource dataSourceValue catch Exception e throw new Exception e getMessage Dans cette m thode utilise leas m thodes statiques de classe XifExtensionUtilities fournie par l API OASIS On cr d abord l extension PARAMETERPROPERTIES qui permet de d finir les
44. 0 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide fois souhait dans les l ments de l arbre Le second avantage est que lors de la modification de cette extension l ensemble des l ments qui la r f rence est impact par la modification et il n est pas n cessaire de parcourir l ensemble des l ments de l arbre pour les modifier un un Ce m canisme s applique pour les extensions nomm es calibrator L exemple suivant montre la mani re de r cup rer la liste des noms des calibrator d finis de mani re g n rale et qui peuvent tre r utilis s dans l arbre La liste des fonctions de transfert de type calibrator tant d finies de mani re globale dans le noeud generallnformation du mod le XIF l acc s ce n ud se fait par la classe XifDataModel port e par la classe XifResource c est la raison pour laquelle la m thode pr sent e en exemple ci dessous prend l instance de cette classe en param tre pour acc der ce n ud via le mod le de donn es et ainsi r cup rer la liste des fonctions de transfert qui y sont d finies public static ArrayList lt String gt getCalibratorNameList XifResource anXifResource ArrayList String nameList new ArrayList lt String gt XifObject generalInformation anXifResource getXifDataModel getGeneralInformation get calibrator 1156
45. 11 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide 3 LE FORMAT XIF Le format XIF XML Internal Format est un standard CNES bas sur la syntaxe XML Il a t d fini l origine pour contenir l ensemble des informations syntaxiques et s mantiques relatives aux recommandations EAST et DEDSL d finies par le CCSDS Le format XIF a pour vocation premi re de d crire des flux de bits donn es ASCII ou binaires Il ne s agit pas d un format de donn es mais d un mod le de description de donn es Le format XIF permet de d crire des structures de donn es sous forme d arbres Un fichier XIF peut contenir plusieurs arbres correspondant plusieurs descriptions Chaque arbre est rattach une racine et est compos d l ments Ces l ments sont d finis partir de types et de constantes Ces types sont d finis en utilisant les types de base suivants entier r el caract re num r string structure tableau et liste Les types et les constantes sont rattach s dans le XIF au m me niveau que les racines des diff rents arbres La d finition des l ments et des types du XIF peut tre compl t e gr ce une liste d extensions Une extension est un arbre XML susceptible de stocker n importe quel type d information Par exemple dans le domaine du Monitoring amp Control les alarmes d finies au niveau d un
46. 23 7 1 1 Lecture d un fichier XIF et r cup ration des donn es 23 7 1 1 1 Chargement du fichier XIF dans le mod le interne de 23 7 1 1 2 V rification du modeles EAR 23 7 1 1 3 Parcours des arbres du mod le 24 7 1 1 4 Parcours d un l ment de type entier 27 7 1 1 5 Parcours d un l ment de type record 28 7 1 1 6 Parcours de la documentation s mantique d un l ment 28 7 1 1 7 Parcours des extensions d un l ment 28 7 1 1 8 R cup ration des informations d un calibrator 29 7 1 2 Lecture d un fichier XIF r f ren ant d autres fichiers XIF et r cup ration des donn es cccecoccccenaccccenncccconnncccnnnnccennnnnneennnnnn 30 7 1 3 Lecture de plusieurs fichiers XIF en parall le 31 7 2 ECRITURE D UN FICHIER 31 7 2 1 Cr ation d un mod le en mode Monitoring And Control et criture du fichier DP 31 7 2 1 1 Initialisation de configuration du modeller 32 7 2 1 2 I
47. 5 3 1 La classe ModellerConfiguration ss 17 5 4 LE PAQUETAGE 18 5 4 1 Le paquetage modeller core dataManager xifManager 18 5 4 1 1 Le paquetage modeller core dataManager xifManager api 18 5 4 1 2 Le paquetage modeller core dataManager xifManager api xifObjects 19 5 4 2 Le paquetage modeller core dataManager conditionManager 19 D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide 5 4 3 Le paquetage modeller core dataManager extensionManager 19 5 4 4 Le paquetage modeller core dataManager constraintManager 19 5 5 LE PAQUETAGE MODELLER CORE PHYSICALMODULE 20 5 6 LE PAQUETAGE MODELLER CORE SEARCHMANAGER 21 5 7 LE PAQUETAGE 21 IMPORT DE L API OASIS DANS UN PROJET ECLIPSE 22 7 EXEMPLES REPRESENTATIFS 23 7 1 LECTURE D UN FICHIER XIF
48. 7 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide 5 5 LEPAQUETAGE MODELLER CORE PHYSICALMODULE Le paquetage physicalModule a pour r le de g rer les conventions utilis es pour encoder les entiers et r els lors de la g n ration de fichier de sortie par l outil OASIS Modeller Ce composant fournit donc un ensemble de services permettant partir d une machine donn e de d terminer les diff rentes normes associ es pour l criture des entiers ou des r els L ensemble des conventions ainsi d finies respecte le document CCSDS La figure suivante d crit le diagramme de classe associ ce paquetage BoundValue ElementMachine K Machines ElementOflnteger ontains N Norms 1 Binreps 7 7 N Configuration ElementBinrep Figure 9 diagramme de classes du physicalModule D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide 5 6 LEPAQUETAGE MODELLER CORE SEARCHMANAGER Le paquetage searchManager offre une permettant de r aliser des recherches dans le mod le interne de
49. Arranging ROW norm FCSTC000 sendingMachine PC gt lt extension gt lt EXTENSIONS gt lt CALIBRATORLIST gt lt CALIBRATOR name calibrator1 gt lt POLYNOMIAL gt lt TERM coefficient 0 0 exponent 0 gt lt TERM coefficient 5 0 exponent 1 gt lt POLYNOMIAL gt lt CALIBRATOR gt lt CALIBRATORLIST gt lt ALARMLIST gt lt ALARM name alarm1 type numeric gt lt DEFINITION gt lt NUMERICALARM gt lt STATICALARMRANGES gt lt STATICALARMRANGE alarmLevel warning gt lt VERIFYRANGE maxinclusive 20 mininclusive 10 gt lt STATICALARMRANGE gt lt TIMEUNITS gt seconds lt TIMEUNITS gt lt STATICALARMRANGES gt lt NUMERICALARM gt lt DEFINITION gt lt ALARM gt lt ALARMLIST gt lt EXTENSIONS gt lt extension gt lt generallnformation gt lt constantList gt constant value 50 typeNameRef INTEGER name CST_50 gt lt constantList gt lt typeList gt lt enumerationType size 1 computationMode AT_THE_BEST binaryRepresentationMode BINARY encoding ASCIl name ENUM_0_TYPE gt lt enumerationValue value 1 name UN gt lt enumerationValue value 2 name DEUX gt enumerationValue value 3 name TROIS gt D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement
50. Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide R cup ration du type du champ XifObject type field getType Analyse du type et traitement sp cifique en function du type if type isArrayType parseArray aChild XifArrayType type else if type isCharacterType parseCharacter aChild XifCharacterType type else if type isEnumeratedType parseEnumerated aChild XifE numeratedType type else if type isIntegerType parselnteger aChild XiflIntegerType type else if type isListType parseNode aChild getChildNodes get 0 else if type isRealType parseReal aChild XifRealType type else if type isRecordType parseRecord aChild XifRecordType type else if type isStringType parseString aChild XifStringType type else if type isUndefinedType parseUndefined aChild XifUndefinedType type else if type isGenericType 1 parseGeneric aChild XifGenericType type parseDocumentation aChild type parseExtension aChild type Chaque m thode appel e ci dessous prend en param tre le type traiter mais galement l objet XifNode Comme nous l avons pr cis pr c demment l objet XifNode embarquant l ensemble des informations du
51. DES CLASSES JAVA DE L EXEMPLE D ECRITURE C 1 C 1 LA CLASSE XIFWRITER C 1 C 2 LA CLASSE WRITEREXTENSIONUTILITIES ss C 11 ANNEXE D SOURCE DES CLASSES JAVA DE L EXEMPLE DE COPIE D 16 D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS Date 10 04 2014 R f rence intentionnellement vide FIGURES Figure 1 XIF format nn A ten M a nana 5 Figure 2 Organisation de l API OASIS 7 Figure 3 Mapping XML lt gt JAVA Vet E LE Que deu 8 Figure 4 Mod le de donn e du XIF 9 Figure 5 Architecture globale d OASIS Modeller iii 10 Figure 6 Vue composant globale tenter Du ann ete 11 Figure 7 Vue paquetage global cesi een tete de 12 Figure 8 D composition en paquetage du noyau iii 14 Figure 9 diagramme de classes du 20 Figure 10 Repr sentation graphique du noeud PACKET HEADER 37 Figure 11 Repr sentation graphique du noeud PACKET DATA 43 D Users spasero DOC
52. DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide parseNode aChild getChildNodes get 0 else if type isRealType parseReal aChild XifRealType type else if type isRecordType parseRecord aChild XifRecordType type else if type isStringType parseString aChild XifStringType type else if type isUndefinedType parseUndefined aChild XifUndefinedType type else if type isGenericType 1 parseGeneric aChild XifGenericType type parseDocumentation aChild type parseExtension aChild type System out println End processing field named field getName private void parseUndefined XifNode aChild XifUndefinedType type System out printlin UNDEFINED UNDEFINED private void parseGeneric XifNode aChild XifGenericType type Syo if type getSize isDynamicSizeMode parseDynamicSize type aChild else System out println Size is type getBitsSize System out println GENERIC private void parseString XifNode aChild XifStringType type System out printin STRENG if type getStringSize isDynamicSizeMode parseDynamicSize type aChild else
53. EMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide Le d tail de l utilisation des principales extensions du mode Monitoring And Control est expliqu dans le document DR3 Dans l exemple que nous suivons ici nous allons cr er deux extensions repr sentatives du mode Monitoring And Control de mani re globale et qui seront par la suite r f renc es dans l arbre de description du XIF 7 2 1 9 1 Cr ation d une fonction de transfert est possible de cr er diff rents types de fonction de calibration l exemple illustr ici s appuie sur une fonction de calibration de type polynomiale Creation des valeurs du polynome Hashtable String String aList new Hashtable lt String String pue 050 guys pute 5 ON WW Appel de la methode de creation de la fonction de calibration WriterExtensionUtilities addGlobalPolynomialCalibrator mainDataModel getGeneralInform a p Dans l exemple ci dessus on affecte tout d abord les valeurs de fonction calibration une collection afin de stocker ces valeurs pour ensuite les affecter la d finition de l extension Cette collection est ensuite transmise la m thode permettant de cr er l extension correspondant la fonction de calibration L exemple suivant montre la d claration
54. EMETRY PACKET HEADER APID DEUX TROIS conditionValue lt discriminationAssociation gt lt condition gt lt optionality gt lt field gt lt recordType gt lt field gt lt recordType gt lt extension gt lt EXTENSIONS gt lt ROOTNATURE gt telemetry lt ROOTNATURE gt lt EXTENSIONS gt lt extension gt lt root gt lt root name COMMAND gt lt recordType gt lt extension gt lt EXTENSIONS gt lt ROOTNATURE gt command lt ROOTNATURE gt lt EXTENSIONS gt lt extension gt lt root gt lt internalFormat gt D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION TMA LID R f rence intentionnellement vide PRS MU OASIS 0460 CS Edit R v 01 Date 02 20 11 2013 Date 10 04 2014 ANNEXE C C 1 SOURCES DES CLASSES JAVA DE L EXEMPLE D ECRITURE LA CLASSE XIFWRITER package fr cs best modeller writer import java math BigInteger import java util ArrayList import java util Hashtable import java util List import modeller common Debug import modeller common XifExtensionUtilities import modeller configuration ModellerConfiguration import modeller core dataManager xifManager XifDataModel import modeller core dataManager xifManager XifDataModelHandler import modeller core dataMan
55. Ext CALIBRATOR ajout du nom du calibrateur XifExtensionUtilities createOrSetAttributeNamed calNode name aName ajout de la description XifExtensionUtilities createOrSetAttributeNamed calNode shortDescription aDesc creation du polynome Node polynomialNode XifExtensionUtilities createAndAddChildNamed calNode POLYNOMIAL Set String keys aList keySet for Iterator String iter keys iterator iter hasNext String pt iter next ajout des coefficients et facteurs du polynome Node termNode XifExtensionUtilities createAndAddChildNamed polynomialNode TERM XifExtensionUtilities createOrSetAttributeNamed termNode 8 XifExtensionUtilities createOrSetAttributeNamed termNode exponent aList get pt D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS Date 10 04 2014 R f rence intentionnellement vide D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide ANNEXE SOURCE DES CLASSES JAVA DE L EXEMPLE DE COPIE package fr
56. F nomm xif xsd Le r pertoire configuration contient l ensemble des fichiers de configuration du modeller Il contient notamment le fichier userSettings xml permettant de sauvegarder et d initialiser la configuration de l IHM de l outil OASIS Modeller contenu dans Il contient galement le fichier xifExtensions xsd qui d finit l ensemble des extensions du format XIF pr d finis et qui peut tre enrichi par les utilisateurs Le r pertoire lib contient l ensemble des librairies annexes jar n cessaires au fonctionnement de l API OASIS Ces librairies jar sont emport es par l API car elles sont n cessaires au fonctionnement de celle ci et doivent tre r f renc es dans le classpath des applications faisant appel l API OASIS Un r pertoire javadoc contenant l ensemble de la documentation JAVA de l API au format HTML et g n r e partir des commentaires du code du modeller Cette documentation JAVA est tr s utile dans le d veloppement d application JAVA s appuyant sur l API OASIS car elle d taille l ensemble des paquetages et classes constituant l API D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide 4 2 ARCHITECTURE DE L API OASIS 4 2 1 Librairie
57. IS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide 5 DETAIL DES ELEMENTS STRUCTURANTS DE L API Ce chapitre pr sente le d tail des paquetages et des classes qui composent l API OASIS Chaque classe et chaque m thode de l API ne pouvant tre d taill e dans ce chapitre une pr sentation g n rale est faite pour les paquetages de l API puis une pr sentation plus d taill e est effectu e pour les classes les plus importantes et les plus pertinentes de l API Il est cependant fortement conseill aux utilisateurs de cette API de consulter la documentation JAVA associ e l API OASIS javadoc qui d taille chaque paquetage classe et m thode et fournit un support essentiel aux d veloppements utilisant cette 5 1 LEPAQUETAGE MODELLER Ce paquetage est le paquetage de base du JAR du modeller Il contient le point d entr e de l API OASIS c est dire la classe d interface nomm e ModellerServicesinterface Les paquetages contenus dans le paquetage modeller sont d crits dans les paragraphes suivants 5 1 1 La classe d interface ModellerServicesinterface Cette classe contient 4 m thodes qui constituent les appels principaux r aliser pour l criture ou la lecture d un fichier XIF public static XifResource loadXmlIf String pathname throws Exception Cette m thode permet de lir
58. JAXB L API d OASIS repose sur la librairie JAXB Celle ci permet de g n rer partir du sch ma d finissant la grammaire du XIF les classes n cessaires la construction du mod le de donn es XIF JAXB se pr sente sous la forme de librairies JAVA permettant de manipuler les fichiers XML et fournissant un support des technologies telles que SAX DOM XSLT La documentation officielle est disponible sur le site de Sun l adresse suivante http java sun com xml jaxb JAXB permet de produire automatiquement des classes de mapping capable de lire et charger des documents XML en m moire et aussi capable de stocker la structure d objets dans un document XML qui refl te l tat des objets en m moire La figure suivante permet d illustrer le m canisme fourni par JAXB Figure 3 Mapping XML lt gt JAVA D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide 4 2 2 Mod le interne de OASIS Le coeur de l API OASIS s articule autour du sch ma XML du format XIF Le mod le de donn es qui permet de lire et d crire les fichiers XIF est g n r partir de l outil XJC sur la base de l API JAXB Cf 4 2 1 Le sch ma ci dessous illustre l architecture du c ur de l API qui se trouve dans le paquetage
59. KeepList On retourne la nouvelle instance de l l ment copi return new XifCopiedType copiedType dataModel discriminantsToKeepLlist XifField obj else throw new Exception Le type est un type undefini else throw new Exception La copie n est possible que sur un XifField D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide Traitement de la copie entre deux XIF public void processCopyBetweenTwoXif try XifNode copiedNode null XifNode pastNode null Chargement du fichier XIF source sourceXifResource 5 sourceMainDataModel sourceXifResource getXifDataModel Chargement du fichier XIF cible targetXifResource 122 etse eire a Ie KIE ARC Era p targetMainDataModel targetXifResource getXifDataModel recherche du champ p re de l l ment copier XifNode rootSource sourceMainDataModel getNodeFromPath TELEMETRY erae erts Songs MERITIS MN ENTTER copiedNode searchNode
60. Le code ci dessous pr sente la mani re de cr er une constante et de l utiliser dans la d finition d un entier par exemple Creation de la constante max value CST 50 du parametre PARAM ENTIER 1 et ajout XifConstant cst50 XifConstant createDefaultXifConstant mainDataModel eere 50 CIS 50 cst50 setTypeNameRef XifConstant NAME REF INT cst50 setValue 50 mainDataModelHandler addConstant cst50 Creation du parametre PARAM ENTIER 1 et rattachement a la XiflntegerType paramEntierl XiflntegerType createDefaultXiflntegerType mainDataModel Creation de l intervalle du type entier XiflntegerRange newRange paramEntierl getlIntegerRange newRange setMinValue BigInteger valueOf 30 newRange setMaxConstantNameRef CST 50 Affectation des attributs du type Entier Les 4 premi res lignes du code montrent la mani re de cr er une constante la nommer la typer et lui affecter les valeurs qui la d finissent l existe deux possibilit s de typage d une constante XIF selon l argument pass la m thode setTypeNamehRef String Par type simple les constantes Java dont le nom d bute par TYPE NAME REF de la classe XifConstant d finissent les noms des types simples qui peuvent tre utilis s comme argument de cette m thode comme effectu dans cet exemple
61. List null ArrayList XifCopiedConditionForDiscriminant listOfDiscriminantAssociationToKeep copiedType getDiscriminantAssociationList Utilities completeConditionDiscriminantInTable pastNode listOfDiscriminantAssociationToKeep Utilities createConditionDiscriminantOfCopiedType typeToPaste listOfDiscriminantAssociationToKeep targetMainDataModel Sauvegarde mod le modifi dans un nouveau XIF targetXifResource save Ce code montre qu il est n cessaire de penser copier le type de l l ment vers le descriptif cible car celui ci peut tre une r f rence Dans ce cas il est n cessaire de recopier le type dans le descriptif cible pour que la r f rence du type coll ne pointe pas vers un type inexistant dans le XIF cible On v rifie au pr alable qu un type ne porte pas d j ce m me nom dans le XIF cible D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide ANNEXE SOURCES DES CLASSES JAVA DE L EXEMPLE DE LECTURE package fr cs best modeller reader import java math BigInteger import modeller ModellerServicesInterface import modeller common CharacterCheck import modeller common XifPr
62. OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide XifExtensionUtilities createOrSetAttributeNamed termNode coefficient pt XifExtensionUtilities createOrSetAttributeNamed termNode exponent aList get pt Les extensions globales tant attach es au noeud generallnformation du descriptif XIF l objet XifGenerallnformation est pass en param tre de la m thode De mani re g n rale la m thode est construite en s assurant que des erreurs ne peuvent pas tre produites au cours de la construction de l extension On s assure donc lorsque l on r cup re l extension sur l objet generallnformation que celle ci n est pas initialis e valeur null Si c est le cas cela signifie qu elle n a pas encore t cr e elle est donc cr e automatiquement de m me pour le noeud CALIBRATORLIST contenant la liste des CALIBRATOR correspondant chaque fonction de calibration factoris e La cr ation de la description de la fonction de calibration s appuie ensuite sur la d finition XSD des extensions XIF dans laquelle on construit un sous arbre XML form de noeud contenant des valeurs des attributs et des noeuds fils On s appuie sur des m thodes statiques fournies par l API OASIS dans la classe XifExtensionUtilities du paquetage modeller common qui fournit un bon nombre de m thodes de manipulation g n riques des
63. OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide if map null amp amp map getLength gt 0 for int i 0 lt map getLength Node attribute map item i System out println indent Attribute name attribute getNodeName System out println indent Att content E attribute getNodeValue for int i 0 i lt aNode getChildNodes getLength 1 1 Node child aNode getChildNodes item i if child instanceof Element parseExtensionNode child space 3 D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide ANNEXE FICHIER XIF RESULTAT DE L ECRITURE lt xml version 1 0 encoding UTF 8 standalone yes gt lt internalFormat gt lt generallnformation gt lt versions gt lt xifSchemaVersion gt 3 0 lt xifSchemaVersion gt lt extensionSchemaVersion gt 2 0 lt extensionSchemaVersion gt lt modellerVersion gt 8 2 lt modellerVersion gt lt internalFormatVersion gt 1 0 lt internalFormatVersion gt lt pluginsVersion gt plugin version 1 0 lt pluginsVersion gt lt versions gt lt xifModeld gt M_C lt xifModeld gt physicallnformation wordSize 16 array
64. PAGES LIMINAIRES 8 NBRE DE PAGES SUPPL 0 GESTION DE CONF NG RESP GEST CONF CAUSE D EVOLUTION Mise jour de suite la DM BEST FT 563 XifChecker Complement d informations concernant les namespace et prefixe d un mod le suite la DM BEST FT 361 Mise jour de l API suite la DM BEST FT 470 XifExtensionUtilities Mise jour de suite la DM BEST FT 645 XifConstant CONTRAT N ant SYST ME H TE Microsoft Word 14 0 14 0 7125 C Program Files GDOC GDOC_4_2 2 2GDOCMODELES GDOC ModeleGDOCIndus dot Version GDOC v4 2 2 2 Base projet C Program Files GDOC TMA LID mdb D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS Date 10 04 2014 R f rence intentionnellement vide DIFFUSION INTERNE Nom Sigle Bpi Observations BERRIRI Fr d ric DES ESPACE DSS FERREIRA J r me DES ESPACE DSS ROUX Yann DES ESPACE DSS DIFFUSION EXTERNE Nom Sigle Observations LARZUL B atrice DCT PS TVI POUPLARD Jean Charles DCT PS TVI D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS Date 10 04 2014 R f rence intentionnellement vide MODIFICATION Ed R v Date R f rence Auteur s Causes d
65. PI OASIS Le premier est de sp cifier la variable globale best home la Machine Virtuelle Java qui ex cute le programme faisant r f rence l API OASIS Pour cela il est n cessaire de passer en param tre de l appel java cette variable sous la forme Dbest homezapi oasis exe oasis exe est le chemin relatif vers le r pertoire exe contenant le jar modeller jar de OASIS partir du r pertoire d ex cution du programme Le second est d initialiser la configuration de l API au tout d but du programme d velopp dans le langage JAVA Pour cela la m thode d appel est la suivante Chargement de la configuration du Modeller ModellerConfiguration loadModellerConfiguration Cette m thode permet notamment de r cup rer les informations telles que version du modeller utilis e les informations de configuration des machines d finies dans une configuration sp cifique sous exe modeller configuration configurationFiles squelettes BINREPS D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide le chemin vers le sch ma XML des extensions les ventuels plugins embarqu s Ces deux tapes sont donc essentielles pour assurer le bon fonctionnement de l
66. SIS permet de parcourir r cursivement D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide le type si celui ci est une structure et de r cup rer les conditions d existence qui peuvent y tre d finies pour pouvoir les embarquer dans l l ment copi La classe XifCopiedType permet de transporter le type copi et fournit leas m thodes n cessaires la recopie de celui ci 7 3 2 de l l ment Le code suivant montre la mani re de coller un l ment copi dans le m me XIF Pour effectuer une re copie d un l ment il est n cessaire que l l ment destination soit un champ dont le type est und fini C est une r gle qui permet de se pr munir d un crasement de type d fini involontaire Copie de l l ment cr ation du champ TM3 und fini puis recopie de l l ment dans le nouveau champ if packetDataNode null XifNode tmlNode packetDataNode getChildNodeNamed TM1 if tmlNode null tmlCopy copyType tmlNode Creation d un element TM3 sur le noeud PACKET DATA XifUndefinedType tm3 XifUndefinedType createDefaultUndefined mainDataModel XifField fieldTm3 XifField createDefaultXifField TM3 mainDataModel fieldTm3 setType tm3
67. System out println Size is type getBitsSize 09 private void parseArray XifNode aChild XifArrayType type System out println ARRAY Repeted element is aChild getChildNodes get 0 getName parseDynamicSize type aChild parseNode aChild getChildNodes get 0 System out println ARRAY private void parseEnumerated XifNode aChild XifEnumeratedType anEnum StringBuilder sb new StringBuilder D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide int nbVal anEnum getNumberOfValues range mode sb append ENUMERATION number of values sb append nbVal slosegpemge yg for nte 0 sb append anEnum getValueAt i if 1 1 lt nbVal sb append sb append ENUMERATION She jointe lin so 0 9 private void parseCharacter XifNode aChild XifCharacterType aCharacter StringBuilder sb new StringBuilder sb append CHARACTER Min int begin aCharacter getBeginCharacter int end aCharacter getEndCharacter min if CharacterCheck isPrintable char begi
68. UMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide GLOSSAIRE ET LISTE DES PARAMETRES AC amp AD API Application Program Interface APID Application Process IDentifier BEST Beyond EAST CCSDS Consultative Committee for Space Data Systems CNES Centre National d Etudes Spatiales DEDSL Data Entity Description Specification Language DPE Data Producer amp Editor EAST Enhanced ADA SubseT HTML Hyper Text Markup Language LID Logiciel d Ing nierie des Donn es OASIS Outil d Aide la Structuration d Informations Spatiales OCTAVE Outils et Composants pour le Traitement l Acquisition et la Visualisation pour l Exploitation de donn es TC T l commande XIF XML Internal Format XML eXtensible Mark up Language Liste des param tres AC Liste des param tres AD D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide 1 GENERALITES 1 1 DOCUMENTS DE REFERENCE DR1 Sp cification du format XIF de l outil OASIS Modeller 31 07 2012 Edit 1 R v 5 EAST IF 110 30038 CSSI DR2 Sp cification des extensions du format XIF 31 01 2013
69. UTILES 3 3 2 3 2 Les sites Internet 4 LE FORMAT XIF S X 5 4 STRUCTURE DE L API OASIS 7 4 1 PRESENTATION DE L API OASIS 7 4 2 ARCHITECTURE DE L API OASIS 8 42 1 Librairie JAXDB eias 22 8 4 2 2 Mod le interne de l API 8 2 9 4 2 3 Architecture globale de PAPI OASIS is 10 4 2 3 1 D composition RET 11 4 2 4 Focus le paquetage 1 13 FONCIONS eieiei 13 4 2 4 2 Architecture 13 4 2 5 La coh rence des donn es 15 5 DETAIL DES ELEMENTS STRUCTURANTS DE L API 16 5 1 LE PAQUETAGE MODELLER 16 5 1 1 La classe d interface ModellerServiceslnterface 16 5 2 LE PAQUETAGE MODELLER COMMON cancun tan into Ren V x 17 5 3 LE PAQUETAGE MODELLER CONFIGURATION 17
70. Utilities createOrSetAttributeNamed verifyRangeNode mininclusive minlInclusive XifExtensionUtilities createOrSetAttributeNamed verifyRangeNode maxinclusive maxInclusive creates a new timeunits XifExtensionUtilities createAndAddChildNamed verifyRangeNode TIMEUNITS timeUnits case enumeration creates a new enumeration Alarm case string creates new string Alarm Le proc d est donc sensiblement identique celui des fonctions calibration dans le sens s assure de l existence du n ud principal des extensions sur l objet XifGenerallnformation ainsi que de l existence de la liste des alarmes ALARMLIST puis l on cr la d finition de l alarme en s appuyant sur la d finition XSD de celle ci et toujours avec les m thodes fournies par l API OASIS 7 2 1 10 Validation des extensions d un objet XIF Les extensions affect es un objet XIF peuvent tre valid es de la mani re suivante ExtensionErrorHandler handler new ExtensionErrorHandler XifGeneralInformation generalInfos model getGenerallInformation D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide boolean checkResult
71. XIF gt AEG oie Le sch ma ci dessous illustre la correspondance entre plusieurs d pendances entre fichiers XIF et le mod le de donn es correspondant en m moire encapsul par l instance de XifResource Tout mod le principal r f renc directement ou indirectement par le mod le principal est une instance de XifDataModel ayant acc s via le lien xifResource la resource qu il compose Si un m me fichier XIF est r f renc plusieurs fois c est la m me instance de XifDataModel qui est li e l objet r f ren ant comme par exemple pour le fichier file4 xif r f renc par file2 xif et file3 xif Sur le m me principe l instance correspondant file1 xif est utilis en tant que mod le principal par la resource mais est aussi r utilis par le r f rencement depuis file4 xif D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide R f rencement de fichiers Structure d objets file1 xif mainModel XifDataModel referencedModel lt xifReferenceList gt fileName file1 xif XifResource xifResource xifReference xifVersion 1 0 xifLocation file2 xif xifReferencexifVersionz 1 0 xifLocatio
72. XifDiscriminantAssociation discAssos createAssociationTable fieldtm2 TELEMETRY PACKET HEADER APID DEUX TROIS fieldtm2 getDataModel fieldtm2 setConditionAssociation discAssos Creation du parametre SIZE TAB et rattachement a la TM2 XiflntegerType sizeTab XiflntegerType createDefaultXiflIntegerType mainDataModel Creation de l intervalle du type entier XiflIntegerRange newRangeTab sizeTab getIntegerRange newRangeTab setMinValue BiglInteger ZERO newRangeTab setMaxValue BigInteger valueOf 100 Affectation des attributs du type Entier sizeTab setintegerRange newRangeTab sizeTab setBitSizeComputed sizeTab setAscii sizeTab setSize 8 SsizeTab setDefaultValue BigInteger valueOf 50 XirPieled createDereulcidmield STAR TAB mainDataModel fieldSizeTab setType sizeTab Ajout de l extension telemetred sur le parametre pour specifier la nature de celui ci WriterExtensionUtilities addDataSourceForParameter fieldSizeTab telemetered Ajout du parametre a la liste des parametres D3Users spaseron DOCUMENTATION Y7 ProductionV7 1 DocumentationV712 DocDefinition 7 123 Best 712311 Tutorie PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide
73. _2 gt lt recordType gt lt optionality discrimined true gt lt condition function false gt lt discriminationAssociation gt lt discriminedFieldPath gt TELEMETRY PACKET_DATA TM1 lt discriminedFieldPath gt lt conditionValue gt TELEMETRY PACKET_HEADER APID UN lt conditionValue gt lt discriminationAssociation gt lt condition gt lt optionality gt lt field gt lt field name TM2 gt lt recordType gt field ref SIZE_TAB gt lt field name TAB gt lt arrayType gt lt repetedField ref DEFAULT gt arrayDimensionRange minSizeValuez 1 sizeMode DISCRETE REFERENCE condition function false gt lt discriminationAssociation gt D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide lt discriminedFieldPath gt TELEMETRY PACKET_DATA TM2 TAB lt discriminedFieldPath gt conditionValue TELEMETRY PACKET DATA TM2 SIZE TAB lt conditionValue gt lt discriminationAssociation gt lt condition gt lt arrayDimensionRange gt lt arrayType gt lt field gt lt recordType gt lt optionality discrimined true gt condition function false gt lt discriminationAssociation gt discriminedFieldPath TELEMETRY PACKET DATA TM2 lt discriminedFieldPath gt conditionValue TEL
74. a manipulation des l ments dans l arbre Pour ajouter le champ pr c demment cr l arbre XIF en cours de cr ation il suffit d crire le code suivant mainDataModelHandler addElement rootNode fieldHeader L instance mainDataModelHandler de la classe XifDataModelHandler offre la m thode addElement permettant d ajouter le champ fieldHeader au noeud rootNode de l arbre en cours de cr ation D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide 7 2 1 7 Cr ation des param tres du paquet PACKET HEADER Apr s avoir cr le champ PACKET HEADER il est n cessaire de cr er et d ajouter les param tres qui le composent 7 2 1 7 1 Cr ation du param tre VERSION La cr ation du param tre VERSION se caract rise par le code suivant que l on d taille par la suite 1 Cr ation du type Entier de la version Cr ation du type Entier de la version XiflntegerType version XifIntegerType createDefaultXiflIntegerType mainDataModel Creation de l intervalle du type entier XiflntegerRange newRange version getIntegerRange newRange setMinValue BigInteger ZERO newRange setMaxValue BigInteger valueOf 100 Affectation des attributs du
75. ager xifManager XifDiscriminantAssociation import modeller core dataManager xifManager XifResource import modeller core dataManager xifManager api XifArrayType import modeller core dataManager xifManager api XifCharacterType import modeller core dataManager xifManager api XifConstant import modeller core dataManager xifManager api XifEnumeratedType import modeller core dataManager xifManager api XifEnumerationValue import modeller core dataManager xifManager api XifFielgd import modeller core dataManager xifManager api XifIntegerRange import modeller core dataManager xifManager api XifIntegerType import modeller core dataManager xifManager api XifNode import modeller core dataManager xifManager api XifObject import modeller core dataManager xifManager api XifPhysicalInformation import modeller core dataManager xifManager api XifRecordType import modeller core dataManager xifManager api XifStringOrArraySizeType import modeller core dataManager xifManager api jaxbObjects CharacterRangeType import fr cs best modeller common WriterExtensionUtilities public class XifWriter private XifResource xifResource private XifDataModel mainDataModel private XifDataModelHandler mainDataModelHandler private static final String XIF NAME private static final String XIF DIRECTORY PATH private static EN UU URSS UN EU TROIS Conec e eerlike du lenhe KIE si pareli de
76. aille la proc dure d import de l API OASIS dans d un projet Eclipse e Chapitre 7 Ce chapitre pr sente un ensemble de cas repr sentatifs d utilisation de l API 2 2 APPLICATION Ce document concerne la version 3 1 du XIF Ce document concerne la version 2 4 des extensions du XIF 2 3 LIENS UTILES 2 3 1 Les contacts Le support des utilisateurs des outils BEST ainsi que de l API OASIS est assur au travers de la mailing liste Cette liste comprend les personnes r f rents CNES pour suite d outils BEST et de l API OASIS ainsi que l quipe en charge de la maintenance de ces outils D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide 2 3 2 Les sites Internet Le site officiel de t l chargement des outils BEST de l API OASIS ainsi que de la documentation associ e ces outils est le suivant http logiciels cnes fr Le site officiel d di aux produits LID du CNES est le suivant http debat c s fr Le site suivant en acc s exclusivement depuis le r seau CNES offre une vision d taill e des outils propos s par le service et notamment les outils BEST http prs cnes fr D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 7123
77. appuyant sur l API OASIS Le r sultat de l extraction des l ments du XIF sont renvoy sur la sortie standard 7 public class XifReader private XifResource xifResource private static final String FICHIER XIF xiftf DOR_ HKTM x it public XifReader Main de la classe iparam args les arguments pass s en ligne de commande public static void main String args D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide try breProcess r Vens rono XifResource resource ModellerServicesInterface loadXmlIf FICHIER XIF postProcessXifVersion resource 77 parse new XifReader parseXif resource catch Exception System out println ERROR Unable to load the current XIF file Xn e getMessage Permet d extraire une information du XIF sans le cahrger via l API SAX 7 4 private static void preProcessXifVersion XifPreProcessing xifProcessing new XifPreProcessing modellerVersion ERCH TER xifProcessing startParsing String modellerVersion xifProcessing getReadValue XifPreProcessing xifProcessing2 new Hri i XIE B x
78. asero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide core Pil B i searchManager dataManager physicalModule 4 d P 4 constraintManager y xifManager conditionManager EM Y extensionManager api v jaxbObjects Figure 8 D composition en paquetage du noyau La table suivante d crit les paquetages ainsi que les classes qu ils contiennent Paquetage Description Classes modeller core dataManager Contient l ensemble des classes qui DataManager permettent de manipuler le mod le interne les librairies de types modeller core searchManager Ensemble de classes permettant DataSearch d effectuer une recherche sur le mod le interne modeller core physicalModule Ce paquetage a en charge de g rer Machines Norms BoundValue l ensemble des conventions Binreps ElementOflnteger d encodage associ aux machines Configuration ElementBinrep ElementMachine modeller core dataManager extensi Contient la classe permettant de ExtensionModel onManager manipuler les extensions Plus pr cis ment cette classe repr sente le mod le XSD des extensions en m
79. buteValue attribute getNodeValue for int i 0 i lt aNode getChildNodes getLength 1 1 Node child aNode getChildNodes item i if child instanceof Element parseExtensionNode child Rappel l exemple pr sent ci dessus illustre le parcours g n rique des extensions en s appuyant sur les objets fournis par l API DOM La d finition des l ments des extensions tant m connue de l API OASIS le parcours de ces l ments ne peut pas tre r alis via les objets JAVA fournis par cette m me c est la raison pour laquelle l exemple ci dessus s appuie sur un parcours via l API DOM 7 1 1 8 R cup ration des informations d un calibrator Un certain nombre d extensions d finies pour le domaine du Monitoring and Control des t l mesures et des t l commandes sont factoris es dans les fichiers XIF On parle de factorisation car elles sont d finies dans l l ment generallnformation du descriptif XIF et sont r utilisables une ou plusieurs fois dans les l ments de l arbre XIF au moyen du r f rencement de ceux ci Ces r f rences sont caract ris es par l attribut ref dans les extensions qui le permettent Ce m canisme a pour avantage de d finir une extension de mani re g n rale et de pouvoir la r utiliser autant de D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 046
80. cs best modeller copy import java io File import java util ArrayList import modeller ModellerServicesInterface import modeller common Utilities import modeller core dataManager xifManager XifCopiedConditionForDiscriminant import modeller core dataManager xifManager XifCopiedType import modeller core dataManager xifManager XifDataModel import modeller core dataManager xifManager XifDataModelHandler import modeller core dataManager xifManager XifResource import modeller core dataManager xifManager XifTypeManager import modeller core dataManager xifManager api XifFielgd import modeller core dataManager xifManager api XifNode import modeller core dataManager xifManager api XifObject import modeller core dataManager xifManager api XifRecordType import modeller core dataManager xifManager api XifUndefinedType public class XifCopy private XifResource sourceXifResource private XifDataModel sourceMainDataModel private XifDataModelHandler sourceMainDataModelHandler private XifResource targetXifResource private XifDataModel targetMainDataModel private XifCopiedType tmlCopy private XifNode searchNode null private static final String FICHIER XIF xif simple tm xif private static final String FICHIER XIF COPIE xit simple tm copied xit private static final String FICHIER XIF TARGET xif simple tm target xif Traitement de la copie d public void p
81. d name SIZE TAB integerType 5 8 computationMode AT THE BEST encoding ASCIl gt integerRange maxValue 100 minValue 0 gt lt defaultValue gt 50 lt defaultValue gt lt integerType gt lt extension gt lt EXTENSIONS gt lt PARAMETERPROPERTIES dataSource telemetered gt D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide lt EXTENSIONS gt lt extension gt lt field gt lt field name DEFAULT gt lt characterType gt lt characterRange max 255 min 0 gt lt characterType gt lt extension gt lt EXTENSIONS gt lt PARAMETERPROPERTIES dataSource telemetered gt lt EXTENSIONS gt lt extension gt lt field gt lt fieldList gt lt root name SPACE_SYSTEM gt lt recordType gt lt extension gt lt EXTENSIONS gt lt ROOTNATURE gt spaceSystem lt ROOTNATURE gt lt EXTENSIONS gt lt extension gt lt root gt lt root name TELEMETRY gt lt recordType gt lt field name PACKET_HEADER gt lt recordType gt lt field ref VERSION gt lt field ref APID gt lt recordType gt lt field gt lt field name PACKET_DATA gt lt recordType gt lt field name TM1 gt lt recordType gt field ref PARAM_ENTIER_1 gt field ref PARAM_ENTIER
82. de SizeArrayType setConditionAssociation discDim SizeArrayType setMaxSizeValue null tab removeDimensionAt 0 tab addDimension sizeArrayType La premi re partie de l exemple ci dessus montre la cr ation d un param tre de type XifCharacterType utilis pour constituer l l ment r p t dans le tableau construit par la suite La seconde partie montre la mani re de cr er un tableau et de lui affecter l l ment de type XifCharacterType cr pr c demment Enfin la derni re partie montre la cr ation de la taille dynamique du tableau conditionn e par l l ment dont le chemin dans l arbre XIF est TELEMETRY PACKET DATA TM2 SIZE TAB On voit ici que la mani re de d finir une taile dynamique de tableau est identique la cr ation d une condition d existence sur un l ment la diff rence pr s que l on ne donne que le chemin de l l ment discriminant et non pas le couple chemin et valeur de l l ment discriminant Cela revient donc dire que la taille du tableau est discrimin e par n importe quelle valeur de l l ment discriminant existe trois types XIF dont la taille peut tre d finie de cette mani re XifArrayType XifStringType et XifGenericType 7 2 1 9 Cr ation des extensions globales Un certain nombre d extensions d di es au Monitoring And Control ont t con ues de mani re tre factoris es On entend par factoris es l
83. donn es Cette recherche peut porter soit sur les informations syntaxiques soit sur les informations s mantiques e recherche syntaxique est bas e sur les informations suivantes nom de l l ment type taille ou bornes e La recherche s mantique est bas e sur le nom des attributs s mantiques ou leur contenu 5 7 LEPAQUETAGE MODELLER PLUGIN Le syst me de plugin permet principalement l ajout ou le remplacement de nouvelles fonctions dans l outil OASIS Modeller Ce m canisme permet aux utilisateurs d ajouter tendre mettre jour l outil OASIS Modeller de facon transparente Cette propri t permet ainsi d tendre ind finiment les possibilit s de l outil OASIS Modeller Les classes principales qui composent le syst me de plugins sont e classe ModellerPluginLoader celle ci est responsable du chargement en m moire des plugins Ces derniers sont charg s dynamiquement dans la m me JVM que l outil OASIS Modeller e La classe ModellerPluginManager cette classe g re l ensemble des plugins charg s dans l outil OASIS Modeller le ModellerPlugininterface il s agit en fait d une interface qui permet la communication et le contr le entre l outil OASIS Modeller et le plugin Tous les plugins doivent impl menter cette interface Les plugins pour pouvoir tre reconnus et charg en m moire de mani re transparente par l outil OASIS Modeller doivent respecter une certaine impl mentation
84. e et de charger en m moire un fichier XIF Elle prend en param tre une chaine de caract re constituant le chemin absolu du fichier XIF que l on souhaite charger en m moire et retourne un objet XifResource qui constitue l objet de manipulation du descriptif XIF charg en m moire public static XifResource loadXmlIf String pathname HashMap lt XifReference String unloadableRefs throws Exception Cette surcharge de la methode pr c dente a un r le identique mais permet en plus de recueillir toutes les r f rences entre mod les de la ressource qui n ont pas tre tablies avec le message d erreur correspondant associ plac es dans la Map en second param tre Pour une description plus pr cise des r f rences se r f rer au chapitre 7 1 2 public static boolean generateFile String aPluginlId String aFileType XifResource aResource String anOutputFile XifNode aRoot Cette m thode permet de g n rer un fichier d un certain type partir d un ensemble de param tres d finis Cette m thode ne peut tre utilis e qu en association avec le plug in OASIS correspondant au premier param tre pass la m thode Il est donc n cessaire que le plug in correspondant soit plac dans le r pertoire modeller plugins de l API pour que cette m thode fonctionne D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15
85. e fait d tre cr es de mani re globale sans tre affect es un param tre quelconque pour ensuite tre r f renc es au niveau des param tres ou autres l ments de l arbre de description XIF et ce de mani re unique ou multiple Ces extensions globales sont stock es dans le fichier XIF au niveau du n ud generallnformation qui centralise les informations g n rales du XIF comme son nom l indique Les avantages de ce proc d sont de pouvoir d finir ensemble d extensions telles que des fonctions de transferts ou des surveillances par exemple et ensuite de les utiliser plusieurs reprises sur diff rents param tres qui auraient besoin de la m me d finition de fonction de transferts ou de surveillance r duire la taille des fichiers XIF ne d finissant qu une fois l extension puis en r f ren ant aux diff rents endroits n cessaires sans recopier la d finition de centraliser les d finitions deminimiser les impacts lorsqu une extension est modifi e et donc d am liorer les performances Les principales extensions du mode Monitoring And Control que sont les fonctions de calibration de d calibration et les surveillances fonctionnent sur ce principe L ensemble des extensions est d taill dans le document DR2 D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYST
86. e liste par d faut d attributs s mantiques mais offre les outils pour les lire est ensuite possible d en crire si l on connait la s mantique du standard DEDSL ou d en crire d autres sp cifiques une d finition L exemple ci dessous illustre le parcours des attributs s mantiques d un l ment pass en param tres de la m thode JAVA private void parseDocumentation XifObject xifObject XifDocumentation xifDoc XifDocumentation xifObject getDocumentation sis 1 for int i 0 1 lt xifDoc getNumberOfDocumentationParameters i XifDocumentationParameter param xifDoc getDocumentationParameterAt 1 String semanticAttributeName String semanticAttributeValue String semanticAttributeContext param getName param getValue param getContext 7 1 1 7 Parcours des extensions d un l ment Le format XIF offre un m canisme qui permet de stocker les informations sp cifiques chacun des formats de D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide sortie sans tenir compte de la s mantique de celles ci Ce m canisme se veut donc g n rique et extensible volont de fa on avoir un comportement homog ne quelque soit le type d information stocker
87. eProcessing import modeller core dataManager xifManager XifDataModel import modeller core dataManager xifManager XifDiscriminantAssociation import modeller core dataManager xifManager XifResource import modeller core dataManager xifManager api XifArrayType import modeller core dataManager xifManager api XifCharacterType import modeller core dataManager xifManager api XifDocumentation import modeller core dataManager xifManager api XifDocumentationParameter import modeller core dataManager xifManager api XifEnumeratedType import modeller core dataManager xifManager api XifExtension import modeller core dataManager xifManager api XifFielgd import modeller core dataManager xifManager api XifGeneralInformation import modeller core dataManager xifManager api XifGenericType import modeller core dataManager xifManager api XifIntegerType import modeller core dataManager xifManager api XifNode import modeller core dataManager xifManager api XifObject import modeller core dataManager xifManager api XifRealType import modeller core dataManager xifManager api XifRecordType import modeller core dataManager xifManager api XifStringOrArraySizeType import modeller core dataManager xifManager api XifStringType import modeller core dataManager xifManager api XifUndefinedType import org w3c dom Element import org w3c dom NamedNodeMap import org w3c dom Node Exemple de lecture de fichier XIF en s
88. ed XifCopiedType copyType XifNode aNode throws Exception R cup ration du mod le de donn es XifDataModel dataModel aNode getDataModel R cup ration du champ contenu par le noeud XifObject obj aNode getUserObject if obj isField R cup ration du type du champ XifObject type obj getType On v rifie que le type n esy pas un type und fini sinon il n y a pas d int r t effectuer la copie if type isUndefinedType 1 Chaque type offre une m thode de copie de lui m m XifObject copiedType type copy dataModel true On effectue la copie des discriminant si il en existe dans la structure copi e ArrayList XifCopiedConditionForDiscriminant discriminantsToKeepList new ArrayList XifCopiedConditionForDiscriminant Utilities completeCopiedType type copiedType discriminantsToKeepList On retourne la nouvelle instance de l l ment copi return new XifCopiedType copiedType dataModel discriminantsToKeepList XifField obj else throw new Exception Le type est un type undefini else throw new Exception La copie n est possible que sur un XifField Chaque type XIfXXXType de l API OASIS contient une m thode copy permettant d effectuer une copie de lui m me et ainsi utiliser cette copie dans un autre contexte La m thode completeCopiedType de la classe Utilities de l API OA
89. er r f renc peut avoir des impacts non contr l s sur d autres fichiers r f ren ant ce m me fichier est donc pr f rable de ne modifier que les l ments du XIF ma tre charg en m moire et de n effectuer que des r f rences sur les l ments des fichiers XIF r f renc s Dans le cas o l on souhaite volontairement modifier un l ment d un XIF r f renc il est pr f rable de D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide charger ce fichier XIF en tant que XIF ma tre dans une nouvelle ressource XifResource et d y effectuer les modifications souhait es Le r f rencement se caract rise par la balise XifReferenceList contenant un ensemble de balise XifReference pour chaque fichier XIF r f renc Pour renseigner cette balise se r f rer au chapitre 7 2 1 3 Pour lire un fichier XIF contenant des r f rences vers un autre fichier XIF il n y a rien de sp cifique r aliser tant donn que la classe XifResource g re le chargement du fichier XIF principal ainsi que de ses fichiers XIF r f renc s 7 1 3 Lecture de plusieurs fichiers XIF en parall le est possible de charger et de g rer plusieurs fichiers XIF en parall le sans interf rer la manipulation d
90. erServicesInterface loadXmllf il n est donc pas n cessaire d y faire appel En revanche la cr ation d un fichier XIF comme on le verra dans les chapitres suivants il est essentiel d y faire appel 5 4 LEPAQUETAGE MODELLER CORE DATAMANAGER Le paquetage dataManager est le composant principal du core puisque il a en charge la gestion et la manipulation du mod le interne de donn es Ce composant contient la classe DataManager qui offre l ensemble des services permettant de g rer le mod le interne xif de l outil OASIS Modeller Les sous paquetages sont d crits dans les paragraphes qui suivent 5 4 1 Le paquetage modeller core dataManager xifManager Le mod le interne de l outil OASIS Modeller est bas sur le format XML Ce format xif est g r par le composant xifManager qui a pour r le de transformer le fichier xif en une arborescence d objets et inversement lors de la sauvegarde de la description de donn es Ce paquetage offre aussi un ensemble de services permettant de manipuler le mod le de donn es en m moire e Ajout suppression d l ments dans l arbre e Insertion d l ments e Modification des informations s mantiques et syntaxiques e V rification du mod le 5 4 1 1 Le paquetage modeller core dataManager xifManager api Le paquetage api fournit l ensemble des services permettant l utilisateur d diter modifier le mod le interne de donn
91. erenceForXifField fieldVersion mainDataModel XifNode headerNode rootNode getChildNodeNamed fieldHeader getName mainDataModelHandler addElement headerNode fieldRefVersion M dL ARTD 7 Cr ation l APID et rattachement au HEADER List XifEnumerationValue enumValues new ArrayList XifEnumerationValue unte NEIN UMA TUE SS eh XifEnumerationValue enumValue XifEnumerationValue createDefaultXifEnumeratedValue mainDataModel ENUM VALUES i Integer value new Integer i 1 enumValue setValue value toString enumValues add enumValue Un enumere doit toujours etre nomme et donc faire partie de la liste interne des types du XIF 1 est donc appele par reference dans les field qui utilisent un type enumere String SM VENUM checks if the type is not already processd if enumTypeName null XifObject t mainDataModel getXifResource getlInternalTypeNamed enumTypeName if t null throw new Exception Creation du type impossible Le type enumTypeName existe deja creates a new typ XifEnumeratedType apid XifEnumeratedType createDefaultXifEnumeratedType mainDataModel for XifEnumerationValue value enumValues try apid addEnumeratedValue value catch Excepti
92. es Ce composant est compos des classes suivantes e XifArrayType et XifListType classe permettant de manipuler et g rer les r p titions d l ments sous forme de tableaux ou de liste e XifRecordType type de structure permettant de hi rarchiser la description sous forme arborescente e XiflntegerType XifStringType XifRealType XifCharacterType XifEnumeratedT ype ensemble de classes repr sentant respectivement les types simples entier chaine de caract re d cimal caract re et num r e XifGenericType cette classe permet de manipuler des types simples non pris en compte par les types list s pr c demment D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide e XifConstant classe permettant de manipuler les constantes utilis es dans la description 5 4 1 2 Le paquetage modeller core dataManager xifManager api xifObjects Ce paquetage contient l ensemble des classes n cessaires l criture et la lecture du fichier xif repr sentant la description de donn es Ces classes sont g n r es de facon automatique gr ce la technologie Java appel e JAXB Java API for XML Binding A partir du sch ma d finissant le format xif la librairie JAXB g n re les classes Java pe
93. es mod les de donn es en m moire La classe XifDataManager du paquetage modeller core dataManager permet de g rer plusieurs instances de la classe XifResource en m moire et de manipuler ces mod les de donn es de mani re ind pendantes Voir la javadoc de l API OASIS pour plus d informations sur cette classe 7 2 ECRITURE D UN FICHIER XIF 7 2 1 Cr ation d un mod le en mode Monitoring And Control et criture du fichier XIF Ce chapitre montre les cl s principales pour cr er un fichier XIF en s appuyant sur la cr ation d un exemple simple du mode Monitoring And Control Le but est donc de cr er un XIF comme suit VERSION PACKET HEADER APID aDP ENUM_O_TYPE PARAM ENTIER 1 TELEMETRY 4 PARAM ENTIER 2 PACKET DATA SIZE_TAB 1 DEFAULT Figure 11 Repr sentation graphique n ud TELEMETRY Cet exemple mod lise un arbre de TM ayant pour sp cification D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide e Une en t te PACKET HEADER contenant un l ment de type entier VERSION et un APID de type num r Une donn e PACKET DATA contenant un l ment de type record mod lisant e Un premier l ment TM1 conte
94. etMainDataModel getDataModelHandler addInternalType typeNamedInCopy get j Rattachement de l l ment la cible targetMainDataModel getDataModelHandler modifyElement pastNode typeToPaste if copiedType getDiscriminantAssociationList null ArrayList XifCopiedConditionForDiscriminant listOfDiscriminantAssociationToKeep copiedType getDiscriminantAssociationList Utilities completeConditionDiscriminantInTable pastNode listOfDiscriminantAssociationToKeep Utilities createConditionDiscriminantOfCopiedType typeToPaste listOfDiscriminantAssociationToKeep targetMainDataModel Sauvegarde mod le modifi dans un nouveau XIF targetXifResource save catch Exception e System out println ERROR Unable to load the current XIF file NUE getMessage Masgmeelsset cmi esi mg param args the command line arguments public static void main String args XifCopy copy new XifCopy copy processCopyInXif copy processCopyBetweenTwoXif System exit 0 D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07
95. etType paramEntierl Ajout de l extension telemetred sur le parametre pour specifier la nature de celui ci WriterExtensionUtilities addDataSourceForParameter fieldEntierl telemetered Ajout du parametre a la liste des parametres mainDataModelHandler addGlobalField fieldEntierl Creation du field referencant le parametre global pour le rattacher au HEADER XifField fieldRefEntierl XifField createReferenceForXifField fieldEntierl mainDataModel mainDataModelHandler addElement tmlNode fieldRefEntierl Creation du parametre PARAM ENTIER 2 et rattachement la XiflntegerType paramEntier2 XiflntegerType createDefaultXiflIntegerType mainDataModel Creation de l intervalle du type entier XiflntegerRange newRange2 paramEntier2 getIntegerRange newRange2 setMinValue BigInteger valueOf 30 newRange2 setMaxConstantNameRef CST 50 Affectation des attributs du type Entier paramEntier2 setIntegerRange newRange2 D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide paramEntier2 setBitSizeComputed paramEntier2 setBinary paramEntier2 setSize
96. extensions Il est donc possible de cr er tout type d extension sur la base de cet exemple en reprenant la d finition XSD de l extension que l on souhaite cr er ou manipuler et en s appuyant sur le d tail de leur d finition partir des documents DR2 et DR3 De la m me mani re il est donc possible de cr er une fonction de surveillance comme le paragraphe suivant le d taille 7 2 1 9 2 Cr ation d une fonction de surveillance De la m me mani re que l on cr une fonction de calibration dans le paragraphe pr c dent le proc d pour cr er une surveillance est sensiblement identique Appel de la methode de creation de la surveillance WriterExtensionUtilities addGlobalGroundAlarm mainDataModel getGeneralInformation alarml1 null alarmLevels warning alarmType numeric 10 20 seconds La d claration de la m thode est la suivante public static void addGlobalGroundAlarm XifGeneralInformation aGenerallInformation String alarmName String alarmDesc alarmLevels alarmLevel alarmType alarmType String minlInclusive String maxInclusive String timeUnits throws Exception Node globAlarmListExt XifExtensionUtilities getNeverNullExtensionFor aGenerallnformation ALARMLIST creates a new alarm Node alarmNode XifExtensionUtilities createAndAddChildNamed globAlarmListExt ALARM creates name attribute XifExtensionUtilities createOrSetAttributeNamed alarmN
97. fDiscriminantAssociation discAssos strSize getConditionAssociation if discAssos null System out println DYNAMICSIZE on node aNode is discAssos getDiscriminationValue aNode else if aType isArrayType XifArrayType array XifArrayType aType for inti 0 lt array getArrayDimensionRange size 144 D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date _ 10 04 2014 R f rence intentionnellement vide XifStringOrArraySizeType dimension XifStringOrArraySizeType array getArrayDimensionRange get i XifDiscriminantAssociation discAssos dimension getConditionAssociation if dimension isDynamicSizeMode BEST FT 0155 Perte formule taille variable System out println DYNAMICSIZE on node aNode is discAssos getDiscriminationValue aNode private void parseDocumentation XifNode aNode XifObject xifObject XifDocumentation xifDoc XifDocumentation xifObject getDocumentation cnet o System out println DOCUMENTATION for type named aNode getName for int i 0 i xifDoc getNumberOfDocumentationParameters d XifDocumentationParameter param xifDoc getDocumentationParameterAt i String semant
98. hrows Exception une exception public static void addRefToCalibrator XifObject xifObject String calibratorName throws Exception try XifExtensionUtilities setExtensionValueFor xifObject null DEFAULTCALIBRATOR Node defaultCalibrator XifExtensionUtilities getExtensionFor xifObject DEFAULTCALIBRATOR XifExtensionUtilities createOrSetAttributeNamed defaultCalibrator CalibratorRef calibratorName catch Exception e throw new Exception e getMessage Affecte l extension DEFAULTALARM au xifObject si elle n existe pas encor et affecte cett xtension la reference sur l alarme apparatenant a la liste globale des alarmes iparam xifObject le type XIF auquel affecter l extension iparam alarmName le nom de l alarme a referencer throws Exception une exception 2 public static void addRefToAlarm XifObject xifObject String alarmName throws Exception try XifExtensionUtilities setExtensionValueFor xifObject null LU Node defaultAlarm XifExtensionUtilities getExtensionFor xifObject DEFAULTALARM XifExtensionUtilities createOrSetAttributeNamed defaultAlarm alarmRef alarmName catch Exception e throw new Exception e getMessage Creer une alarme sol dans la liste des alarmes du noeud generallInformation aGenerallnformation le noeud ge
99. icAttributeName param getName String semanticAttributeValue param getValue String semanticAttributeContext param getContext System out println DOCUMENTATION PARAMETER semanticAttributeName System out println Values g V sp semanticAttributeValue System out println Context MET semanticAttributeContext private void parseExtension XifNode XifObject xifObject XifExtension xifExtension XifExtension xifObject getExtension if xifExtension null amp amp xifExtension getNumberOfParameters 0 System out println EXTENSION for type named aNode getName if xifExtension getNumberOfParameters gt 0 Node anExtensionNode xifExtension getParameterAt 0 if anExtensionNode instanceof Element parseExtensionNode anExtensionNode 0 private void parseExtensionNode Node aNode int space Srrimo sume for int mi 09 1 lt 1 alam System out println indent EXTENSION NODE aNode getNodeName System out println indent Text content aNode getNodeValue NamedNodeMap map aNode getAttributes D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU
100. ifGenerrType XifUndefmedType Figure 10 Structure de l arbre XIF en m moire dans l API OASIS Comme on peut le voir dans le sch ma pr c dent la repr sentation en m moire de l arbre XIF s appuie sur une encapsulation d objet Chaque objet XifNode encapsule l l ment XifField ou XifRoot si celui ci est la racine de l arbre contenant les informations du champ ou param tre et portant le type de celui ci est donc fortement recommand de s appuyer sur les objets XifNode pour effectuer le parcours de l arbre XIF tant donn que ces l ments portent l ensemble des informations n cessaires la manipulation de l arbre De plus certaines manipulations telles que celles des conditions d existences n cessitent de manipuler les objets XifNode Le parcours peut tre r alis de la mani re suivante private void parseNode XifNode aChild La manipulation des champs ou types s appuie sur l objet XifObject tant donn e que chaque l ment h ritent de cette classe Il est donc possible d effectuer un parcours g n rique au moyen de cet objet XifObject field aChild getUserObject aue 1 Sye tem ouc laa ProcesSiner men e else System out println Processing field named field getName D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123
101. ifProcessing2 startParsing String xifSchemaVersion xifProcessing2 getReadValue System out println modellerVersion xifSchemaVersion Permet d extraire la m me information que le preProcess mais via l API OASIS param resource la resourc private static void postProcessXifVersion XifResource resource XifDataModel datamodel resource getXifDataModel XifGenerallInformation generallInformation XifGeneralInformation datamodel getlInternalForm getGeneralInformation v rification de la version l api oasis String fileVersionXif generallInformation getVersions getModellerVersion v rification de la version du sch ma xif String fileVersionSchemaXif generallInformation getVersions getXifSchemaVersion System out println fileVersionXif fileVersionSchemaXif Parse le ficheir XIF xifResource la resource XIF 25 D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide public void parseXif XifResource aResource xifResource aResource System Our XIE PARSINE 9 System out println Model name xifResource getResourceFilename parse
102. ing Affecte l extension PARAMETERPROPERTIES au xifObject si elle n exist pas affecte cett xtension le datasource type du param tre param xifObject le type XIF auquel affecter l extension throws Exception une exception 3 public static void addDataSourceForParameter xifObject String dataSourceValue throws Exception try XifExtensionUtilities setExtensionValueFor xifObject null PARAMETERPROPERTIES Node paramProperties XifExtensionUtilities getExtensionFor xifObject PARAMETERPROPERTIES XifExtensionUtilities createOrSetAttributeNamed paramProperties dataSource dataSourceValue catch Exception e throw new Exception e getMessage Affecte l extension DEFAULTCALIBRATOR au xifObject si elle n existe pas encore et affecte cette extension la reference sur le calibrator apparatenant a la liste globale des calibrator D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide param xifObject le type XIF auquel affecter l extension param calibratorName le nom du calirator a referencer t
103. ion des extensions globales 48 D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide 7 2 1 9 1 Cr ation d une fonction de transfert 2 lt 49 7 2 1 9 2 Cr ation d une fonction de 50 7 2 1 10 Validation des extensions d un objet XIF 51 7 2 1 11 Sauvegarde du descriptif 52 7 2 2 R f rencement d un ou plusieurs XIF partir d un XIF ma tre 52 7 2 2 4 R f rencer un fichier XIF 52 7 2 2 2 Retirer la r f rence sur un fichier XIF 53 7 3 COPIE D UNE PARTIE DE FICHIER XIF crece eorr reta 54 7 3 1 Copie d un champ de l arbre XIF eese 54 T 3 2 He copie de lV l menti scoccccccciccccscsiniccscccicecsccicccscccicceciccicccbsccicecicccindeses 55 7 3 3 Re copie de l l ment dans un autre descriptif XIF 56 ANNEXE A SOURCES DES CLASSES JAVA DE L EXEMPLE DE LECTURE A 1 ANNEXE B FICHIER XIF RESULTAT DE L ECRITURE B 1 ANNEXE C SOURCES
104. ion du champ XifField La seconde tape est de cr er le champ XifField qui sera affect du type XifRecordType cr pr c demment Ce champ est nomm PACKET HEADER donc l appel est r alis sous la forme suivante 211281616 JXisluele cresteDessututxossele ERES HEADERT mainDataModel fieldHeader setType header La classe XifField contient au m me titre que les classes portant les types une m thode permettant d instancier et d initialiser l objet souhait Cette m thode affecte le nom pass param tre l instance retourn e ainsi qu un type XifUndefinedType par d faut Cette m thode cr un type XifUndefinedType par d faut attach ce champ Lorsque l on affecte le type XifRecordType au champ avec la m thode setType ce type crase et remplace le type cr par d faut 7 2 1 6 4 Ajout du champ PACKET HEADER l arbre XIF en cours de cr ation La classe XifDataModelHandler offre un bon nombre de m thode d ajout de suppression ou de modification d l ment au cours de la manipulation d un mod le de donn es XIF Ces m thodes ont t con ues de mani re effectuer un certain nombre de v rification au cours de ces manipulations et d assurer la coh rence du mod le de donn es pour chaque action r alis e est donc fortement conseill d utiliser les m thodes de cette classe au cours de l
105. ire est initialis par l appel xifResource createNewDataModel XIF NAME M C Cette m thode initialise en m moire un noeud root par d faut nomm avec le nom du XIF lui m me Il est donc n cessaire de supprimer D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide ce n ud root par d faut qui ne nous int resse pas dans notre cas puis de cr er les 3 n uds root souhait s comme l exemple le montre 7 2 1 6 Cr ation du paquet PACKET_HEADER Le paragraphe suivant s attache illustrer la cr ation de la branche PACKET_HEADER de l exemple suivi dans ce chapitre VERSION PACKET HEADER P ENUM 0 TYPE ENTIER 1 1 PARAM_ENTIER_2 PACKET DATA 1 SIZE_TAB 1 TAB DEFAULT a Figure 10 Repr sentation graphique du n ud PACKET_HEADER TELEMETRY Dans un premier temps on s attache cr er le noeud PACKET HEADER de cette branche pour ensuite dans un second temps y attacher les param tres qu il contient La cr ation d un l ment de l arbre s effectue en 4 tapes Lacr ation du type constituant l l ment Lacr ation du champ field constituant l l ment Lerattachement du type au champ de l l ment
106. it tre affect des valeurs de l num r Ces valeurs sont compos es chacune de deux informations un nom logique qui permet d identifier la valeur et une valeur physique correspondant la valeur de l num ration et qui peut tre vide en fonction de l encodage de l num r e Le type num r doit tre nomm et donc appartenir la liste des types internes du descriptif XIF C est la raison pour laquelle on utilise la m thode addInternalType de la classe XifDataModelhandler 7 2 1 8 Cr ation du paquet PACKET DATA Le paragraphe suivant s attache illustrer la cr ation de la branche PACKET DATA de l exemple suivi dans ce chapitre VERSION PACKET HEADER APID P ENUM 0 TYPE PARAM ENTIER 1 PARAM ENTIER 2 PACKET DATA SIZE_TAB 1 TAB DEFAULT Figure 11 Repr sentation graphique du n ud PACKET DATA TELEMETRY La cr ation des diff rents l ments de ce paquet n est pas d taill e dans ce chapitre tant donn qu elle est redondante avec les tapes de cr ation d taill es dans les chapitres pr c dents D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide Les l ments pr sent s ci apr s permettent de montrer La ma
107. j else BINARY mode D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide 7 1 1 5 Parcours d un l ment de type record L exemple illustr ci dessous montre le parcours d un l ment de type record Le passage de l objet XifNode a un int r t particulier ici puisque le parcours de l arbre doit tre poursuivi dans les l ments fils de ce type Comme on peut le voir dans le parcours on effectue un appel la m thode parseNode XifNode aChild qui constitue un appel r cursif pour parcourir l arbre jusqu aux feuilles repr sent es par les types simples du format XIF private void parseRecord XifNode aNode XifRecordType aRecord int nbChildren aRecord getNumberOfFields for 0 lt 1 1 XifNode child aNode getChildNodeAt 1 traitement des elements fils parseNode child Traitement sp cifique sur le type record 7 7 1 1 6 Parcours de la documentation s mantique d un l ment La documentation se pr sente sous la forme d une liste de param tres ayant au moins un nom et une valeur L outil OASIS Modeller g re une liste par d faut d attributs s mantiques qui sont d finis dans le standard DEDSL L API OASIS ne g re pas cett
108. lCopy getCopiedType sourceMainDataModelHandler modifyElement tm3Node typeToPaste if tmlCopy getDiscriminantAssociationList null ArrayList XifCopiedConditionForDiscriminant listOfDiscriminantAssociationToKeep tmlCopy getDiscriminantAssociationList Utilities completeConditionDiscriminantInTable tm3Node listOfDiscriminantAssociationToKeep Utilities createConditionDiscriminantOfCopiedType typeToPaste listOfDiscriminantAssociationToKeep sourceMainDataModel Sauvegarde mod le modifi dans un nouveau XIF sourceXifResource saveAs new File FICHIER XIF catch Exception System out println ERROR Unable to load the current XIF file e getMessage Effectue une recherche recursive sur le noeud aChild anm le chano iparam aChild le noeud parcourir D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide param fieldName la nom du champ recherch throws Exception une exception private void searchPacketData XifNode aChild String fieldName throws Exception XifObject field aChild getUserObject
109. la configuration de l outil OASIS Modeller modeller configuration fichiers de ressources langue D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide 4 2 4 Focus le paquetage core 4 2 4 1 Fonctions Le noyau de l API OASIS repr sent par le paquetage core d crit pr c demment a pour r le principal de g rer le mod le interne Il a en charge e Lecture et sauvegarde du fichier xif d finissant le mod le e Cr ation de l arbre de description en m moire partir d un fichier xif lu e Manipulation de l arbre de description en m moire ajout suppression modification des champs ou et de leur type e Gestion des sous XIF e Contr le de coh rence du mod le en m moire e Gestion des tailles dynamiques pour les tableaux et cha nes de caract res e Gestion des conditions d existence e Gestion de la configuration s mantique bas e sur le DEDSL e Gestion du module physique contenant les diff rentes machines avec l impl mentation des r els ou entiers cod machine 4 2 4 2 Architecture La figure suivante pr sente les diff rents composants impl ment s dans le paquetage modeller La figure suivante d crit les diff rents paquetages D Users sp
110. mainDataModelHandler addElement packetDataNode fieldTm3 XifNode tm3Node packetDataNode getChildNodeNamed TM3 M Collage e ope XifObject typeToPaste tmlCopy getCopiedType mainDataModelHandler modifyElement tm3Node typeToPaste Copie et mise jour des conditions d existence if tmlCopy getDiscriminantAssociationList null ArrayList XifCopiedConditionForDiscriminant listOfDiscriminantAssociationToKeep tmlCopy getDiscriminantAssociationList Utilities completeConditionDiscriminantlinTable tm3Node listOfDiscriminantAssociationToKeep Utilities createConditionDiscriminantOfCopiedType typeToPaste listOfDiscriminantAssociationToKeep mainDataModel La premi re partie de ce code montre la mani re de cr er un nouvel l ment dans l arbre nomm et de lui affecter un type und fini XifUndefinedType La seconde partie montre la r cup ration de l objet copi puis l affectation de ce type copi au nouvel l ment de l arbre D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide 7 3 3 de l l ment dans un autre descriptif XIF Le code suivant montre la mani re de coller un l ment copi
111. n file3 xif lt xifReferenceList gt referencedModek XifDataModel fleName file2 xif XfDataModel file2 xif file3 xif fileName file3 xif referencedModel referencedModel XifDataModel fleName file4 xif Figure 12 Mapping du r f rencement de fichiers XIF et de la structure en m moire La classe XifDataModelHandler est accessible depuis le mod le de donn es du XIF principal Elle offre l ensemble des m thodes d ajout de modification et de suppression des l ments globaux ou locaux du descriptif XIF L exemple de code suivant illustre l initialisation de ces 3 classes centrales pour l exemple que nous allons illustrer au cours de ce chapitre mais galement pour toute utilisation de l API OASIS destin cr er et manipuler un mod le de donn es XIF On cr un nouveau XifResource et on lui associe un nouveau XifDataModel XifResource xifResource new XifResource Le XifDataModel est cr avec un nom de XIF qui correspond au nom du fichier XIF et un l ment root est cr par d faut avec ce nom Le mode EAST M C ou encore XSD est pass galement en param tre pour sp cifier le mode du XIF si celui ci doit tre ouvert dans OASIS Modeller xTtResourceccregsteNewbataModel UN CH p On r cup re le XifDataModel qui est unique dans ce cas et qui correspond au XIF en m
112. n 1 sb append char begin else String minStr Integer toString begin min tre lengta 1 taste if minStr length 2 Tam SEE MOT sb umb p sb append max if CharacterCheck isPrintable char end sb append char end else String maxStr Integer toString end if maxStr length 1 te UUM maS EE 2 1 sb append NN maxStr sb append CHARACTER System auie pruime lla 2819 ero Serata 0 P Parse le type eniter D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide param aNode l l ment portant le type traiter param anInteger le type traiter Au private void parselnteger XifNode aNode XifIntegerType anlnteger StringBuilder sb new StringBuilder sb append INTEGER Range mode if anlInteger isBeginEndRange sb append BEGIN END else if anlInteger isFullRange sb append FULL RANGE else sb append BEGIN SIZE BigInteger beginValue anIntege
113. nant deux entiers et discrimin par la valeur UN de l APID Un second l ment TM2 contenant un entier et un tableau de caract res dont la taille d pend de la valeur de l entier de m me niveau e Les param tres PARAM ENTIER 1 et ENTIER 2 sont respectivement affect s de deux extensions le premier avec une alarme et le second avec une fonction de calibration Les l ments de couleur Jaune dans l arbre sont les l ments de type complexe c est dire pouvant contenir d autres l ments On d nombre 3 types complexes en XIF XifRecordType XifArrayType et XifListType Les l ments de couleur Verte dans l arbre sont les l ments de type simple c est dire les feuilles de l arbre XIF On d nombre 5 types simples en XiflntegerType XifRealType XifCharacterType XifEnumeratedT ype et XifStringType Il existe deux autres types sp cifiques que sont XifUndefinedType et XifGenericType Les l ments de couleur Bleue dans l arbre sont les l ments dont l existence est conditionn e par la valeur d un autre l ment Au final le XIF r sultant de cette mod lisation est pr sent en Annexe B de ce document Les sources des classes JAVA permettant de mod liser ce descriptif sont pr sent es en Annexe C de ce document 7 2 1 1 Initialisation de la configuration du modeller Deux points sont essentiels pour le fonctionnement nominal de l A
114. ndler 17 INITIALISATION DES ELEMENTS DE L ENTETE DU XIF On lui affecte un r pertoire dans lequel sera sauvegard le XIF mainDataModel setDirectory XIF DIRECTORY PATH Affectation du targetNameSpace mainDataModel setTargetNamespace http myNameSpace myXif 9 Ajout informations physiques au noeud general information SetPayeicallaromations 19 TE PENO WES TON 20 CREATION DES NOEUDS ROOT D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide supprime le noeud root cr par d faut mainDataModelHandler removeRoot mainDataModel getRootAt 0 Cr ation et ajout du noeud root TELEMETRY l arbre XIF Ajout de l extension lt ROOTNATURE gt spaceSystem lt ROOTNATURE gt definir noeud root comme etant le noeud SPACE SYSTEM SPACRESYSIREMU E Spacesys Cr ation et ajout du noeud root TELEMETRY l arbre XIF Ajout de l extension lt ROOTNATURE gt telemetry lt ROOTNATURE gt permettant de definir ce noeud r
115. neralInformation alarmName le nom de l alarme param alarmDesc la description de l alarme alarmLevel le niveau de l alarme alarmType le type de l alarme minInclusive la valeur minimale inclusive de l alarme maxInclusive la valeur maximale inclusive de l alarme timeUnits l unit de temps de l alarme Qthrows Exception une exception o E public static void addGlobalGroundAlarm XifGeneralInformation aGeneralInformation String alarmName D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION TMA LID R f rence intentionnellement vide PRS MU OASIS 0460 CS Edit 01 Date R v 02 Date 20 11 2013 10 04 2014 String alarmDesc alarmType alarmType int minInclusive String timeUnits throws Exception int maxInclusive Node globAlarmListExt Pais alarmName alarmLevels alarmLevel creates name attribute ionUtilities createOrSetAttributeNamed alarmNode XifExtens 77 type attribute ionUtilities createOrSetAttributeNamed alarmNode XifExtens alarmTIype toString 77 5 a Ceriani definitionNode
116. nformation Dans le cas l on souhaite sp cifier l API OASIS sauvegarder le XIF la fin de la cr ation du mod le celui ci peut porter le chemin vers le r pertoire sauvegarder le fichier XIF r sultat avec l exemple ci dessous On lui affecte un r pertoire dans lequel sera sauvegard le XIF mainDataModel setDirectory D MON PROJET BEST Les informations de la balise targetNamespace peuvent tre renseign es pour l identification du mod le L affectation d un pr fixe permet d viter les ambiguit s de r f rencement d objets de m me nom dans diff rents mod les externes Le code suivant montre la mani re de renseigner cette balise Affectation du targetNameSpace mainDataModel setTargetNamespace http myNameSpace myXif myxif 7 2 1 4 Initialisation des informations physiques A la cr ation du mod le de donn es il est possible de d finir les informations d encodage des donn es que le fichier XIF d crit Pour cela il est possible de d finir les informations appel es physiques de la mani re suivante Ajout des informations physiques au noeud general information XifPhysicalInformation physicallInfo mainDataModel getPhysicalInformation physicallInfo setNorm FCSTC000 physicalInfo setSendingMachine PC physicalInfo setWordSize 16 physicallInfo setArrayArranging ROW Ces informations sont compos es de 4 attributs la no
117. ni re d affecter une condition d existence un l ment de l arbre XIF La mani re de cr er une constante et de la r f rencer dans la d finition de l intervalle d un entier La mani re d affecter une fonction de transfert calibration un param tre La mani re d affecter une surveillance alarme un param tre La mani re de d finir une taille de tableau conditionn par la valeur d un param tre de l arbre XIF 7 2 1 8 1 Cr ation de l l ment TM1 Le code pr sent ci dessous montre la mani re de d finir un l ment dans l arbre et de lui affecter une condition d existence en fonction de la valeur de l num r APID Creation du record TM1 et ajout a l arbre XifRecordType tml XifRecordType createDefaultXifRecordType mainDataModel XifField fieldtmi XifField createDefaultXifField TM1 mainDataModel fieldtml setType tml mainDataModelHandler addElement dataNode fieldtml XifNode aNode rootNode getChildNodeNamed fieldtml getName Cr ation de la condition d existence et rattachement au field XifDiscriminantAssociation discAssos new XifDiscriminantAssociation discAssos createAssociationTable fieldtm1 TELEMETRY PACKET HEADER APID UN fieldtml getDataModel fieldtml setConditionAssociation discAssos ConditionNode Condi
118. nitialisation des objets porteurs du mod le de donn es m moire 33 7 2 1 3 Initialisation des informations g n rales du XIF 35 7 2 1 4 lnitialisation des informations 35 7 2 1 5 Cr ation du ou des n uds 36 7 2 1 6 Cr ation du paquet PACKET HEADER 37 7 2 1 6 1 Cr ation d un uice 38 7 2 1 6 2 Cr ation du type XifRecordType pour le champ PACKET HEADER c nee des ee ee ete 39 12 163 Cr ation du champ XifField rete ce 39 7 2 1 6 4 Ajout du champ PACKET HEADER l arbre XIF en cours de cr ation 39 7 2 1 7 Cr ation des param tres du paquet PACKET HEADER 40 7 2 1 7 1 Cr ation du param tre VERSION 40 7 2 1 7 2 Cr ation du param tre APID 42 7 2 1 8 Cr ation du paquet PACKET DATA 43 7 2 1 8 1 Cr ation de l l ment 1 44 7 2 1 8 2 Cr ation et utilisation d une constante 45 7 2 1 8 3 Affectation d une fonction de transfert un param tre de l arbre XIF 45 7 2 1 8 4 Affectation d une surveillance un param tre de l arbre XIF 46 7 2 1 8 5 Cr ation de l l ment TAB sise 47 7 2 1 9 Cr at
119. ntation apid setAscii 4 Ajout du type APID a la liste des types internes mainDataModelHandler addInternalType apid D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide XifEnumeratedType apidRefType XifEnumeratedType createReferenceForXifEnumeratedType apid mainDataModel sesion XifField filedApid XifField createDefaultXifField APID mainDataModel filedApid setType apidRefType Ajout de l extension telemetred sur le parametre pour specifier la nature de celui ci WriterExtensionUtilities addDataSourceForParameter filedApid telemetered Ajout du parametre a la liste des parametres mainDataModelHandler addGlobalField filedApid Creation du field referencant le parametre global pour le rattacher au HEADER XifField fieldRefApid XifField createReferenceForXifField filedApid mainDataModel mainDataModelHandler addElement headerNode fieldRefApid Les tapes de cr ation du param tre APID pr sent ci dessus sont sensiblement les m mes que pour la cr ation du param tre VERSION Les diff rences remarquables comment es dans le code ci dessus sont e Le type num r do
120. ode name alarmName creates type attribute XifExtensionUtilities createOrSetAttributeNamed alarmNode type alarmType toString creates a new definition D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide Node definitionNode XifExtensionUtilities createAndAddChildNamed alarmNode 5 switch 1 case numeric creates a new numericAlarm Node numericAlarmNode XifExtensionUtilities createAndAddChildNamed definitionNode NUMERICALARM creates a new staticAlarmRanges Node staticAlarmRangesNode XifExtensionUtilities createAndAddChildNamed numericAlarmNode STATICALARMRANGES creates a new staticAlarmRange Node staticAlarmRangeNode XifExtensionUtilities createAndAddChildNamed staticAlarmRangesNode STATICALARMRANGE senes alier XifExtensionUtilities createOrSetAttributeNamed staticAlarmRangeNode alarmLevel alarmLevel toString creates a new verifyRange Node verifyRangeNode XifExtensionUtilities createAndAddChildNamed staticAlarmRangeNode VERIFYRANGE creates verifyRange attributes XifExtension
121. on e throw new Exception e getMessage D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide apid setBitSizeComputed apid setSize 1 apid setBinaryRepresentation apid setAscii apid setName enumTypeName Ajout du type APID a la liste des tpyes internes mainDataModelHandler addInternalType apid XifEnumeratedType apidRefType XifEnumeratedType createReferenceForXifEnumeratedType apid mainDataModel eel XifField filedApid XifField createDefaultXifField APID mainDataModel filedApid setType apidRefType Ajout de l extension telemetred sur le parametre pour specifier la nature de celui ci WriterExtensionUtilities addDataSourceForParameter filedApid telemetered Ajout du parametre la liste des parametres mainDataModelHandler addGlobalField filedApid Creation du field referencant le parametre global pour le rattacher au HEADER XifField fieldRefApid XifField createReferenceForXifField filedApid mainDataModel mainDataModelHandler addElement headerNode fieldRefApid Cres le noero DAVA SE cescencenes param rootNode le noe
122. oot comme etant le noeud TELEMETRY XifNode telemetryRootNode createRootNode TELEMETRY telemetry Cr ation et ajout du noeud root TELEMETRY l arbre XIF Ajout de l extension lt ROOTNATURE gt command lt ROOTNATURE gt permettant de definir ce noeud root comme etant le noeud COMMAND createRootNode COMMAND command CREATION DES EXTENSIONS GLOBALES createGlobalExtensions CREATION DU HEADER 4 createHeader telemetryRootNode 2 CREATION DE DATA createData telemetryRootNode Sauvegarde du xifResource save catch Exception Debug print e Affecte les informations physiques de la machine dediee aux donnees decrites par le XIF A7 private void setPhysicallnformations String norm String sendingMachine String wordSize String arrayArranging D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide XifPhysicallInformation physicalInfo mainDataModel getPhysicalInformation physicalInfo setNorm norm physicallInfo setSendingMachine sendingMachine physicallInfo setWordSize wordSize
123. ore dataManager xifManager api Note Lors de la manipulation du mod le de donn e XIF en m moire seules les classes se trouvant dans le paquetage modeller core dataManager xifManager api doivent tre utilis es est fortement recommand de ne pas manipuler directement les classes produites par JAXB Note l API fournit cette couche d interface entre le mod le de donn es JAVA et le format XIF mais elle ne fournit pas d outil de manipulation des extensions En effet une extension tant un arbre XML susceptible D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide de stocker n importe quel type d information OASIS ne peut pas conna tre ni fournir d objets sp cifiques de manipulation des donn es contenues dans les extensions Comme nous le verrons dans les exemples pr sent s dans les chapitres suivants il est conseill d utiliser DOM pour parcourir cr er modifier ou supprimer les l ments des extensions 4 2 3 Architecture globale de l API OASIS L architecture globale de d OASIS se pr sente comme suit XIF Figure 5 Architecture globale d OASIS Modeller Comme le montre le sch ma pr c dent il s agit d une architecture modulaire bas e sur le m canisme des plug in
124. ormat XIF L ensemble des types possibles est repr sent par le sigle XXX dans la suite de ce paragraphe existe donc autant de classe XifXXXType que de type d finit par la d finition XSD du format XIF Chaque classe XifXXXType correspondant chaque type contient deux m thodes permettant d initialiser une instance de ce type public static XifXXXType createDefaultXifXXXType XifDataModel aModel et public static XifXXXType createReferenceForXifXXXType XifXXXType aType XifDataModel aModel Il est fortement recommand d utiliser ces m thodes pour la cr ation d un nouveau type et d conseill d utiliser l instanciation par le constructeur de la classe tel que XifXXXType aType new XifXXXType En effet ces m thodes statiques assurent une initialisation minimale de chaque type afin de minimiser les erreurs dans leur manipulation et leur attachement l arbre XIF La premi re m thode permet de cr er un type XXX en lui affectant le mod le de donn es XifDataModel de destination et en lui affectant un certain nombre d attributs par d faut en fonction du type choisi Une fois le type souhait retourn par la m thode il suffit de lui affecter les attributs souhait s La seconde m thode permet de cr er une r f rence sur le type de m me type qui lui est pass en param tre Cette m thode est utilis e pour r f rencer un type interne d finit dans la liste de
125. otNode fieldHeader Creation de l element VERSION A Cr ation du type Entier de la version XiflntegerType version XifIntegerType createDefaultXifIntegerType mainDataModel Creation de l intervalle du type entier XiflntegerRange newRange version getIntegerRange newRange setMinValue BigInteger ZERO newRange setMaxValue BigInteger valueOf 100 Affectation des attributs du type Entier version setlntegerRange newRange version setBitSizeComputed version setBinary D3Users spaseron DOCUMENTATION Y7 ProductionV7 1 DocumentationV712 DocDefinition 7 123 Best 712311 Tutorie PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide Nae salo s sets ize Cr ation du field de la version XifField fieldVersion XifField createDefaultXifField VERSION mainDataModel fieldVersion setType version Ajout de l extension telemetred sur le parametre pour specifier la nature de celui ci WriterExtensionUtilities addDataSourceForParameter fieldVersion Ltelemetered Ajout du parametre a la liste des parametres mainDataModelHandler addGlobalField fieldVersion Creation du field referencant le parametre global pour le rattacher au HEADER XifField fieldRefVersion XifField createRef
126. pasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 Vi STATICALARMRANGES ERIFYRANG ties createAndAddChildNamed verifyRangeNode 305 ties createOrSetAttributeNamed verifyRangeNode new Integer minInclusive toString ties createOrSetAttributeNamed verifyRangeNode new Integer maxInclusive toString CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide case string creates a new string Alarm 77 Creer une fonction de transfert de type calibrateur polynomial dans 1 liste globale des calibrateurs du noeud generallInformation aGenerallnformation le noeud generalInformation param aName le nom calibrateur param aDesc la description du calibrateur Gparam aList la liste des couples coefficient exposant throws Exception une exception 2 public static void addGlobalPolynomialCalibrator XifGenerallInformation aGenerallnformation String aName String aDesc Hashtable String String aList throws Exception r cup ration de la liste des calibrateurs Node globCalExt XifExtensionUtilities getNeverNullExtensionFor aGeneralInformation CALIBRATORLIST H cr ation du nouveau calibrateur Node calNode XifExtensionUtilities createAndAddChildNamed globCal
127. r getRange getBegin sb append begin beginValue BigInteger endValue anInteger getRange getEnd sb append end endValue BigInteger sizeValue anInteger getRange getSize sb append size sizeValue long bitsSize anInteger getBitsSize lonis V sp lone Sage p sb append encoding is if anInteger isAscii sb append ASCII INTEGER else sb append BINARY INTEGER System out println sb toString private void parseReal XifNode aNode XifRealType aReal StringBuilder sb new StringBuilder sb append REAL Range mode if aReal isBeginEndRange 1 sb append BEGIN END else if aReal isBeginEndPrecisionRange sb append BEGIN END PRECISION else sb append FULL RANGE sb append size is sb append aReal getBitsSize sb append bits encoding is if aReal isAscii 5 encoding is ASCII REAL else D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide sb append encoding is BINARY REAL System out println sb toString
128. r l objet du type et affecter les valeurs des attributs qui le composent Il est noter que dans le cas o l on souhaiterait renseigner le nom du type pour l affecter la liste des types internes il serait n cessaire de v rifier que ce nom n existe pas d j dans la liste des types internes pour viter les doublons Comme on l a pr cis pr c demment un type nomm appartient la liste des types internes et par cons quent il ne peut pas y avoir deux types de m me nom Pour effectuer la v rification il faudrait ajouter le code suivant String integerTypeName UN NOM if integerTypeName null XifObject t dataModel getXifResourc getinternalTypeNamed integerTypeName D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide aten De mend 1 throw new Exception Creation du type impossibl Le type 4 integerTypeName existe deja 2 seconde tape consiste cr er le champ XifField qui sera ensuite rattach l arbre XIF 3 La troisi me tape consiste affecter Une extension ce champ permettant aux outils tels que OASIS Modeller de d terminer le type de param tre de ce champ ou dataSource Les diff rents
129. rme la machine la taille d un mot et la disposition des informations en m moire Le document de r f rence DR1 explique plus en d tail les diff rentes combinaisons possibles pour initialiser ces informations physiques li es la machine Cette d finition suit les conventions r gies par le CCSDS et est configur e dans l API sous le paquetage modeller configuration configurationFiles squelettes La liste des machines pr configur es est la suivante D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide e MACHINE01 PC e MACHINE02 SUN e MACHINEO3 VAX e MACHINE04 MIL_STD_1750A e 5 MACHINE06 IBM CMS MVS 7 2 1 5 Cr ation du ou des n uds ROOT L exemple que nous suivons s appuie sur le mode Monitoring And Control qui par d faut doit contenir trois noeuds ROOT correspondant trois descriptions arborescentes distinctes Ces trois noeuds correspondent aux d finitions SPACE SYSTEM et des quipements qui le composent dela TELEMETRY et de la d finition du paquet TM correspondant dela COMMAND et de la d finition du paquet TC correspondant est donc n cessaire de cr er ces 3 noeuds ROOT de mani re suivan
130. rmettant de lire et crire le fichier au format xif 5 4 2 Le paquetage modeller core dataManager conditionManager Le paquetage conditionManager est responsable de la gestion des discriminants Ces derniers peuvent repr senter soit des tailles dynamiques de tableaux par exemple soit des conditions d existence d l ments Les services suivants sont fournis e Gestion des tailles dynamiques qui peuvent tre d ordre simple ou calcul es e Gestion des conditions d existence soit simples ou calcul es e Gestion d un arbre synth tique des conditions permettant de condenser et d ordonner les conditions d existence e valuation des expressions afin de d terminer la taille cas des tableaux ou la pr sence cas des conditions d existence des l ments de l arbre 5 4 3 Le paquetage modeller core dataManager extensionManager Le paquetage extensionManager fournit une classe de la gestion g n rique d un sch ma XSD d extensions Elle peut tre utilis e dans le parcours de l arbre XSD 5 4 4 Le paquetage modeller core dataManager constraintManager Le paquetage constraintManager est responsable de la gestion des contraintes associ es un mod le de donn es pour en d finir le d coupage en s appuyant par exemple sur les conditions d existences D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 1
131. rocessCopyInXif try Chargement du fichier XIF source D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide sourceXifResource ModellerServicesInterface loadXmlIf FICHIER XIF sourceMainDataModel sourceXifResource getXifDataModel sourceMainDataModelHandler sourceMainDataModel getDataModelHandler recherche du champ p re de l l ment copier XifNode root sourceMainDataModel getNodeFromPath TELEMETRY searchPackerDaice rock NPACHET 5 Copie de l l ment 1 cr ation du champ TM3 und fini puis recopie de l l ment dans le nouveau champ if searchNode null XifNode tmlNode searchNode getChildNodeNamed TM1 if tmlNode null tmlCopy searchNode Creation d un element TM3 sur le noeud PACKET DATA XifUndefinedType tm3 XifUndefinedType createDefaultUndefined sourceMainDataModel XifField fieldTm3 XifField createDefaultXifField TM3 sourceMainDataModel fieldTm3 setType tm3 sourceMainDataModelHandler addElement searchNode fieldTm3 XifNode tm3Node searchNode getChildNodeNamed TM3 meea Mago demne emnene XifObject typeToPaste tm
132. s Les diff rentes parties sont d crites ci dessous e XIF il s agit du format de sauvegarde du mod le interne de l outil OASIS Modeller afin d assurer la persistance Celui ci offre une description commune des donn es qui peut tre largie volont gr ce un m canisme d extension e OASIS kernel Cette couche est responsable de la manipulation et de la gestion du mod le interne Le noyau a pour r le de lire et crire le fichier XIF de le modifier de g rer les librairies de types D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide Application Programming Interface interface programmatique qui permet la communication entre le noyau et l IHM ainsi que la liaison entre le noyau et la plug in interface e Plugin interface interface commune tous les plug ins qui a pour r le de fournir les services n cessaires l interaction entre les diff rents plug ins et l outil OASIS Modeller De plus de nouveaux plug ins impl mentant l interface ainsi d finie pourront tre ajout s dans l outil OASIS Modeller e Plugin il s agit de briques ind pendantes les unes des autres et qui ont pour r le une fonction bien pr cise Les plug ins permettent d tendre les fonctionnalit s du noya
133. s types internes du XIF noeud D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide typeList Nous verrons un exemple d utilisation de cette seconde m thode dans la cr ation d une r f rence sur un type dans le chapitre 7 2 1 7 2 7 2 1 6 2 Cr ation du type XifRecordType pour le champ PACKET_HEADER Comme le pr cise le paragraphe pr c dent il est n cessaire de cr er une instance de type XifRecordType partir de la m thode statique fournit par cette m me classe Le champ PACKET HEADER est nomm mais contient un type local et ne r f rence pas un type interne le type record cr ici ne doit donc pas tre nomm Si l on reprend la premi re tape de cr ation du champ PACKET HEADER la cr ation du type XifRecordType tait r alis e de la mani re suivante XifRecordType header XifRecordType createDefaultXifRecordType mainDataModel Comme on le pr cise pr c demment on utilise la m thode createDefaultXifXXXType XifDataModel aModel du type XifRecordType pour cr er l instance du type On peut ensuite lui affecter un nom on ne souhaite pas qu il soit nomm la m thode initialise null le nom du type retourn 7 2 1 6 3 Cr at
134. te On supprime le noeud root cr par d faut mainDataModelHandler removeRoot mainDataModel getRootAt 0 Cr ation et ajout du noeud root SPACE SYSTEM l arbre XIF Ajout de l extension ROOTNATURE spaceSystem ROOTNATURE permettant de definir ce noeud root comme etant le noeud SPACE SYSTEM XifNode spaceSystemRootNode mainDataModelHandler addNewRoot SPACE SYSTEM XifExtensionUtilities setExtensionValueFor spaceSystemRootNode getUserObject rootNature spaceSystem Cr ation et ajout du noeud root TELEMETRY l arbre XIF Ajout de l extension lt ROOTNATURE gt telemetry lt ROOTNATURE gt permettant de definir ce noeud root comme etant le noeud TELEMETRY XifNode telemetryNode mainDataModelHandler addNewRoot TELEMETRY XifExtensionUtilities setExtensionValueFor telemetryNode getUserObject rootNature telemetry Cr ation et ajout du noeud root COMMAND l arbre XIF Ajout de l extension ROOTNATURE command ROOTNATURE permettant de definir ce noeud root comme etant le noeud COMMAND XifNode commandNode mainDataModelHandler addNewRoot COMMAND XifExtensionUtilities setExtensionValueFor commandNode getUserObject rootNature command Comme nous l avons vu pr c demment la cr ation du squelette du mod le de donn es en m mo
135. tionManager processFieldCondition aNode aField setExistenceCondition cond Les 4 premi res lignes du code ci dessus reprennent la cr ation de l l ment TM1 de la m me mani re que cela a t vu dans les chapitres pr c dents La suite montre la cr ation d une condition d existence port e par la classe XifDiscriminantAssociation et dont la m thode permet de cr er la condition en lui fournissant sous forme de chaine de caract re l l ment discriminant Ici l l ment discriminant est l num r APID dont le chemin dans l arbre est TELEMETRY PACKET HEADER APID La syntaxe UN permet de pr ciser la valeur de l APID pour laquelle l l ment TM1 existe Cela signifie donc que l l ment TM1 et son contenu n existe que dans le cas la valeur de l APID vaut l num ration UN Pour sp cifier que l l ment TM2 de l arbre n existe que pour l intervalle de valeurs de l APID DEUX TROIS il faudrait passer la m thode createAssociationTable la cha ne de caract re TELEMETRY PACKET HEADER APID DEUX TROIS D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide 7 2 1 8 2 Cr ation et utilisation d une constante
136. type calibration ou d calibration sont rattach es au type du param tre XifXXXtype et non pas au champ repr sentant le param tre XifField C est la raison pour laquelle l exemple ci dessus utilise l instance paramEntier1 de type XiflntegerType pour r f rencer la fonction de transfert puis ce type est rattach au champ qui constitue le param tre Les fonctions de transfert tant des l ments appartenant la d finition des extensions du format XIF les m thodes d affectation cr ent une extension qui est ensuite attach e au type paramEntier1 Cette extension est nomm e DEFAULTCALIBRATOR et porte un attribut calibratorRef contenant le nom unique de la fonction de transfert factoris e dans la liste des fonctions de transfert du descriptif XIF 7 2 1 8 4 Affectation d une surveillance un param tre de l arbre XIF Le code pr sent ci dessous montre la fa on d affecter une surveillance sol un param tre de la description XIF Creation du parametre PARAM ENTIER 2 et rattachement a la XiflntegerType paramEntier2 XiflntegerType createDefaultXiflIntegerType mainDataModel Creation de l intervalle du type entier XiflntegerRange newRange2 paramEntier2 getIntegerRange Xirrield cose del W PARAM ENTIER 20 mainDataModel fieldEntier2 setType paramEntier2
137. u d OASIS nouvelles entr es sorties personnalisation des IHM 4 2 3 1 D composition L API OASIS est compos de 4 modules principaux comme l illustre la figure suivante common Figure 6 Vue composant globale Chacun des composants est impl ment dans le paquetage modeller La figure suivante d crit les diff rents paquetages D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide modeller configuration core common plugin Figure 7 Vue paquetage globale Le tableau qui suit pr sente la correspondance entre les composants logiques et leurs impl mentations sous formes de paquetages Composant R le Paquetage associ Permet de g rer manipuler installer les plugin diff rents plug ins qui viennent tendre les modeller plugin fonctionnalit s de l outil OASIS Modeller Fournit un ensemble de classes utilitaires common communes tous les paquetages de l outil modeller common OASIS Modeller Permet de g rer et manipuler le format interne fichiers XIF xif Il fournit galement des fonctionnalit s de recherche core modeller core Contient l ensemble des classes permettant configuration
138. ud root auquel rattacher le DATA throws Exception une exception Au private void createData XifNode rootNode throws Exception Creation du record PACKET DATA et ajout a l arbre XifRecordType data XifRecordType createDefaultXifRecordType mainDataModel rielebatre IObrmuielel ezesceDex ew Y PACKET DATA mainDataModel fieldData setType data mainDataModelHandler addElement rootNode fieldData XifNode dataNode rootNode getChildNodeNamed fieldData getName Creation des noeud 1 et TM2 createTM1 dataNode createTM2 dataNode Cree le mostre param dataNode le noeud auquel rattacher le 1 throws Exception une exception z private void createTM1 XifNode dataNode throws Exception Creation du record TM1 et ajout a l arbre D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide XifRecordType tml XifRecordType createDefaultXifRecordType mainDataModel XifField fieldtmi XifField createDefaultXifField TM1 mainDataModel fieldtml setType tml mainDataModelHandler addElement dataNode fieldtml XifNode tmiNode dataNode getChildNodeNamed fieldtml getName
139. urce fournit la m thode attachDataModel String aFilePath afin de charger un fichier XIF dont le chemin est repr sent par aFilePath Cette m thode v rifie que le fichier XIF peut tre charg c est dire que le fichier XIF existe bien et qu il contient un targetNameSpace Lorsqu un sous mod le est charg dans la ressource XifResource l ensemble des constantes types ou encore champs globaux sont accessibles depuis les m thodes offertes par la classe XifResource Par exemple Cette m thode de la classe XifResource retourne l ensemble des types internes du mod le principal ainsi que des mod les directement r f renc s public List XifObject getlnternalTypeList Cette m thode de la classe XifResource retourne l ensemble des types internes du mod le principal ainsi que des mod les r f renc s et galement les types des mod les r f renc s de troisi me niveau et plus cas un XIF r f renc r f rence lui m me un autre XIF et ainsi de suite D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS 02 Date 10 04 2014 R f rence intentionnellement vide public List lt XifObject gt getAllInternalTypeList 7 2 2 2 Retirer la r f rence sur un fichier XIF La classe XifReso
140. urce fournit la m thode detachDataModel XifDataModel aDataModel afin de retirer la r f rence d un fichier XIF sur le mod le de donn es principal port par la ressource Cette m thode v rifie que le fichier XIF peut tre retir c est dire qu aucune constante qu aucun type ou aucun champ global de cet XIF n est utilis dans l arbre du mod le principal port par la ressource D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide 7 3 COPIE D UNE PARTIE DE FICHIER XIF Ce chapitre montre la d marche adopter pour copier une partie d un arbre XIF et coller cette copie un endroit sp cifique de l arbre L exemple de ce chapitre s appuie sur le fichier XIF pr sent en Annexe B de ce document Dans cet exemple on copie la branche de l arbre nomm 1 on cr un champ de type XifUndefined attach au champ PACKET DATA puis on colle l l ment copi sur ce nouveau champ Les sources de la classe JAVA sur laquelle s appuie l exemple propos ci apr s se trouve en Annexe D de ce document 7 3 1 Copie d un champ de l arbre XIF Le code suivant montre la mani re de copier un l ment de l arbre XIF en s appuyant sur le noeud XifNode protect
141. vide lt enumerationValue value 4 name QUATRE gt lt enumerationType gt lt typeList gt lt fieldList gt lt field name VERSION gt lt integerType size 7 computationMode AT_THE_BEST encoding BINARY gt lt integerRange maxValue 100 minValue 0 gt integerType extension EXTENSIONS PARAMETERPROPERTIES dataSource telemetered gt lt EXTENSIONS gt lt extension gt lt field gt lt field name APID gt enumerationType ref ENUM_0_TYPE gt lt extension gt lt EXTENSIONS gt lt PARAMETERPROPERTIES dataSource telemetered gt lt EXTENSIONS gt lt extension gt lt field gt field name PARAM_ENTIER_1 gt lt integer Type size 16 computationMode FORCED encoding BINARY gt lt integerRange maxConstantNameRef CST_50 minValue 30 gt lt extension gt lt EXTENSIONS gt lt DEFAULTCALIBRATOR calibratorRef calibrator1 gt lt EXTENSIONS gt lt extension gt integerType extension EXTENSIONS PARAMETERPROPERTIES dataSource telemetered gt lt EXTENSIONS gt lt extension gt lt field gt field ENTIER 2 gt lt integerT ype size 1 computationMode AT THE BEST encoding BINARY gt lt integerRange minValue 0 gt lt integerType gt lt extension gt EXTENSIONS PARAMETERPROPERTIES dataSource telemetered gt DEFAULTALARM alarmRef alarmi gt lt EXTENSIONS gt lt extension gt lt field gt fiel
142. volution 01 02 10 04 2014 intentionnellement vide FERREIRA J r me DES ESPACE DSS REMISE Jean Charles DES ESPACE DSS PASERO S bastien DES ESPACE DSS Mise jour de l API suite la DM BEST FT 563 XifChecker Complement d informations concernant les namespace et prefixe d un mod le suite la DM BEST FT 361 Mise jour de l API suite la DM BEST FT 470 XifExtensionUtilities Mise jour de l API suite la DM BEST FT 645 XifConstant 01 01 20 11 2013 intentionnellement vide ROUX Yann DES ESPACE DSS FERREIRA J r me DES ESPACE DSS REMISE Jean Charles DES ESPACE DSS Mise jour de l API suite la DM BEST FT 339 01 00 01 06 2012 intentionnellement vide ROUX Yann DES ESPACE DSS FERREIRA J r me DES ESPACE DSS Cr ation du document D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide SOMMAIRE GLOSSAIRE ET LISTE DES PARAMETRES amp 1 1 GENEBBLITES IU E 2 1 1 DOCUMENTS REFERENCE 2 1 2 DOCUMENTS APPLICABLES 2 2 3 2 1 OBJEC TIF 3 2 2 APPLICATION ane ne eme 3 2 3 LIENS
143. yntaxique de toutes les extensions du mod le incluant Les informations g n rales Les champs globaux Lestypes internes Les constantes suffit d appeler la m thode validate boolean checkAllExtensions avec la valeur true Appeler la m thode validate de cette m me classe quivaut appeler la m thode validate boolean checkAllExtensions avec la valeur false Exemple d utilisation XifChecker checker xifResource getXifDataModel getXifChecker D Users spasero DOCUMENTATION 7 Production 71 Documentation 712 DocDefinition 7123 Best 712311 Tutoriel PRS MU OASIS 0460 CS doc 15 07 14 17 07 CS SYSTEMES D INFORMATION PRS MU OASIS 0460 CS R v 02 Date 10 04 2014 R f rence intentionnellement vide checker validate true v rification syntaxique de toutes les extensions if checker isValid for XifMessag rrorMessage checker getErrorMessages System out println errorMessage toString 7 3 1 3 Parcours des arbres du mod le Le parcours des arbres ou l acc s un des l ments racine XIF s effectue via le mod le principal du XIF c est dire la classe XifDataModel correspondant au mod le interne du XIF ma tre charg en m moire Cette instance est r cup r e via la resource XifResource qui porte l ensemble du mod le de donn es charg en m moire correspondant au fichier Xif charg et ses r

Download Pdf Manuals

image

Related Search

Related Contents

  GE 45136 User's Manual  WD TV™ Live HD Media Player - User Manual    取扱説明書  Equipment arrangement using interactive computer graphics on  Easy Quick Jumper™  ニュー トーマスベビーウォーカー  Actuación Neumática Válvula de Mariposa (PDF: 870 KB  陸 上 自 衛 隊 仕 様 書  

Copyright © All rights reserved.
Failed to retrieve file