1 / 27

ATHOS Benutzertreffen

ATHOS Benutzertreffen. Report of the Lab Glashütten, 12.Oktober 2006 HighQSoft GmbH, Karst Schaap karst.schaap@HighQSoft.de www.highqsoft.de / www.highqsoft.com. 12.Oktober 2006 - 1. Themen. Aktueller Stand der Entwicklung Kundenspezifische Projekte Geplante Entwicklungen

randy
Download Presentation

ATHOS Benutzertreffen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ATHOS Benutzertreffen Report of the Lab Glashütten, 12.Oktober 2006 HighQSoft GmbH, Karst Schaap karst.schaap@HighQSoft.de www.highqsoft.de / www.highqsoft.com 12.Oktober 2006 - 1

  2. Themen • Aktueller Stand der Entwicklung • Kundenspezifische Projekte • Geplante Entwicklungen • Zugriff auf Massendaten 12.Oktober 2006 - 2

  3. Aktueller Stand der Entwicklung • Allgemeine Erweiterungen • Operating System Support • ASAM ODS 5.1 • Model Mapping 12.Oktober 2006 - 3

  4. Aktueller Stand der Entwicklung • Allgemeine Erweiterungen • Extended Query • DT_ENUM • ID und Referenzen als DT_LONGLONG • Korrektur der Basisattribute bei AoExternal Component • CorbaFileServer 12.Oktober 2006 - 4

  5. Aktueller Stand der Entwicklung • Operating System Support • Windows 2000 (32-Bit) • Windows XP (32-Bit) • Windows 2003 (32-Bit) • Linux, Suse 10 (32-Bit) • Linux, Suse 10, RedHat (64-Bit) 12.Oktober 2006 - 5

  6. Aktueller Stand der Entwicklung 12.Oktober 2006 - 6

  7. Aktueller Stand der Entwicklung • ASAM ODS 5.1 • Verbesserung der Dokumentation. • Verbesserung ATF/XML. • Neue OO-API Methoden. • Neue OO-API Funktionalität. • ASAM ODS 5.1.1 • Mehrere identische ‚Based Relations‘ an ein Element. 12.Oktober 2006 - 7

  8. Aktueller Stand der Entwicklung • Neue OO-API Methoden ODS 5.1 • Interface AoSession • createCoSession() • getUser() • Interface ApplicationElement • getRelationByBaseName() • Interface BaseRelation • getInverseRelationName() • Interface BaseAttribute • getEnumerationDefinition() • Enum SelOpcode • IS_NULL, // Value is NULL • IS_NOT_NULL // Value is not NULL 12.Oktober 2006 - 8

  9. Aktueller Stand der Entwicklung • Neue OO-API Funktionalität • Interface ApplElemAccess • getInstances() • getInstancesExt() • updateInstances() The values of the local column instances are part of the result set when the following criteria all fit: • Only when the attributes id, generation_parameters, values, flags are requested, as soon as any other attributes are requested the values are not reported. • The values of the local column must all belong to exactly one instance of AoMeasurement • The server can be configured to a use not more than a specified amount of memory. As soon as a result set exceeds this limit, an exception will be thrown. • For the rest no iterator is required. 12.Oktober 2006 - 9

  10. Aktueller Stand der Entwicklung • Mehrere identische ‚Based Relations‘ an ein Element UnitUnderTest Parts_1 (Children) Parts_2 (Children) UUT (parent) UUT (parent) UnitUnderTestPart_1 UnitUnderTestPart_2 12.Oktober 2006 - 10

  11. Aktueller Stand der Entwicklung • Geänderte OO-API Methoden ODS 5.1.1 • Interface ApplicationElement Alt: ApplicationRelation getRelationByBaseName( in Name baseRelName) raises (AoException); Neu: ApplicationRelationSequence getRelationsByBaseName( in Name baseRelName) raises (AoException); 12.Oktober 2006 - 11

  12. Aktueller Stand der Entwicklung • Model Mapper • Umstellung von TCL auf Java • Konfigurationsfiles mit XML, Prüfung durch XSD • Einbindung Query mit HQLX Der neue Model Mapper wird nur bei neuen Kunden-projekten eingesetzt, der aktuelle Model Mapper wird weiterhin gewartet und für realisierte Projekte auch erweitert. 12.Oktober 2006 - 12

  13. Kundenspezifische Projekte • Datalogger • PAK Import / Export • Archivierung externe Dateien • Co-Server für Einheiten-Umrechnung • Beratung und Prototyp Erstellung 12.Oktober 2006 - 13

  14. Geplante Entwicklungen • ASAM ODS 5.1.1 Sobald ODS 5.1.1 vom TAB verabschiedet ist, wird der Avalon auf diese Versionumgestellt. • Kundenspezifische Projekte 12. Oktober 2006 - 14

  15. Zugriff auf Massendaten Verschiedene Möglichkeiten: • Interface ValueMatrix • Interface InstanceElement • Interface InstanceElement mit Auslesen von ExternalComponent Dateien • Interface ApplElemAccess 12. Oktober 2006 - 15

  16. Zugriff auf Massendaten ValueMatrix • Aufbau der ValueMatrix von SubMatrix oder Measurement. • Werte immer im MeasurementQuantity Datentyp. • Zugriff der Daten über Zeilen (Vector), Spalten (MeaPoint) und Bereiche. • Einheit ist bei Column zu erfragen. 12. Oktober 2006 - 16

  17. Zugriff auf Massendaten z.B: Measurement meaObj = ieMea.upcastMeasurement(); ValueMatrix vmObj = meaObj.getValueMatrix(); if (vmObj != null) { Column cols[] = vmObj.getColumns("*"); for (int i = 0; i < cols.length; i++) { TS_ValueSeq values = vmObj.getValueVector(cols[i], 0, 0); } vmObj.destroy(); } 12. Oktober 2006 - 17

  18. Zugriff auf Massendaten InstanceElement • Navigation von Measurement auf SubMatrix weiter auf Local Column • Auslesen der Attribute sequence_representation, values, raw_datatype, generation_parameters, global_flag und flags von AoLocalColumn • Auslesen des Attributes datatype von AoMeasurementQuantity • Auswertung der sequence_represenation • Nur Zugriff auf alle Daten einer Local Column • Einheit wird mit geliefert. 12. Oktober 2006 - 18

  19. Zugriff auf Massendaten Sequence_Represenation Explicit, Daten liegen explizit vor in korrektem Datentyp. Implicit_Constant, Ein Wert bei ‚values‘, der für alle Werte zu verwenden ist. Implicit_Linear, Zwei Werte bei ‚values‘, Anfangswert und Offset zur Berechnung der Werte. Implicit_Saw, Drei Werte bei ‚values‘, Anfangswert und Offset und Maximum zur Berechnung der Werte. Raw_Linear, Raw_Polynomial und Raw_Linear_Calibrated, Daten liegen in raw_datatype vor, die generation_parameters werden zur Umrechnung gebraucht. External_Component, Raw_Linear_External, Raw_Polynomial_External und Raw_Linear_Calibrated_External identisch wie Explicit, Raw_Linear, Raw_Polynomial und Raw_Linear_Calibrated der Daten werden von dem Server aus der externen Datei geladen. 12. Oktober 2006 - 19

  20. Zugriff auf Massendaten z.B.: InstanceElementIterator ieSubIter = ieMea.getRelatedInstances(arMeaSub, "*"); if (ieSubIter != null) { InstanceElement ieSub; do { ieSub = ieSubIter.nextOne(); if (ieSub != null) { InstanceElementIterator ieLccIter = ieSub.getRelatedInstances(arSubLcc, "*"); if (ieLccIter != null) { InstanceElement ieLcc; do { ieLcc = ieLccIter.nextOne(); if (ieLcc != null) { NameValueUnit values = ieLcc.getValueByBaseName("values"); 12. Oktober 2006 - 20

  21. Zugriff auf Massendaten ieLcc.destroy(); } } while (ieLcc != null); ieLccIter.destroy(); } ieSub.destroy(); } } while (ieSub != null); ieSubIter.destroy(); } 12. Oktober 2006 - 21

  22. Zugriff auf Massendaten InstanceElement mit Auslesen von ExternalComponent Dateien • Wie bei InstanceElement. • Nur für sequence_represenation External_Component, Raw_Linear_External, Raw_Polynomial_External und Raw_Linear_Calibrated_External • weitere Navigation auf AoExternalComponent. • Zugriff von Client auf Dateien. • Auswertung der Basisattribute von AoExternalComponent 12. Oktober 2006 - 22

  23. Zugriff auf Massendaten ApplElemAccess • Neu in ODS 5.1 • Zugriff auf Werte von mehreren Local Columns in eine Anfrage. • Attribute Auswertung wie bei InstanceElement • Implementierung für getInstances() • Beschränkungen wie oben angegeben • Nur ein Datentyp pro Anfrage 12. Oktober 2006 - 23

  24. Zugriff auf Massendaten z.B.: // Build query for the request of the values QueryStructure qs = new QueryStructure(); // Get the Id of the application elements T_LONGLONG aeSubId = aeSub.getId(); T_LONGLONG aeLccId = aeLcc.getId(); // Deternime the number of attributes ApplicationAttribute aaLccId = aeLcc.getAttributeByBaseName("id"); String aaLccIdName = aaLccId.getName(); ApplicationAttribute aaLccName = aeLcc.getAttributeByBaseName("name"); String aaLccNameName = aaLccName.getName(); ApplicationAttribute aaLccValues = aeLcc.getAttributeByBaseName("values"); 12. Oktober 2006 - 24

  25. Zugriff auf Massendaten // Report the attributes of the localcolumn qs.anuSeq = new AIDNameUnitId[2]; qs.anuSeq[0] = createAIDNameUnitId(aeLccId, aaLccIdName); qs.anuSeq[1] = createAIDNameUnitId(aeLccId, aaLccValues.getName()); // Conditions Name of Localcolumn qs.condSeq = new SelValue[1]; qs.condSeq[0] = createSelValue(aeLccId, aaLccNameName, SelOpcode.LIKE); qs.condSeq[0].value.u.stringVal("*"); // No operation qs.operSeq = new SelOperator[0]; // No order by qs.orderBy = new SelOrder[0]; // Related instance submatrix qs.relInst = new ElemId(); qs.relInst.aid = aeSubId; qs.relName = arSubLcc.getRelationName(); 12. Oktober 2006 - 25

  26. Zugriff auf Massendaten InstanceElementIterator ieSubIter = ieMea.getRelatedInstances(arMeaSub, "*"); if (ieSubIter != null) { InstanceElement ieSub = null; do { ieSub = ieSubIter.nextOne(); if (ieSub != null) { qs.relInst.iid = ieSub.getId(); ElemResultSet res[] = aea.getInstances(qs, 0); ieSub.destroy(); } } while (ieSub != null); ieSubIter.destroy(); } 12. Oktober 2006 - 26

  27. Vielen Dank für Ihre Aufmerksamkeit

More Related