Jump to content

Franca IDL

From Alfawiki
Adapted from the English Wikipedia article Franca IDL, available under CC BY-SA 4.0Updated 9 August 2025
Franca
Company typeSoftware project
IndustrySoftware development, Middleware
Founded2011
FounderGENIVI Alliance (currently COVESA)
Headquarters
Germany
OwnerItemis
Websiteprojects.eclipse.org/projects/tools.franca

Franca Interface Definition Language (Franca IDL) is a rigorously specified, text-oriented interface description language that forms part of the Franca ecosystem, enabling the definition and conversion of software interfaces. Franca employs model transformation methods to achieve compatibility with several interface description languages, including D-Bus Introspection language, Apache Thrift IDL, and Fibex Services.

The primary goal of Franca is to support the integration of software modules from various vendors across different runtime environments, platforms, and IPC technologies. At its heart lies the Franca IDL, a textual API specification language.

History

Originally created by the GENIVI Alliance (currently COVESA) in 2011, Franca was developed to unify interface standards for In-Vehicle Infotainment (IVI) systems. The initial public release occurred in March 2012 under the Eclipse Public License 1.0. By 2013, Franca was submitted for adoption as an official project within the Eclipse Foundation. The ongoing maintenance and advancement of Franca are managed by the German company Itemis.

Features

Key capabilities of Franca IDL include:

  • Specification of interface components such as attributes, methods, and broadcasts
  • Support for major and minor version control
  • Modeling dynamic interface states with finite-state machines (Protocol State Machines, PSM)
  • Inclusion of metadata (e.g., author details, descriptions, references) via structured annotations
  • Customizable data types, including arrays, enumerations, structures, unions, maps, and type aliases
  • Support for inheritance across interfaces, enumerations, and structures

Architecture

In addition to its textual IDL format, Franca provides an HTML generator for producing documentation.

Implementation variants

Franca is implemented on two primary platforms:

Eclipse implementation

This version is built upon the Eclipse (software) platform using the Xtext framework to define the IDL. It improves the specification and review workflows for software interfaces.

JetBrains MPS implementation

Franca is also realized within the JetBrains MPS language workbench based on the IDEA Platform. This enables seamless integration with domain-specific languages (DSLs) in the JetBrains MPS environment. Furthermore, Franca for MPS incorporates KernelF, facilitating enhanced interoperability with KernelF-based DSLs.

See also

References


External links

  • (at Eclipse Labs)

Resources