Terms

Commons

Docutils

Docutils is an open-source text processing system for processing plaintext documentation into useful formats, such as HTML, LaTeX, man-pages, open-document or XML. It includes reStructuredText, the easy to read, easy to use, what-you-see-is-what-you-get plaintext markup language.

LaTeX

LaTeX is a document preparation system for high-quality typesetting. It is most often used for medium-to-large technical or scientific documents but it can be used for almost any form of publishing. LaTeX uses the TeX typesetting program for formatting its output, and is itself written in the TeX macro language.

Pybtex

Pybtex is a BibTeX-compatible bibliography processor written in Python. Pybtex aims to be 100% compatible with BibTeX. It accepts the same command line options, fully supports BibTeX’s .bst styles and produces byte-identical output. Additionally, Pybtex is Unicode aware and Pybtex supports bibliography formats other than BibTeX: BibTeXML and YAML.

PyEnchant

PyEnchant is a Python binding for Enchant.

Pygments

Pygments is a generic syntax highlighter written in Python which supports a wide range of over 500 languages with related lexers and other text formats and is ready for new languages and formats added easily.

ReportLab

ReportLab Toolkit is an Open Source Python library for generating PDFs and graphics.

reStructuredText

reStructuredText (RST, ReST, or reST) is a file format for textual data used primarily in the Python programming language community for technical documentation. It is part of the Docutils project of the Python Doc-SIG (Documentation Special Interest Group).

Sphinx

Sphinx is a documentation generator written and used by the Python community. It is written in Python, and also used in other environments. Sphinx converts reStructuredText files into HTML websites and other formats including PDF, EPub, Texinfo and man.

reStructuredText is extensible, and Sphinx exploits its extensible nature through a number of extensions–for auto generating documentation from source code, writing mathematical notation or highlighting source code, etc.

Operating Systems

Linux
GNU/Linux

Linux (trademarked as Linux™, handled by the LMI) is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged in a Linux distribution. Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the FSF uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

POSIX

POSIX is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines the API, along with command line shells and utility interfaces, for software compatibility with variants of Unix and other operating systems. POSIX has been standardized by the Austin Group since 1997 (SUS), and later since 2001 by the IEEE Computer Society (IEEE Std 1003.1). Before 1997, POSIX comprised several standards.

See also

  • English Wikipedia: POSIX

  • POSIX.1-2017 (POSIX.1-2008 with Technical Corrigenda 1 and 2): standard ratified in 2017 as IEEE Std 1003.1-2017

  • POSIX.1-2008 (Base Specifications, Issue 7): standard ratified in 2008 as IEEE Std 1003.1-2008

  • POSIX.1-2001 (Single UNIX Specification version 3): standard ratified in 2001 as IEEE Std 1003.1-2001

  • POSIX.1c (Threads Extensions): initially standardized in 1995 as IEEE Std 1003.1c-1995

  • POSIX.1b (Real-Time Extensions): initially standardized in 1993 as IEEE Std 1003.1b-1993

  • POSIX.2 (Shell and Utilities): initially standardized in 1992 as IEEE Std 1003.2-1992

  • POSIX.1 (Core Services): initially standardized in 1988 as IEEE Std 1003.1-1988

Unix

Unix (trademarked as UNIX™) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, development starting in the 1970s at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others. The origins of Unix date back to the mid-1960s when the MIT, Bell Labs and GE were developing Multics, a time-sharing operating system for a 36-bit mainframe computer. In the late 1980s, an open operating system standardization effort now known as POSIX provided a common baseline for all operating systems; IEEE based POSIX around the common structure of the major competing variants of the Unix system, publishing the first POSIX standard in 1988. In the early 1990s, a separate but very similar effort was started by an industry consortium, the COSE initiative, which eventually became the SUS administered by The Open Group. Starting in 1998, The Open Group and IEEE started the Austin Group, to provide a common definition of POSIX and the SUS, which, by 2008, had become the Open Group Base Specification.

Programming Languages

C

