IEEE STANDARD 1855-2016, IEEE Standard for Fuzzy Markup language (FML), is a technical standard developed by the IEEE Standards Association.[1] FML allows modelling a fuzzy logic system in a human-readable and hardware independent way. FML is based on eXtensible Markup Language (XML). The designers of fuzzy systems with FML have a unified and high-level methodology for describing interoperable fuzzy systems. IEEE STANDARD 1855-2016 uses the W3C XML Schema definition language to define the syntax and semantics of the FML programs.
Prior to the introduction of FML, fuzzy logic practitioners could exchange information about their fuzzy algorithms by adding to their software functions the ability to read, correctly parse, and store the results of their work in a form compatible with the Fuzzy Control Language (FCL) described and specified by Part 7 of IEC 61131.[2] [3]
FML lets people code fuzzy systems through a collection of correlated semantic tags that model the components of a classical fuzzy controller—such as knowledge base, rule base, fuzzy variables and fuzzy rules. Therefore, the FML tags used to build a fuzzy controller represent the set of lexemes used to create fuzzy expressions. To design a well-formed XML-based language, an a XML schema describes an FML context-free grammar that defines name, type, and attributes that characterized each XML element. However, since an FML program represents only a static view of a fuzzy logic controller, the so-called eXtensible Stylesheet Language Translator (XSLT) changes this static view to a computable version. Indeed, XSLTs modules can convert the FML-based fuzzy controller in a general purpose computer language using an XSL file containing the translation description. At this level, the control is executable for the hardware. In short, FML is essentially composed by three layers:
IEEE 1855 was the first standard sponsored by the IEEE Computational Intelligence Society.