This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
arcs2:xml_formats_used_in_arcs [2013/09/19 17:42]
arcs2:xml_formats_used_in_arcs [2013/09/19 17:43] (current)
Line 1: Line 1:
 +====== XML formats used in ARCS ======
 +XML (eXtended Markup Language) is widely used in ARCS. The framework introduces several markup hierarchies to describe applications,​ state machines, composite components and library components.
 +===== File descriptions =====
 +==== Applications ====
 +{{ :​images:​application.dot.png?​176|}}
 +Application descriptions are XML files that are used to detail the layout of applications and component communications. They are parsed by the //​[[arcs2:​framework_tool_collection#​arcsengine|arcsengine]]//​ tool in order to execute them, that is to say load libraries and instanciate components at runtime. They are composed of the following markups:
 +  * //​application//​ (required, unique) with the optional attribute //mode//. It takes several values: //base//, //event//, //thread//, //​threadevent//​ and //gui//;
 +    * //​[[arcs2:​XML formats used in ARCS#​Context|context]]//​ (required, unique) is the part describing libraries to load, components and constants;
 +    * //​processes//​ (required, unique) decomposes an application inside a set of processes;
 +      * //process// (required) with the required attribute //​controller//​ that should be the name of a component described as a [[arcs2:XML formats used in ARCS#​Statemachine|statemachine]];​
 +        * //​[[arcs2:​XML formats used in ARCS#​Sheet|sheet]]//​ (required) with the required attribute //id// that tells the name of the sheet. A sheet corresponds to an operational configuration of the process. ​
 +The //context// and //sheet// markups are also enclosing hierarchies that are described below. ​
 +==== Libraries ====
 +{{ :​images:​library.dot.png?​435|}}
 +Library descriptions are enclosed inside a file. They are used with the tool //​[[arcs2:​framework_tool_collection#​arcslibmaker|arcslibmaker]]//​.
 +===== Special components =====
 +==== Composite components ====
 +{{ :​images:​composite.dot.png |}}
 +==== Statemachine ====
 +{{ :​images:​statemachine.dot.png |}}
 +===== XML parts =====
 +==== Context ====
 +{{ :​images:​context.dot.png |}}
 +==== Sheet ====
 +{{ :​images:​sheet.dot.png |}}