C is a general-purpose, imperative procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system. It was designed to be compiled to provide low-level access to memory and language constructs that map efficiently to machine instructions, all with minimal runtime support. C has been standardized by the ANSI X3J11 since 1989 (ANSI C) and by the ISO/IEC JTC1/SC22/WG14 (ISO C).

See also

C++

C++ is a general-purpose programming language as an extension of the C programming language, or “C with Classes”. Modern C++ implementations now has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation. C++ is standardized by the ISO/IEC JTC1/SC22/WG14 since 1998.

See also

ES
ECMAScript

ES is a general-purpose programming language, standardized by Ecma International since 1997 according to the document ECMA-262. It is a JavaScript standard meant to ensure the interoperability of Web pages across different Web browsers. ES is standardized by the ISO/IEC JTC1/SC22 since 1998.

See also

JS
JavaScript

JS is a programming language that conforms to the ECMAScript specification. JavaScript is high-level, often just-in-time compiled, and multi-paradigm. It has curly-bracket syntax, dynamic typing, prototype-based object-orientation, and first-class functions.

Alongside HTML and CSS, JavaScript is one of the core technologies of the World Wide Web. JavaScript enables interactive web pages and is an essential part of web applications. The vast majority of websites use it for client-side page behavior, and all major web browsers have a dedicated JavaScript engine to execute it.

Python

Python is an interpreted, high-level and general-purpose programming language. Python interpreters are available for many operating systems. A global community of programmers develops and maintains CPython, a free and open-source reference implementation. A non-profit organization, the Python Software Foundation, manages and directs resources for Python and CPython development.

CPython is the reference implementation of Python. It is written in C, meeting the C89 standard with several select C99 features. Python’s development is conducted largely through the PEP process, the primary mechanism for proposing major new features, collecting community input on issues and documenting Python design decisions. Python coding style is covered in PEP 8.

Technologies

Badges

Web buttons, badges or stickers are small images in some WWW pages which are typically used to promote programs that were used to create or host the site. They may also be used to promote compliance with web standards such as passing W3C HTML validation or to comply with an application’s terms of service or present the status of any 3rd party service like CI/CD pipelines or review processes.

BibTeX

BibTeX is a widely used bibliography management tool in LaTeX, with BibTeX the bibliography entries are kept in a separate file and then imported into the main document.

CircuiTikZ

CircuiTikZ is a LaTeX package which provides a set of macros for naturally typesetting electrical and electronic networks. Designed as a tool that is easy to use by native to a lean LaTeX syntax it has therefore been based on the very impressive PGF/TikZ package. CircuiTikZ was initiated as tool for creating exercises and exams. The use of CircuiTikZ is, of course, not limited to academic teaching. The package gets widely used by engineers for typesetting electronic circuits for articles and publications all over the world.

CORBA
MOF

MOF is an OMG standard for model-driven engineering. Its purpose is to provide a type system for entities in the CORBA architecture and a set of interfaces through which those types can be created and manipulated.

See also

  • OCL and QVT

  • English Wikipedia: Meta-Object Facility

  • MOF 2.5.1: initially standardized in 2016 OMG Meta Object Facility Core Specification 2.5.1 2016/10/01

  • MOF 2.5: initially standardized in 2015 OMG Meta Object Facility Core Specification 2.5 2015/06/05

  • ISO 19508:2014: MOF 2.4.2 standard formally published in 2014 ISO/IEC 19508:2014(E) 2014/04/05

  • MOF 2.4.2: initially standardized in 2014 OMG Meta Object Facility Core Specification 2.4.2 2014/04/03

  • MOF 2.4.1: initially standardized in 2013 OMG Meta Object Facility Core Specification 2.4.1 2013/06/01

  • MOF 2.0: initially standardized in 2006 Meta Object Facility Core Specification 2.0 2006/01/01

  • ISO 19502:2005: MOF 1.4.1 standard formally published in 2005 ISO/IEC 19502:2005(E) 2005/05/05

  • MOF 1.4: initially standardized in 2002 Meta Object Facility Specification 1.4 2002/04/03

