athos benutzertreffen n.
Download
Skip this Video
Download Presentation
ATHOS Benutzertreffen

Loading in 2 Seconds...

play fullscreen
1 / 13

ATHOS Benutzertreffen - PowerPoint PPT Presentation


  • 116 Views
  • Uploaded on

ATHOS Benutzertreffen. MATLAB-ATHOS Integration Glashütten, 12.Oktober 2006 HighQSoft GmbH, Hans-Joachim Bothe hans.bothe@highqsoft.de www.highqsoft.de / www.highqsoft.com. 12.Oktober 2006 - 1. MATLAB.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'ATHOS Benutzertreffen' - ilandere


Download Now 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
athos benutzertreffen
ATHOS Benutzertreffen

MATLAB-ATHOS Integration

Glashütten, 12.Oktober 2006

HighQSoft GmbH, Hans-Joachim Bothe

hans.bothe@highqsoft.de

www.highqsoft.de / www.highqsoft.com

12.Oktober 2006 - 1

matlab
MATLAB
  • MATLAB ist eine kommerzielle mathematische Software der Firma The MathWorks, Inc. zur Lösung diverser mathematischer Probleme und zur grafischen Darstellung der Ergebnisse.
  • MATLAB ist für Berechnungen mit Matrizen ausgelegt, woher sich auch der Name ableitet: MATrix LABoratory.
  • Programmiert wird MATLAB in einer proprietären, plattformunabhängigen Programmiersprache, die auf der jeweiligen Maschine (Computer) interpretiert wird.
  • Kleinere Programme können als so genannte Scripts oder Funktionen zu atomaren Einheiten verpackt werden, was das Erstellen von anwendungsorientierten Werkzeugkisten (Toolboxes) erlaubt. Viele solcher Pakete sind auch kommerziell erhältlich.

12.Oktober 2006 - 2

matlab1
MATLAB
  • Durch die vereinfachte, mathematisch orientierte Syntax der MATLAB-Skriptsprache und die umfangreichen Funktionsbibliotheken für Statistik, Signalverarbeitung, Bildverarbeitung u.v.m. ist die Erstellung entsprechender Programme wesentlich einfacher möglich als z.B. unter C.
  • Es gibt Schnittstellen um C-Code einzubinden, sowie einen Übersetzer, mit dem aus einem Skript unabhängig von MATLAB lauffähiger C-Code erstellt werden kann. Damit können mathematisch aufwendige Module für C-Projekte in der MATLAB-Umgebung entwickelt und getestet werden.
  • Aktuelle MATLAB Versionen werden außerdem mit einer Java Integration ausgeliefert. Eine Java Virtual Machine wird automatisch mit installiert.
  • Java ist vollständig in die MATLAB Scriptsprache integriert.

12.Oktober 2006 - 3

athos
ATHOS
  • ATHOS ist eine Implementierung des ASAM ODS Standards der HighQSoft GmbH.
  • Der Kern des ATHOS Systems ist in der Programmiersprache C geschrieben.
  • Das ATHOS System bietet das ASAM ODS API in verschiedenen Programmiersprachen an, wobei Java, C++, C und Tcl die am häufigsten benutzten Schnittstellen sind.
  • Die CORBA Implementierung des ATHOS Server (Avalon) ist in der Programmiersprache Java geschrieben und nutzt den Kern des ATHOS Systems über das Java Native Interface (JNI).

12.Oktober 2006 - 4

integrationsszenarien
Integrationsszenarien
  • Für eine Integration von MATLAB und ATHOS bieten sich sowohl die C Schnittstelle (odsapi.dll, odsapi.so) als auch die Java Schnittstelle (odsapijava.dll, odsapijava.so) an.
  • Prinzipiell können beide Schnittstellen des ATHOS Systems ohne Änderungen verwendet werden.
  • Bei der Verwendung der C Schnittstelle wird die Fähigkeit von MATLAB genutzt, beliebige Programmbibliotheken anzusprechen.
  • Da das ASAM ODS API objektorientiert ausgelegt ist, führt jedoch die Benutzung einer nicht-objektorientierten Sprache wie C dazu, daß die Objektreferenzen und damit der Speicher selbst verwaltet werden muß.

12.Oktober 2006 - 5

matlab athos integration
MATLAB-ATHOS Integration
  • Java ist eine objektorientierte Programmiersprache, die vollständig in MATLAB integriert ist.
  • Die ATHOS-Java Integration wird vom Avalon Server als Grundlage genutzt und ist daher eine der am Besten getesteten Komponenten des ATHOS Systems.
  • Die Freigabe des verwendeten Speichers wird von der Garbage Collection der JAVA VM durchgeführt. Nicht mehr referenzierte Objekte werden dabei automatisch gelöscht. Vor diesem Löschvorgang wird ATHOS automatisch angewiesen, den Speicher dieser Objekte freizugeben.
  • Aus den oben genannten Gründen erfolgt die MATLAB-ATHOS Integration über die Java Schnittstelle.

12.Oktober 2006 - 6

