23
What’s new ? HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016 1 Andreas Hofmann [email protected]

What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

What’s new ?

HighQSoft GmbH | www.highqsoft.de | UGM 11.05.2016

1

Andreas [email protected]

Page 2: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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.

Page 3: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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.

Page 4: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 5: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 6: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 7: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 8: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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.

Page 9: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 10: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 11: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 12: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 13: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 14: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 15: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 16: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 17: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 18: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 19: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 20: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 21: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 22: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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

Page 23: What’s new - HighQSoft€¦ · HighQSoft GmbH | | 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

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]