CSS

CSS is a style sheet language used for describing the presentation of a document written in a markup language like HTML. CSS is a cornerstone technology of the WWW, alongside HTML and JavaScript. In addition to HTML, other markup languages support the use of CSS including plain XML and SVG. The CSS specifications is standardized by the W3C/TR/CSS since 1996.

See also

Enchant

Enchant is a free software project developed as part of the AbiWord word processor with the aim of unifying access to the various existing spell-checker software.

ePub
EPUB

EPUB is an e-book file format that uses the .epub file extension. The term is short for electronic publication and is sometimes styled ePub. EPUB is a technical standard published by the IDPF and became an official standard in 2007, superseding the older OEB standard. EPUB is also standardized by the ISO/IEC JTC1/SC34 since 2014.

See also

HTML

HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as CSS and scripting languages such as JavaScript. The HTML specifications is standardized by the W3C/TR/HTML since 1997 and ISO/IEC JTC1/SC34 since 1998.

See also

OCL

OCL is a declarative language describing rules applying to UML models and is now part of the UML standard but as separate document. Initially, OCL was merely a formal specification language extension for UML. OCL may now be used with any MOF meta-model, including UML, and is a precise text language that provides constraint and object query expressions on any such kind of meta-model that cannot otherwise be expressed by diagrammatic notation. OCL is a key component of the new OMG standard recommendation for transforming models, the QVT specification.

See also

PDF

PDF is a file format developed by Adobe in 1993 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. Based on the PS language, each PDF file encapsulates a complete description of a fixed-layout flat document, including the text, fonts, vector graphics, raster images and other information needed to display it. PDF is standardized by the ISO TC171/SC2/WG8 since 2008, and no longer requires any royalties for its implementation.

ISO standardized subsets of PDF:

See also

PGF
TikZ
PGF/TikZ

PGF/TikZ is a pair of languages for producing vector graphics (for example: technical illustrations and drawings) from a geometric/algebraic description, with standard features including the drawing of points, lines, arrows, paths, circles, ellipses and polygons. PGF, is a lower-level language, while TikZ, which is written in TeX, is a set of higher-level macros that use PGF.

PNG

PNG is a raster-graphics file format that supports lossless data compression. PNG was developed as an improved, non-patented replacement for GIF with support for interactivity and animation. The PNG specification is standardized by the W3C/TR/PNG since 1996 and ISO/IEC JTC1/SC24/WG7 since 2003 as an open standard.

See also

QVT

QVT is a standard set of languages for model transformation defined by the OMG.

See also

  • OCL and MOF

  • English Wikipedia: QVT

  • QVT 1.3: standard ratified in 2016 MOF 2.0 Query/View/Transformation Specification 1.3 2016/06/03

  • QVT 1.2: standard ratified in 2015 MOF 2.0 Query/View/Transformation Specification 1.2 2015/02/01

  • QVT 1.1: standard ratified in 2011 MOF 2.0 Query/View/Transformation Specification 1.1 2011/01/01

  • QVT 1.0: initially standardized in 2008 MOF 2.0 Query/View/Transformation Specification 1.0 2008/04/03

SVG

SVG is an XML-based vector image format for two-dimensional graphics with support for interactivity and animation. The SVG specification is standardized by the W3C/TR/SVG since 1999 as an open standard.

SVG drawings can be dynamic and interactive. Time-based modifications to the elements can be described in SMIL, or can be programmed in a scripting language (e.g. ECMAScript or JavaScript). The W3C explicitly recommends SMIL as the standard for animation in SVG.

See also

SysML
BPMN
UML

UML is a general-purpose, developmental, modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. In 1997, UML was adopted as a standard by the OMG, and has been managed by this organization ever since. In 2005, UML was also published by ISO as an approved standard.

In 2007 with the release of UML 2.1.2, two new significant specifications for certain technology areas have split off. These are: SysML, BPMN.