getestete software versionen
Getestete Software Versionen
  • Windows XP Home Edition 2002, Service Pack 1 und 2.
  • MatLab 7.1.0.246 (R14) Service Pack 3, August 02, 2005.
  • MatLab 7.2.0.232 (R2006a), Januar 27, 2006.
  • ATHOS ab Version 3.3d, aktuelle Version 3.4e.
  • Java JDK ab 1.4.2, aktuelle Version 1.5.0_06.
  • Oracle ab 9.2, aktuelle Version 10g.
  • ASAM ODS Spezifikation ab 5.0, aktuelle Version 5.1(.1)

12.Oktober 2006 - 7

matlab programmbeispiel
MATLAB Programmbeispiel

function AsamOdsSimpleExample

import com.highqsoft.ods.*;

import com.highqsoft.ods.athos.*;

aoService = aoServiceFactory.newService ('com.highqsoft.ods.athos.AoService',

'NameServiceHost=localhost,NameServicePort=900');

aoFactory = aoService.newFactory('ATF/DEMO','DEBUGLEVEL=0');

aoSession = aoFactory.newSession('USER=test, PASSWORD=test');

applStruct = aoSession.getApplicationStructure();

disp('Application Elements:');

applElems = applStruct.getElements('*');

for n = 1:size(applElems)

disp([' ' char(applElems(n).getName())]);

end

aoSession.close();

12.Oktober 2006 - 8

technische durchf hrung
Technische Durchführung
  • MATLAB installieren.
  • ATHOS installieren.
  • Java wird automatisch mit MATLAB installiert, wahlweise kann aber auch eine andere Java Installation verwendet werden.
  • Installationsort der ATHOS Bibliotheken MATLAB bekannt geben.
  • MATLAB starten.
  • ASAM ODS API nutzen.

12.Oktober 2006 - 9

classpath setzen
Classpath setzen
  • MatLab benötigt den Zugriff auf die Athos Implementierung sowie andere Bibliotheken, die verwendet werden sollen. Dazu sind die nachfolgend aufgeführten Eintragungen am Ende der MATLAB Datei toolbox\local\classpath.txt vorzunehmen. Wichtig sind die vollständigen und korrekten Pfadnamen.
  • Eine dynamische Erweiterung der Suchpfade ist auch über die MatLab Funktion javaclasspath möglich, ist jedoch zur Laufzeit etwas langsamer.

c:\Programme\HighQSoft\MatLabDemo\jar\HQAthosJava.jar

c:\Programme\HighQSoft\MatLabDemo\jar\HQFramework.jar

c:\Programme\HighQSoft\MatLabDemo\jar\AsamCommander.jar

c:\Programme\HighQSoft\MatLabDemo\jar\HQAsamCommander.jar

c:\Programme\HighQSoft\MatLabDemo\jar\HQP2D.jar

c:\Programme\HighQSoft\MatLabDemo\jar\HQOdsx.jar

c:\Programme\HighQSoft\MatLabDemo\jar\infobus.jar

c:\Programme\HighQSoft\MatLabDemo\jar\jhall.jar

12.Oktober 2006 - 10

librarypath setzen
Librarypath setzen
  • Die folgende Zeile muss mit dem korrekten Pfadnamen am Ende der MATLAB Datei toolbox\local\librarypath.txt hinzugefügt werden, damit die MatLab-Java Integration die Athos Native Libraries findet:

c:\Programme\HighQSoft\MatLabDemo\athos\bin\win32

  • Eine dynamische Erweiterung des Pfadnamens mittels "System.loadLibrary(libname)„ unter MatLab ist nicht möglich. Diese Funktion kommt einfach zu spät. Die Java VM macht beim Start eine Kopie der Pfade und kümmert sich um spätere Änderungen dieser Property nicht mehr.

12.Oktober 2006 - 11

matlab starten
MATLAB starten
  • Die Startdatei auf der nächsten Seite zeigt, welche Umgebungsvariable gesetzt sein müssen, damit die Schnittstelle funktioniert.
  • Je nach Geschmack kann entweder diese Batchdatei an die aktuelle Installation angepaßt werden, oder die entsprechenden Umgebungsvariablen werden permanent gesetzt (Start -> Systemsteuerung -> System -> Erweitert -> Umgebungsvariable).
  • Für den Betrieb der Schnittstelle ist es belanglos, ob die Variablen als Systemvariable oder als Benutzervariable eingetragen werden.
  • Die PATH Variable muss den Pfad %ATHOS_ROOT%\bin\win32 enthalten, sonst findet die MatLab-Java Schnittstelle zwar über den Eintrag in librarypath.txt die Schnittstellen-DLL zu Athos (odsapijava.dll), nicht aber die Folgebibliotheken athos.dll, err.dll, usw. sowie sämtliche Treiber.

12.Oktober 2006 - 12

startdatei beispiel
Startdatei Beispiel

REM ***** ATHOS Varaible setzen.

set ATHOS_ROOT=C:\Programme\HighQSoft\MatLabDemo\athos

set ATHOS_INI=%ATHOS_ROOT%\etc\athos.ini

REM ***** Andere Java VM benutzen.

set MATLAB_JAVA=c:\Programme\Java\jdk1.5.0_06\jre

REM ***** Pfad auf DLLs setzen die odsapijava.dll nachlädt.

set PATH=%ATHOS_ROOT%\bin\win32;%PATH%

REM ***** MATLAB im Arbeitsverzeichnis starten.

cd c:\Programme\MATLAB\R2006a\work

MATLAB

12.Oktober 2006 - 13