Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
2
Overview What is HQLS?
We got the initial version of HQL in 2015.
Today we cover nearly the whole initial wish list.
New ideas coming up during usage.
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
3
Overview Objectives of HQL?
Provides full ODS API functionality, if possibleHas own API without definitions from ASAM ODS.Statements that can be used in an interpreter.
Advantages for application configurationFast queries for administrators by command line.Enables scripting
Transaction handlingEncapsulated queries Dialect is using the business logic of the application.
Normally the Application model includes that logic.
Abstraction of the ASAM ODS API including the base model.ASAM ODS API is not visible.
Makes code shorter, better to read, less error prone and more maintainable.
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
4
Overview Objectives of HQL?
Makes code shorter, better to read, less error prone and more maintainable.
Thank you to Marc Breitling
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
HQL provides two different interfaces.
Mix-up is possible (query by DSL / evaluate by API)
5
Overview How to use HQL?
HQL Library
DSLLanguage Oriented Programming
APIObject Oriented Approach
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
HQL DSL as CLI (command line interface).
6
Overview How to use HQL?
HQL Library
ASAM ODS Server
Command Prompt
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
HQL in an application,either DSL or API.
3rd party Application
7
Overview How to use HQL?
HQL Library
ASAM ODS Server
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
HQL as MATLAB Toolbox,either DSL or API
MATLAB
MATLAB Toolbox
8
Overview How to use HQL?
HQL Library
ASAM ODS Server
Enriched by JAVA codeto solve data type conversion problems.
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
HQL DSL as a WEB service.
Client
WEB Service
9
Overview How to use HQL?
HQL Library
ASAM ODS Server
Client
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
HQL as OSGi service,either DSL or API.
OSGi Application
OSGi Query Service
10
Overview How to use HQL?
HQL Library
ASAM ODS Server
OSGi Service
OSGi Service
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
Provide ASAM ODS status information to sysadmin.
Execute just a single HQL command from shell script and catch/evaluate the output.
e.g.: Send message or write log about the total number of newly imported measurements.
11
Single Command Option SysAdmin Support
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
Available at command line (dangerous).
Native data types can be retrieved or converted.
Same column with different unit in one call.
Example
hqlvm Speed[km], Speed[miles] from aosubmatrix where id = 4711
12
HQLVM Retrieving data from ValueMatrix
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
Useful for UI applications only.Retrieves all possible navigation paths from one element to another.The first and currently only command providing multiple results.
Example
hqlpath * from aomeasurement
hqlpath aename, arname from aomeasurement to aotest
13
HQLPathSupport for generic navigators
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
Dumps just the model to the ATFx file.To dump instances the business logic of the model is necessary.
Can be used to exchange the model for discussions.
Example
hqlatfx [FILENAME=model.atfx]
14
HQLATFxDump the model to ATFx file
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
openMDM has dynamic application model.E.g.: openMDM is able to define new elements of type of UnitUnderTest
The new elements can be liked to measurement by the base relation AoUnitUnderTest
Using ODS-API it is a hard work to list the unit under test parts below a unit under test.
Example:
hql AoUnitUnderTestPart.Id from Vehicle Where Id=19161 join Vehicle toouter
AoUnitUnderTestPart via br.children
!!! The total number of columns depends on the number of parts !!!
15
Join by base relationsopenMDM Model support
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
HQL can be used by session that was created somewhere else in the application.
In case the connection is not established, HQLFactory helps to connect the server.By properties, like user, password, name service specification, ….
By IOR string of the AoSession object.
16
HQLFactory class Connection support
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
There is no order rule for the orderby and groupby clause.
17
Order of groupby and orderby clauseSyntax enhancement
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
JAVA VM stops if there are no none-daemon thread are running, even if a System.exit was not called.
A none-daemon thread was started in HQL, that prevented the exit.
18
Threading issueLeaving JVM
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
Effort for user based licensing is high and therefore not provided.
Licensing every use-case (HQL CLI, HQL WS, MATLAB HQL, …) is not feasible.
Providing licenses per ASAM ODS service for any user independently on the use-case.
One additional license is necessary to connect to servers other than Avalon.
19
Licensing Simplification
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
Control ASAM ODS access rightsOpen question: Should this be done by a exclusive tool for admins only?
Connection to the Avalon Control Service
Download / Upload external files to ASAM ODS serverHandling of DS_EXTERNAL_REFERENCE is undefined
20
Missing Features
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
HQL currently uses CORBA API to retrieve the information from server
We expect that the ODS 6.0 API can answer the questions generated by HQL
In future we want to support ODS 5.0 (CORBA) as well as ODS 6.0 (Http(s))
If ODS 6.0 is finalized, we can adapt our implementation to support new version
21
ODS 6.0 and its Effects on HQL
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
HQL is a proven query language to be utilized for simple ODS system integration
ODS may easily be integrated into 3rd party tools, web services or PLM systems
HQL simplifies ODS access / code and thus development time
We continuouslyadd new features to the pool of commands
simplify utilization of missing and complex ODS API access / try to circumvent problems caused by missing ODS features
will support ODS 6.0
add the missing features
We will fully integrate HQL into the Avalon Suite 2017
22
Conclusion
HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016
23
We hope that the presentation helps you to solve existing or upcoming ASAM ODS issues!
Thank you
HighQSoft GmbHSchloßborner Weg 6b61479 GlashüttenGermany
Andreas Hofmann+49 6174 [email protected]