See also

  • OCL, MOF and QVT

  • English Wikipedia: Unified Modeling Language

  • UML 2.5.1: standard adopted from 2.5 in 2017 OMG Unified Modeling Language 2.5.1 2017/12/05

  • UML 2.5: standard released in 2012 and ratified in 2015 OMG Unified Modeling Language 2.5 2015/03/01

  • ISO 19505-1:2012 and ISO 19505-2:2012: UML 2.4.1 standard formally published in 2012 ISO/IEC 19505-1:2012(E) 2012/05/06 and ISO/IEC 19505-2:2012(E) 2012/05/07

  • UML 2.4.1 and UMLDI 1.0: standard ratified in 2011 OMG UML Superstructure Specification 2.4.1 2011/08/06, OMG UML Infrastructure Specification 2.4.1 2011/08/05 and OMG UML Diagram Interchange 1.0 2006/04/04

  • UML 2.4 and UMLDI 1.0: standard ratified in 2011 OMG UML Superstructure Specification 2.4 2010/11/14, OMG UML Infrastructure Specification 2.4 2010/11/16 and OMG UML Diagram Interchange 1.0 2006/04/04

  • UML 2.3 and UMLDI 1.0: standard ratified in 2010 OMG UML Superstructure Specification 2.3 2010/05/05, OMG UML Infrastructure Specification 2.3 2010/05/03 and OMG UML Diagram Interchange 1.0 2006/04/04

  • UML 2.2 and UMLDI 1.0: standard ratified in 2009 OMG UML Superstructure Specification 2.2 2009/02/02, OMG UML Infrastructure Specification 2.2 2009/02/04 and OMG UML Diagram Interchange 1.0 2006/04/04

  • UML 2.1.2 and UMLDI 1.0: standard ratified in 2007 OMG UML Superstructure Specification 2.1.2 2007/11/02, OMG UML Infrastructure Specification 2.1.2 2007/11/04 and OMG UML Diagram Interchange 1.0 2006/04/04

  • UML 2.1.1 and UMLDI 1.0: standard ratified in 2007 OMG UML Superstructure Specification 2.1.1 2007/02/05, OMG UML Infrastructure Specification 2.1.1 2007/02/06 and OMG UML Diagram Interchange 1.0 2006/04/04

  • UML 2.0: standard ratified in 2005 OMG UML Superstructure Specification 2.0 2005/07/04 and OMG UML Infrastructure Specification 2.0 2005/07/05

  • ISO 19501:2005: UML 1.4.2 standard formally published in 2005 ISO/IEC 19501:2005(E) 2005/04/01

  • UML 1.5: standard ratified in 2003 OMG Unified Modeling Language Specification 1.5 2003/03/01

  • UML 1.4: standard ratified in 2001 OMG Unified Modeling Language Specification 1.4 2001/09/07

  • UML 1.3: standard ratified in 2000 OMG Unified Modeling Language Specification 1.3 2000/03/01

  • UML 1.2: standard ratified in 1999

  • UML 1.1: initially standardized in 1997

TeX

TeX is a computer language designed for use in typesetting system; in particular, for typesetting math and other technical material. It has been noted as one of the most sophisticated digital typographical systems and is also used for many other typesetting tasks, especially in the form of LaTeX, ConTeXt, and other macro packages.

TikZ-Timing

TikZ-Timing is a LaTeX package which provides macros and an environment to generate timing diagrams (digital waveforms). The TikZ package is used to produce the graphics.

TikZ-UML

TikZ-UML is a LaTeX package with a set of specialized commands and environments in front of the wide range of possibilities given by the PGF/TikZ library to define a set of specific UML diagrams: class diagrams, use case diagrams, state-machine diagrams, sequence diagrams and component diagrams.

XML

XML is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The design of XML focuses on documents, the language is widely used for the representation of arbitrary data structures. Several schema systems exist to aid in the definition of XML-based languages. The XML specification is standardized by the W3C/TR/XML since 1998 as an open standard.

See also