Franca IDL
Franca Interface Definition Language (Franca IDL) is a formally defined, text-based interface description language. It is part of the Franca framework, which is a framework for definition and transformation of software interfaces. Franca applies model transformation techniques to interoperate with various interface description languages (e.g., D-Bus Introspection language, Apache Thrift IDL, Fibex Services).
Stable release | 0.13.0
/ 13 April 2018 |
---|---|
Repository | |
Written in | Java |
Type | Interface description language framework |
License | Eclipse Public License 1.0 |
Website | github |
Franca is a powerful framework for definition and transformation of software interfaces. It is used for integrating software components from different suppliers, which are built based on various runtime frameworks, platforms and IPC mechanisms. The core of it is Franca IDL(Interface Definition Language), which is a textual language for specification of APIs.
History
The initial version of Franca was developed by the GENIVI consortium in 2011 being a common interface description language used for the standardization of an In-Vehicle Infotainment (IVI) platform. The first public version of Franca was released in March 2012 under the Eclipse Public License, version 1.0. In 2013, Franca has been proposed as an official Eclipse foundation project.[1] Franca is mainly developed by the German company Itemis.[2]
Features
Franca IDL provides a range of features for the specification of software interfaces:
- declaration of interface elements: attributes, methods, broadcasts
- major/minor versioning scheme
- specification of the dynamic behaviour of interfaces based on finite-state machines (Protocol State Machines, short: PSM)
- storage of meta-information (e.g., author, description, links) using structured comments
- user-defined data types (i.e., array, enumeration, structure, union, map, type alias)
- inheritance for interfaces, enumerations and structures
Architecture
In addition to the text-based IDL for the specification of interfaces, Franca provides an HTML documentation generator.
Franca is implemented based on the Eclipse (software) tool platform. For the definition of the actual Franca IDL, the Xtext framework is used. For the user of Franca, this offers a list of benefits for the activity of reviewing and specifying software interfaces.
See also
External links
- Official website (at Eclipse Labs)