This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
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
editThe initial version of Franca was developed by the GENIVI Alliance, now called COVESA (Connected Vehicle Systems Alliance), 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
editFranca 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
editIn 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
editReferences
editExternal links
edit- Official website (at Eclipse Labs)
Resources
edit- Klaus Birken. "Franca – Defining and Transforming Interfaces". Archived from the original on 2018-02-12. Retrieved 2018-02-12.