An Internal Domain-Specific Language for Constructing OPC UA Queries and Event Filters

  • Thomas Goldschmidt
  • Wolfgang Mahnke
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7349)


The OPC Unified Architecture (OPC UA) is becoming more and more important for industrial automation products. The development of OPC UA components is currently supported by the use of SDKs for OPC UA. However, these SDKs provide only low level support for creating OPC UA based applications. This leads to higher development efforts. The domain-specific metamodel defined by OPC UA defines serves as a good basis for creating domain-specific languages on a higher abstraction level. This has the potential of reducing development efforts. In this paper, we focus on the event filter and query part of OPC UA. Current SDKs only provide interfaces for constructing an object tree for these queries and event filters programmatically. Creating and maintaining these object structures is tedious and error prone. Therefore, we introduce an internal DSL approach for constructing OPC UA queries and event filters based on the OPC UA information model and the Language Integrated Queries (LINQ) feature available in .Net.


Information Model Object Type Address Space Abstract Syntax Event Filter 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    OPC Foundation: OPC UA Specification: Part 3 - Address Space Model (2010),
  2. 2.
    CommServer: OPC UA Address Space Model Designer (2011),
  3. 3.
    Unified Automation GmbH: UaModeler (2011),
  4. 4.
    OPC Foundation: OPC UA SDK 1.01 (2011),
  5. 5.
    Goldschmidt, T., Mahnke, W.: Evaluating domain-specific languages for the development of OPC UA based applications. In: 7th Vienna International Conference on Mathematical Modelling (MATHMOD)Special Session Modelling and Model Transformation in Automation Technologies (2012)Google Scholar
  6. 6.
    Fowler, M.: Domain-Specific Languages. Addison-Wesley Professional (2010)Google Scholar
  7. 7.
    Marguerie, F., Eichert, S., Wooley, J.: LINQ in action. Manning Publications Co., Greenwich (2008)Google Scholar
  8. 8.
    OPC Foundation: OPC UA Specification: Part 4 - Services (2010),
  9. 9.
    Torgersen, M.: Querying in C#: how language integrated query (LINQ) works. In: Companion to the 22nd ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications Companion, OOPSLA 2007, pp. 852–853. ACM, New York (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Thomas Goldschmidt
    • 1
  • Wolfgang Mahnke
    • 1
  1. 1.ABB Corporate Research GermanyIndustrial Software Systems ProgramGermany

Personalised recommendations