#
# Copyright (C) 1999-2022. Christian Heller.
#
# This file records the changes that are made to cybop.
#
# The format of this file is quite strict. Here are some tips for ChangeLog writing:
# - make one entry per person
# - group logical changes together
# - separate logically distinct changes (change sets) by a single blank line
# - entries should be brief
# - an entry should not explain why a change was made, but rather what the change was
#   (the explanation of why belongs in the source code itself)
#
# Cybernetics Oriented Programming (CYBOP) <http://www.cybop.org/>
# CYBOP Developers <cybop-developers@nongnu.org>
#
# @version CYBOP 0.23.0 2022-09-04
# @author Christian Heller <christian.heller@cybop.org>
#

2022-09-04  Christian Heller  <christian.heller@cybop.org>

        * Release CYBOP 0.23.0

2022-09-02  Christian Heller  <christian.heller@cybop.org>

        * Fix bug in file "item_allocator.c" where ITEM_REFERENCE_COUNTER did not get incremented in case of a null value data array
        * Add more error handling to files "array_allocator.c", "item_allocator.c", "part_allocator.c" in order to avoid memory leaks caused by zero- or negative size allocation
        * Fix thereby bugs reported by valgrind as "Invalid write of size 8" and "Use of uninitialised value of size 8"
        * Delete directory "tools/cybol-editor/" since another tool "cybole" is developed by Enrico Gallus externally

2022-09-02  Enrico Gallus  <enrico.gallus@gmail.com>

        * Add model number constant with suffix "_COUNT" to unicode constants during generation by python script, since some constants consist of more than just one character
        * Use unicode number constant in file "html_character_reference_deserialiser.c", if known by python script

2022-09-01  Christian Heller  <christian.heller@cybop.org>

        * Adapt language properties (constraints) in affected cybol applications

2022-08-31  Christian Heller  <christian.heller@cybop.org>

        * Retrieve normalisation language property (constraint) in xml deserialiser
        * Retrieve medium language property (constraint) in gui action deserialiser
        * Retrieve indentation language property (constraint) in json serialiser
        * Retrieve indentation language property (constraint) in html serialiser
        * Retrieve newline language property (constraint) in cli serialiser
        * Retrieve clear and newline language properties (constraints) in tui serialiser

2022-08-30  Christian Heller  <christian.heller@cybop.org>

        * Adapt knowledge deserialiser so that path fragments following a reference enclosed in {} get processed
        * Test with cybol application "knowledge_tree/cybol-path_2/"
        * Make table generation work in cybol application "serialisation/csv/"
        * Use language constraint properties in directories constant/, applicator/communicate/, applicator/represent/, executor/communicator/, executor/representer/
        * Clean up communication and serialisation functions by removing superfluous parametres

2022-08-29  Christian Heller  <christian.heller@cybop.org>

        * Delete superfluous comments in file "unicode_character_code_model.c" which were wrongly "no-break space" everywhere

2022-08-28  Christian Heller  <christian.heller@cybop.org>

        * Adapt all cybol applications to new knowledge path syntax by replacing * with {} for path references
        * Make red bar be shown again in cybol application "user_interface/tui_control/" (lost due to reference path changes)

2022-08-25  Christian Heller  <christian.heller@cybop.org>

        * Adapt api generator, so that constraints are considered similar to but separate from properties
        * Use correct heading for constraints section in cybol api generator

2022-08-25  Enrico Gallus  <enrico.gallus@gmail.com>

        * Fix spacing in html_character_reference_deserialiser.c
        * Re-Generate html entity files after adjustment of redundant variable names

2022-08-24  Christian Heller  <christian.heller@cybop.org>

        * Use css class instead of direct style in file "tools/api-generator/wui/part/description.cybol"
        * Adapt api generator so that the properties section gets generated only if properties are actually available
        * Avoid having to reset stack variables by defining them inside the nested cybol operations in api-generator logic

2022-08-23  Enrico Gallus  <enrico.gallus@gmail.com>

        * Autogenerate content of unicode_character_code_model.c/html_character_entity_reference_model.c/html_character_reference_deserialiser.c
        * Use css style "white-space: pre-line" line break in description of file "tools/api-generator/wui/part/description.cybol"

2022-08-23  Christian Heller  <christian.heller@cybop.org>

        * Move comments with parametre lists from directory "src/applicator/" to "src/constant/format/cybol/logic/"
        * Delete directory "tools/api-generator/spec_backup_delete_later/state/" from svn, since it has been replaced

2022-08-22  Christian Heller  <christian.heller@cybop.org>

        * Complete updating cybol api specification in javadoc comment blocks of directory "constant/format/cybol/state/"

2022-08-19  Christian Heller  <christian.heller@cybop.org>

        * Update cybol api specification in javadoc comment blocks of directory "constant/format/cybol/state/"

2022-08-17  Christian Heller  <christian.heller@cybop.org>

        * Extend knowledge path syntax by replacing * with {} for references
        * Adapt cybol applications in directory "knowledge_tree/"

2022-08-14  Christian Heller  <christian.heller@cybop.org>

        * Enable csv deserialiser in file "deserialiser.c"
        * Add warning log messages to cybol deserialiser files
        * Debug memory error caused by wrong type in row part allocation of csv deserialiser

2022-08-13  Christian Heller  <christian.heller@cybop.org>

        * Add cybol application "serialisation/textline_list/"
        * Count line index instead of character index in textline list deserialiser
        * Simplify csv deserialiser using textline list deserialiser

2022-08-12  Christian Heller  <christian.heller@cybop.org>

        * Continue csv deserialiser
        * Refactor file "index_joined_string_deserialiser.c" with file "list_joined_string_deserialiser.c"
        * Add textline list deserialiser

2022-08-11  Christian Heller  <christian.heller@cybop.org>

        * Delete format "modify/split" and related code since it has been replaced by the joined string deserialiser
        * Adapt cybol application "serialisation/csv/"
        * Restructure csv deserialiser
        * Add file "newline_selector.c", to be used by csv deserialiser
        * Add file "csv_cyboi_name.c" with csv constant "header"
        * Let csv deserialiser use "joined_string" deserialiser, with each record (row) being a joined string

2022-08-09  Christian Heller  <christian.heller@cybop.org>

        * Debug error in character reference deserialiser by using file "primitive_value_integer_cybol_deserialiser.c" instead of "value_integer_cybol_deserialiser.c"
        * Test decoding of numeric and entity character references using cybol application "serialisation/xml/"
        * Consider small and capital writing of "&#x" in file "begin_character_reference_selector.c"
        * Specify quotation mark as xml character reference being the constraint "quotation" to property "language", in cybol application "serialisation/joined_string/"
        * Make escaping of double characters work in joined string deserialiser

2022-08-06  Christian Heller  <christian.heller@cybop.org>

        * Adapt file "string_xml_deserialiser.c" so that numeric and entity character references get deserialised
        * Adapt file "attribute_xml_deserialiser.c" to use file "string_xml_deserialiser.c" for attribute value
        * Cleanup and extend character reference deserialiser to append standard characters to the destination item

2022-08-05  Christian Heller  <christian.heller@cybop.org>

        * Create new cybol application "serialisation/joined_string/"
        * Rename sample file directory "exammples" to "test" for all cybol applications in directory "serialisation/"
        * Test joined string deserialiser using cybol application "serialisation/joined_string/"

2022-08-04  Christian Heller  <christian.heller@cybop.org>

        * Optimise joined string deserialiser and selector
        * Check for quotation always and process as simple value by default
        * Set flag if quotation begin sequence gets detected, so that end selector can escape double characters and detect the end

2022-08-02  Christian Heller  <christian.heller@cybop.org>

        * Adapt cybol application "serialisation/csv/"

2022-08-01  Christian Heller  <christian.heller@cybop.org>

        * Continue joined string deserialiser and selector

2022-07-31  Christian Heller  <christian.heller@cybop.org>

        * Add whitespace deserialiser and selector to be used for skipping whitespace characters in other deserialisers

2022-07-28  Christian Heller  <christian.heller@cybop.org>

        * Add joined string deserialiser replacing "modify_split", as prerequisite to the csv deserialiser

2022-07-22  Christian Heller  <christian.heller@cybop.org>

        * Add files "language_state_cybol_name.c" and "message_state_cybol_name.c"

2022-07-21  Christian Heller  <christian.heller@cybop.org>

        * Add cybol application in directory "serialisation/csv/table/"
        * Add files "delimiter_csv_name.c" and "quotation_csv_name.c"
        * Add csv deserialiser for character (comma) separated values (csv)

2022-07-20  Christian Heller  <christian.heller@cybop.org>

        * Continue numeral deserialiser and selector

2022-07-18  Christian Heller  <christian.heller@cybop.org>

        * Rename "number" into "numeral" for numeral deserialiser and selector
        * Call sub functions in file "number_numeral_deserialiser.c" to skip whitespace, detect algebraic sign, deserialise number base, deserialise the number value
        * Allocate number part in numeral deserialiser if destination number item is null

2022-07-18  Enrico Gallus  <enrico.gallus@gmail.com>

        * Remove generated spec folder from svn
        * Add Unittests for apiWriter
        * Prevent generating example structure if there are no examples provided
        * Add integrationTester python script

2022-07-17  Enrico Gallus  <enrico.gallus@gmail.com>

        * Fix writing group nodes distinct

2022-07-16  Christian Heller  <christian.heller@cybop.org>

        * Add cybol property "mode" with value "write" to all cybol applications calling operation "communicate/send" with channel "file"
        * Update cybol api specification in javadoc comment blocks of directory "constant/format/cybol/"

2022-07-16  Enrico Gallus  <enrico.gallus@gmail.com>

        * Add logic to apiWrite to update channel/encoding/logic/state in doc/cybol/api
        * Adjust logic to write nodes in /tool/api-generator/spec in alphatically sorted order

2022-07-15  Christian Heller  <christian.heller@cybop.org>

        * Print filename on screen when reporting error messages in file "basic_opener.c"
        * Delete directory "tools/api-generator/spec/" since it gets generated by "build/scripts/apiDataGenerator.py"
        * Adapt api documentation testwise in files "number_state_cybol_format.c" und "calculate_logic_cybol_format.c", avoiding javadoc problems with "@param" and asterisk in "integer/*" as well as quotation marks in xml
        * Add python-related packages to file "INSTALL", since new cmake target "api" depends on them
        * Add cybol property "mode" to operation "dispatch/open"
        * Rename constants file "opentype_file_model.c" into "open_mode_file_model.c"
        * Add file "mode_file_opener.c" and adapt open mode flags for writing, now including O_TRUNC, in order to fix bug that old data remained in overwritten files
        * Complete implementation of read/write file open mode for cybol operation "dispatch/open"

2022-07-15  Enrico Gallus  <enrico.gallus@gmail.com>

        * Move python build scripts to own directory
        * Add api parser and writer to work with the new specification of the javadoc-like api
        * Enhance "create_api_documentation.txt" specification
        * Adjust Python-Script after specification changes
        * Add support for Encoding and Channel to api data generator
        * Create make target to automate api generation with all its processes
        * Move Python Unittest to own file and add main to parser
        * Enhance Dockerfile to support pip commands

2022-07-14  Christian Heller  <christian.heller@cybop.org>

        * Remove tui/gui/wui properties from api specification, since they represent languages comparable to http-response, relevant for serialisation, whose description does not belong into cybol but should be external to it
        * Rename "examples/cybol/" into "examples/cybolib/"
        * Add cybol application "checker" for testing lexicographical comparison, which was already implemented

2022-07-13  Christian Heller  <christian.heller@cybop.org>

        * Clean up unused xml file parts of cybol api specification
        * Leave small padding on bottom of api webpage
        * Reflect upon useful syntax format for defining cybol api in cyboi source code
        * Define reference formats "number/integer" and "calculate/add"
        * Document api style and generation process in file "doc/development/create_api_documentation.txt"
        * Adapt cybol api generator to eliminated specification details

2022-07-12  Christian Heller  <christian.heller@cybop.org>

        * Archive old versions of api specification website
        * Extend cybol api specification with plenty of new files for state and logic

2022-07-11  Christian Heller  <christian.heller@cybop.org>

        * Complete functionality of api generator
        * Add channels and encodings to api generator specification

2022-07-10  Christian Heller  <christian.heller@cybop.org>

        * Adapt api generator to new website layout

2022-07-09  Christian Heller  <christian.heller@cybop.org>

        * Modernise appearance of api specification documentation by adapting css
        * Add menu with logic operations on the left and menu with state structures on the right
        * Add javascript functions which are marking the currently clicked link with a css class named "active"
        * Merge css and javascript source code into file "index.html"

2022-07-08  Enrico Gallus <enrico.gallus@gmail.com>

        * Add python script to build in order to create API data fully automated
        * Clean up references to the deleted test directory

2022-07-05  Christian Heller  <christian.heller@cybop.org>

        * Add decimal power (power of 10) number deserialiser
        * Remove complete directory "test" with unit tests, since cybol applications themselves, in directory "examples", are the tests
        * Add file "state.txt" with list of cybol formats and file "logic.txt" with list of operations to directory "doc/cybol/api/"

2022-07-04  Christian Heller  <christian.heller@cybop.org>

        * Split constants in file "number_name.c" into many files, for exponent, number base etc.
        * Add files "digit_wide_character_to_integer_mapper.c" and "integer_to_digit_wide_character_mapper.c"
        * Continue number deserialiser and -selector with integer processing
        * Continue number deserialiser and -selector with decimals (fractional digits) processing

2022-07-01  Christian Heller  <christian.heller@cybop.org>

        * Add file "base_number_model.c"
        * Continue number deserialiser and -selector

2022-07-01  Enrico Gallus <enrico.gallus@gmail.com>

        * Use volumes in docker-compose rather than copying files/directories
        * Adjust clangformat config to currently used format

2022-06-30  Christian Heller  <christian.heller@cybop.org>

        * Prepare general number deserialiser and -selector
        * Add file "number_name.c"

2022-06-27  Enrico Gallus <enrico.gallus@gmail.com>

        * Make compiling of cyboi possible on all platforms using docker
        * Fix cmake issues introduced when moving api, schema, syntax from doc/books to doc/cybol
        * Introduce TARGET_GROUP to be able to use cmake config for production and test
        * Update clang to stable debian release
        * Fix ctest cmake definition

2022-06-21  Christian Heller  <christian.heller@cybop.org>

        * Decide to not translate backslash escape characters automatically within xml/json/cybol de-/serialiser, since this should be done when sending a string to a device
        * Define that the appearance of backslash escape characters in a cyboi tree node name is not problematic

2022-06-18  Christian Heller  <christian.heller@cybop.org>

        * Modernise website to make it responsive using bootstrap 5
        * Remove website from savannah.nongnu.org cvs
        * Add website to subversion (svn) instead
        * Upload website via ftp and host it outside savannah.nongnu.org on private webserver

2022-05-30  Christian Heller  <christian.heller@cybop.org>

        * Hand over count as parametre to selector for deserialisers "uri"

2022-05-29  Christian Heller  <christian.heller@cybop.org>

        * Hand over count as parametre to selector for deserialisers "knowledge", "percent_encoding", "xml"

2022-05-28  Christian Heller  <christian.heller@cybop.org>

        * Hand over count as parametre to selector for deserialisers "binary_crlf", "binary_crlf_termination", "blank_line_termination", "character_reference"
        * Hand over count as parametre to selector for deserialisers "command_line", "cybol", "ftp_line_end", "json", "http_request", "http_request_content_length"
        * Hand over loop break flag as last parametre to selectors in deserialisers "http_request_uri"

2022-05-26  Christian Heller  <christian.heller@cybop.org>

        * Add constants in file "ascii_newline_text_model.c"
        * Optimise deserialisers "ansi_escape_code" and "ansi_escape_code_length"
        * Hand over count as parametre to selector for deserialiser "authority"

2022-05-25  Christian Heller  <christian.heller@cybop.org>

        * Catch backslash escape quotation mark '\"' in file "end_string_json_selector.c" before detecting standard quotation mark as end-of-string marker
        * Debug error that two characters are missing at end of string containing backslash escapes by adjusting count in selector
        * Verify adjustment of count (multi-increment) in all serialisers

2022-05-24  Christian Heller  <christian.heller@cybop.org>

        * Add backslash escape constants in file "constant/model/backslash_escape/backslash_escape_model.c"
        * Add backslash escape serialiser and deserialiser for handling e.g. "\n" for linefeed (new line) etc.

2022-05-20  Christian Heller  <christian.heller@cybop.org>

        * Split detector into many files
        * Refactor file "content_xml_deserialiser.c"
        * Add files "string_xml_deserialiser.c" and "normalisation_xml_deserialiser.c"
        * Add directory "executor/modifier/normaliser/" providing functionality for cybol operation "modify/normalise"

2022-05-19  Christian Heller  <christian.heller@cybop.org>

        * Complete directory "executor/modifier/stripper/"
        * Add cybol application "container_modification/stripper/"
        * Adapt file "element_content_xml_deserialiser.c" to strip whitespaces within xml strings when standing between opening and closing tag (not in attribute values)
        * Test string stripping with xml files "serialisation/xml/examples/xml/widget.xml" and "serialisation/xml/examples/xml/web-app.xml"
        * Add property "normalisation" to cybol operations "represent/deserialise" and "communicate/receive"

2022-05-18  Christian Heller  <christian.heller@cybop.org>

        * Continue files in directory "executor/modifier/stripper/"

2022-05-13  Christian Heller  <christian.heller@cybop.org>

        * Move directories "api", "schema", "syntax" from "doc/books/cybol/" to "doc/cybol/"
        * Move generation application files from directory "doc/books/cybol/api/" to "tools/api-generator/"
        * Copy cybol applications from project "resmedicinae" to "examples/resmedicinae/"
        * Make api generator in directory "tools/api-generator/" work again
        * Add minor files for manual and documentation
        * Add directory "executor/modifier/stripper/

2022-05-12  Christian Heller  <christian.heller@cybop.org>

        * Optimise file names, includes, variable names of xml deserialiser and selector
        * Add cybol operation "modify/strip" removing leading and trailing whitespaces, as well as the variants "modify/strip-leading" and "modify/strip-trailing"
        * Add cybol operation "modify/normalise" removing leading and trailing whitespaces and additionally replacing all internal sequences of white space with one (useful e.g. when parsing xml or html of a webpage)
        * Add cybol operation "modify/replace" replacing a searched character sequence with a given new sequence
        * Add cybol operation "modify/split" splitting a source string into parts which are stored as child nodes of the destination part
        * Add cybol operation "modify/concatenate" concatenating the strings given as child nodes of the source part into the destination part and provide an optional cybol property "separator" to be used as such between the concatenated strings
        * Add cybol operation "modify/repeat" producing a destination string whose value is the concatenation of the source string repeated count times
        * Add cybol operation "modify/lower" converting a string to lower case letters
        * Add cybol operation "modify/upper" converting a string to upper case letters
        * Add cybol operation "modify/reverse" reversing the order of the child nodes of the source part storing them in the destination part

2022-05-10  Christian Heller  <christian.heller@cybop.org>

        * Add "application/xml" mime type and cyboi language to constants and cybol de-/serialiser
        * Adapt xml deserialiser so that a tag name gets used as tree node name and not property
        * Add empty tag space end " />" to xml deserialiser
        * Adapt xml deserialiser so that non-compound nodes get processed as string by default

2022-05-09  Christian Heller  <christian.heller@cybop.org>

        * Make json arrays get parsed correctly
        * Clean up json deserialiser and selector
        * Rename file "flag_json_deserialiser.c" into "type_string_json_selector.c"
        * Implement handling of array- and object end character
        * Add cybol example "serialisation/xml/examples/" for testing xml deserialiser

2022-05-08  Christian Heller  <christian.heller@cybop.org>

        * Add file "mode_json_model.c" with deserialiser (parser) mode constants

2022-05-07  Christian Heller  <christian.heller@cybop.org>

        * Add file "element_json_deserialiser.c" to loop through array, similar to file "member_json_deserialiser.c" which is looping through an object
        * Add file "end_number_json_selector.c"

2022-05-06  Christian Heller  <christian.heller@cybop.org>

        * Fix some bugs in json deserialiser and selector
        * Set break flag for each value in file "begin_value_json_selector.c"

2022-05-05  Christian Heller  <christian.heller@cybop.org>

        * Add comparisons for plus/minus sign, digits 0..9, hexadecimal digits A..F and a..f to file "begin_value_json_selector.c"
        * Add end characters and separators to file "begin_value_json_selector.c"
        * Conclude that json parser does NOT have to be extended similar to xml parser using a cybol parser as second step
        * Continue json deserialiser and selector: array

2022-05-04  Christian Heller  <christian.heller@cybop.org>

        * Continue json deserialiser and selector: string, boolean, null
        * Append allocated parts to destination in json deserialiser
        * Use constant ROOT_JSON_CYBOI_NAME as name for initial object

2022-05-03  Christian Heller  <christian.heller@cybop.org>

        * Rename some json name constants
        * Add json cyboi constants in file "json_cyboi_name"
        * Continue json deserialiser and selector: object

2022-05-01  Christian Heller  <christian.heller@cybop.org>

        * Implement json deserialiser and selector

2022-04-30  Christian Heller  <christian.heller@cybop.org>

        * Collect real-world json example files taken from web for testing
        * Add json selector
        * Add cybol application for json deserialisation testing in directory "serialisation/json/examples/"

2022-04-29  Christian Heller  <christian.heller@cybop.org>

        * Complete line feed and indentation in json serialiser
        * Test cybol application "serialisation/json/"
        * Let data of other types in file "json_serialiser.c" get serialised as string by cybol serialiser

2022-04-28  Christian Heller  <christian.heller@cybop.org>

        * Debug and test first version of json serialiser
        * Rename non-existing "number/double" into "number/fraction-decimal" in affected cybol applications
        * Rename DOUBLE_NUMBER_STATE_CYBOI_TYPE into more general FLOAT_NUMBER_STATE_CYBOI_TYPE
        * Implement line feed and indentation in json serialiser

2022-04-16  Christian Heller  <christian.heller@cybop.org>

        * Adapt "doc/books/cybol/syntax/example_short.json" using value arrays with [] instead of name-value objects with {}, in order to not to have to store the names
        * Implement json serialiser

2022-04-13  Christian Heller  <christian.heller@cybop.org>

        * Add language constants for mime type "application/json"
        * Prepare json serialiser and deserialiser
        * Fix bugs in ide tool "cybol-editor"

2022-04-12  Christian Heller  <christian.heller@cybop.org>

        * Add files "json_name.c" and "json_model.c" containing json constants
        * Add cybol application "serialisation/json/"

2022-04-09  Christian Heller  <christian.heller@cybop.org>

        * Start development of "cybol-editor" as web application in directory "tools/cybol-editor/"

2022-04-08  Christian Heller  <christian.heller@cybop.org>

        * Deliver compilable and runnable source code for release CYBOP 0.22.0

2022-04-04  Christian Heller  <christian.heller@cybop.org>

        * Deallocate display event on error in file "xcb_enabler.c"
        * Correct file "deallocation_reader.c" where the event is now retrieved properly from array
        * Fix valgrind error "Invalid read of size 4" caused by cybol operation "communicate/send" via terminal with encoding, but data are already multibyte characters and must not get utf-8 encoded
        * Delete name="encoding" from terminal output in all cybol applications, since multibyte characters must not be utf-8 encoded

2022-04-03  Christian Heller  <christian.heller@cybop.org>

        * Rename language "event/gui" into "message/gui-request" and adapt constants, deserialiser as well as cybol applications
        * Rename language "message/gui" into "message/gui-response" and adapt constants, deserialiser as well as cybol applications
        * Integrate file "deallocation_reader.c" for freeing display event in "receiver.c" and "read.c"

2022-04-02  Christian Heller  <christian.heller@cybop.org>

        * Make "indentation" a cybol property parallel to (and not a sub node of) "language"
        * Adapt affected cybol applications as well as serialiser and sender
        * Hand over window model hierarchy as cybol property "medium" to "represent/deserialise" or "communicate/receive", in order to identify nested components and their action via mouse coordinates
        * Adapt gui deserialiser and receiver
        * Append event name to destination properties instead of to destination model in xcb event deserialisers
        * Make cybol application "gui" paint again

2022-04-01  Christian Heller  <christian.heller@cybop.org>

        * Debug error that event was ok in sensor and buffer reader but not in file "xcb_event_deserialiser.c", since the void** was not dereferenced

2022-03-29  Christian Heller  <christian.heller@cybop.org>

        * Rename xcb deserialiser to "xcb_event" deserialiser
        * Split "xcb_event" deserialiser into many files, one for each event
        * Rename constants file "action_gui_state_cybol_name" into "event_gui_state_cybol_name"
        * Add file "part_item_appender.c"

2022-03-25  Christian Heller  <christian.heller@cybop.org>

        * Update gui event deserialiser

2022-03-24  Christian Heller  <christian.heller@cybop.org>

        * Prepare cybol application "gui"
        * Add default values for server flag and port to files "send.c", "receive.c", "sense.c" since otherwise, the correct window client entry cannot be found in the display server list

2022-03-23  Christian Heller  <christian.heller@cybop.org>

        * Introduce cybol operation "communicate/identify", for getting the current device/client identification used in asynchronous input, using IDENTIFICATION_INTERRUPT_INTERNAL_MEMORY_STATE_CYBOI_NAME
        * Adapt close handler in cybol application "www_server_static"
        * Add forgotten allocation and deallocation of IDENTIFICATION_INTERRUPT_INTERNAL_MEMORY_STATE_CYBOI_NAME
        * Use cybol operation "communicate/identify" in cybol handlers of "feel/sense" and "dispatch/close" of affected cybol applications
        * Test cybol applications with many web browsers in parallel
        * Make cybol application "ui" work partly (wui and tui)

2022-03-22  Christian Heller  <christian.heller@cybop.org>

        * Set eof-or-close flag in file "basic_reader.c" upon error since otherwise, sensing would run into an endless loop in server mode
        * Make cybol application "www_server_static" work again
        * Avoid race conditions in cybol caused by sensing threads running in parallel which, if closed by one thread, leads to errors in another, by introducing global variable IDENTIFICATION_INTERRUPT_INTERNAL_MEMORY_STATE_CYBOI_NAME
        * Hand over not only a handler, but also a client identification via interrupt pipe writer and reader

2022-03-21  Christian Heller  <christian.heller@cybop.org>

        * Make cybol application "repertoire" work again
        * Fix bug that generated html files have double content due to missing language properties parametre with "indentation" constraint in files "send.c" and "sender.c"

2022-03-20  Christian Heller  <christian.heller@cybop.org>

        * Reactivate indentation in html serialiser
        * Make cybol application "project_overview" work again

2022-03-18  Christian Heller  <christian.heller@cybop.org>

        * Make cybol application "presence" work again

2022-03-15  Christian Heller  <christian.heller@cybop.org>

        * Correct bug caused by using wrong server socket number constant in activator enabler
        * Consider eof-or-close flag in socket channel section of file "completeness_reader.c"
        * Introduce extra server flag in file "list_shutter.c", since the identification name is not always different between client- and server entry
        * Make cybol applications "socket_server" and "socket_client" work again
        * Make cybol application "www_server_dynamic" work again
        * Prepare cybol application "www_server_static"

2022-03-14  Christian Heller  <christian.heller@cybop.org>

        * Make cybol application "tui_control" work again
        * Provide callback cybol handler for asynchronous writing

2022-03-13  Christian Heller  <christian.heller@cybop.org>

        * Add memoriser mutex allocator and deallocator, to be used for internal memory/server/client entry
        * Rename "thread_copier.c" into "thread_identification_copier.c"
        * Add dispatcher pipe closer, to be used in internal memory deallocator
        * Rename channel "pipeline" into "fifo" and add new channel "pipe"
        * Remove superfluous interrupt handlers item, since handler as pointer is added to the interrupt pipe directly
        * Optimise character handling in tui serialiser using files "character_tui_serialiser.c" and "wide_character_tui_serialiser.c"
        * Call functions "serialise_tui_primitive" and "serialise_tui_newline" for channel "cli" in serialiser, in order to avoid ansi escape code sequences in simple text output
        * Delete cli flag from functions of tui serialiser

2022-03-12  Christian Heller  <christian.heller@cybop.org>

        * Adapt ansi escape code serialiser to using "char" instead of "wchar_t", since multibyte characters are sent via "write" to terminal
        * Delete now superfluous file "termination_sender.c", since the tui or cli serialiser does it
        * Adapt file "select_receiver.c" so that char buffer is used for terminal
        * Adapt ansi escape code length deserialiser to using "char" instead of "wchar_t", since message length needs to be detected after raw reading, yet before utf8-decoding
        * Adapt ansi escape code deserialiser to using "char" instead of "wchar_t"
        * Make cybol application "tui" work again

2022-03-11  Christian Heller  <christian.heller@cybop.org>

        * Factor out file "http_request_message_length_deserialiser.c"
        * Add deserialiser and selector for "ansi_escape_code_length" used by reader for text user interface (tui) data input
        * Remove property "encoding" with value "utf-8" from all send and receive operations in cybol application "tui", since the de-/serialiser of language "message/tui" does the conversion, as with http
        * Change type of all ansi escape code constants from "wchar_t" to "char"
        * Add convenience files "append_utf_8_encoder.c" and "append_utf_8_decoder.c"
        * Adapt tui serialiser to char-based ansi escape code

2022-03-10  Christian Heller  <christian.heller@cybop.org>

        * Replace function "modify_array" with "modify_item" in file "buffer_reader.c"
        * Replace function "modify_array" with "modify_item" in file "basic_writer.c"
        * Remove written data from buffer also in file "inline_writer.c"
        * Remove asynchronicity flag parametre in some reader functions, since it has been replaced by a handler pointer check
        * Inform interrupt pipe when new events have been written into the client input buffer in activator display xcb enabler
        * Filter out invalid message length value in file "buffer_reader.c" that caused error "Could not modify overwrite. The new destination count is negative nc: -1"
        * Assign message length for channel "display" in file "completeness_reader.c"

2022-03-09  Christian Heller  <christian.heller@cybop.org>

        * Clean up unused global variables in directory "variable"
        * Add thread copier, which is needed for thread comparison, to find out if a thread already exists
        * Use DEFAULT_THREAD_IDENTIFICATION for comparison in file "spinner.c", since win32 uses a struct and not an int as thread identification
        * Store yet missing parametres channel, server flag, port in dispatcher opener client entry, since they are needed by feeler sensor
        * Add files "completion_reader.c", "handler_reader.c"
        * Evaluate completeness flag rather than eof-or-close flag in file "message_reader.c"
        * Add client closer handler to sensor and reader
        * Add client closer handler to cybol example "communication/server_socket/"
        * Use correct integer copier for return value in many comparator files

2022-03-08  Christian Heller  <christian.heller@cybop.org>

        * Provide load and unload functionality for cybol library
        * Make cybol applications "hello_world" work again
        * Update feeler sensor and suspender, that were forgotten to include

2022-03-07  Christian Heller  <christian.heller@cybop.org>

        * Remove written elements from buffer whenever all data have been transmitted in file "basic_writer.c"
        * Make all cybol applications "counter" work again (file storage, stack, deep stack)

2022-03-06  Christian Heller  <christian.heller@cybop.org>

        * Make cybol application "exit/file/" work again
        * Add memoriser input output entry allocator and deallocator
        * Add memoriser internal memory allocator and deallocator
        * Create input output entries for all channels in internal memory allocator
        * Delete controller manager sub directory, since objects are now managed in memoriser
        * Call internal memory allocator and deallocator at cyboi system startup
        * Delete superfluous file "system_signal_handler_startup_manager.c", since threads are exited using an awakener

2022-03-05  Christian Heller  <christian.heller@cybop.org>

        * Restructure cybol deserialiser file "content_element_part_cybol_deserialiser.c" into many files
        * Open file before calling function "receive_data" in file "file_cybol_deserialiser.c" and close it again afterwards
        * Replace call of function "receive_data" in file "signal_checker.c" with function "read_signal"
        * Make cybol application "exit/simple/" work again
        * Move files "sender.c" and "receiver.c" into sub directories
        * Make cybol application "exit/signal/" work again

2022-03-04  Christian Heller  <christian.heller@cybop.org>

        * Make cyboi compilable
        * Open file before calling function "receive_data" in file "initiator.c" and close it again afterwards

2022-03-03  Christian Heller  <christian.heller@cybop.org>

        * Debug compilation errors
        * Update communicator receiver and sender
        * Rename controller "initialiser.c" into "initiator.c", in order to avoid conflict with configurator initialiser

2022-03-02  Christian Heller  <christian.heller@cybop.org>

        * Refactor shutdown manager in directory "controller/manager/"
        * Introduce new lifecycle files for shutter and closer, to be used by shutdown manager
        * Add feeler suspender
        * Add files "flag_shutter.c" and "list_shutter.c", to be used by shutdown manager and also by lifecycle shutter for closing a server's clients
        * Debug compilation errors

2022-03-01  Christian Heller  <christian.heller@cybop.org>

        * Complete maintainer shutter by closing clients
        * Debug compilation errors

2022-02-25  Christian Heller  <christian.heller@cybop.org>

        * Complete dispatcher closer
        * Complete activator disabler

2022-02-22  Christian Heller  <christian.heller@cybop.org>

        * Release CYBOP 0.22.0 (documentation and project files)

2022-02-21  Christian Heller  <christian.heller@cybop.org>

        * Update server entry allocator and deallocator
        * Update client entry allocator and deallocator
        * Complete maintainer starter by adding initialisation of server entry
        * Add file "list_index_finder.c"
        * Update maintainer shutter

2022-02-20  Christian Heller  <christian.heller@cybop.org>

        * Complete activator enabler
        * Update maintainer starter

2022-02-19  Christian Heller  <christian.heller@cybop.org>

        * Update feeler sensor files
        * Update activator enabler

2022-02-18  Christian Heller  <christian.heller@cybop.org>

        * Adapt file "open.c" with function "apply_open"
        * Replace usage of file "list_opener.c" with "mode_finder.c" in "opener.c"
        * Extend serial port initialiser to store original terminal settings
        * Add directory "executor/configurator/finaliser/"
        * Provide closer as counterpart to opener
        * Cleanup more dispatcher closer files

2022-02-17  Christian Heller  <christian.heller@cybop.org>

        * Add files "stub_opener.c", "identification_opener.c", "list_opener.c"
        * Open client windows like other devices, but store them in display server, similar to client socket stubs which are stored in server socket
        * Complete opener

2022-02-14  Christian Heller  <christian.heller@cybop.org>

        * Complete writer files "function_writer.c", "entry_writer.c", "flag_writer, writer.c"
        * Adapt applicator file "write.c" with function "apply_write"
        * Empty destination item in streamer reader before appending data

2022-02-14  Christian Heller  <christian.heller@cybop.org>

        * Replace stack variable "#client" in cybol example "server_socket" with heap variable ".client"
        * Move client entry finder from reader into directory "executor/finder/"
        * Restructure streamer writer as counterpart to reader

2022-02-13  Christian Heller  <christian.heller@cybop.org>

        * Add cybol operations "stream/read" and "stream/write"
        * Add cybol examples for read and write in directory "examples/communication/file/"
        * Clean up directory "executor/finder/"
        * Delete files "internal_memory_getter.c", "channel_internal_memory_getter.c", "internal_memory_setter.c", "channel_internal_memory_setter.c"
        * Restructure streamer reader
        * Enable client list finder to search for any element, not just by identification
        * Rename cybol property "stub" to "server"
        * Add missing properties to name constants and applicator stream read

2022-02-12  Christian Heller  <christian.heller@cybop.org>

        * Add file "input_output_state_cyboi_name.c" to have the following hierarchy: internal memory channel -> input output entry -> client or server list --> entry by id
        * Simplify interrupt pipe usage by storing handlers in a separate pointer array HANDLERS_INTERRUPT_INTERNAL_MEMORY_STATE_CYBOI_NAME in internal memory
        * Make the writer to the interrupt pipe responsible for storing the correct handler and the reader vice versa
        * Eliminate in that manner the need to hand over server or client identifications or stub flag to the interrupt pipe
        * Remove directory "executor/calculator/server_identification/"
        * Refactor streamer reader files

2022-02-11  Christian Heller  <christian.heller@cybop.org>

        * Use dynamic list for servers and clients in file "internal_memory_state_cyboi_name.c", so that forgotten ones can be deallocated properly at system exit
        * Optimise constants in file "server_state_cyboi_name.c"
        * Provide input- and output buffer and thread in file "client_state_cyboi_name.c"

2022-02-08  Christian Heller  <christian.heller@cybop.org>

        * Add streamer writer file "basic_writer.c"
        * Remove streamer writer for channels "file", "serial_port", "socket", "terminal" and use file "basic_writer.c" instead
        * Remove reader and writer for unused channel "directory"
        * Move file "size_determiner.c" renamed to "type_to_size_mapper.c" into directory "mapper/"
        * Update streamer writer as counterpart to reader

2022-02-07  Christian Heller  <christian.heller@cybop.org>

        * Remove streamer reader for channels "serial_port" and "terminal" and use file "basic_reader.c" instead
        * Remove streamer reader for channel "socket" and use file "basic_reader.c" instead

2022-02-06  Christian Heller  <christian.heller@cybop.org>

        * Add directory "executor/configurator/" wrapping up function "ioctl"
        * Move device control files using "ioctl" from streamer reader to new directory "executor/configurator/"
        * Add accessor getter and setter for "device_status", that call the configurator (ioctl wrapper)
        * Add serial port awakener
        * Add directory "constant/model/cybol/device/" with terminal file descriptor constants
        * Update terminal files in dispatcher opener
        * Delete directory "executor/dispatcher/editor/"
        * Add initialiser files to directory "executor/configurator/"
        * Add directory "executor/copier/terminal_mode/"
        * Move ioctl files from "executor/configurator/" back to directory "executor/streamer/writer/device/"
        * Remove directories "executor/accessor/getter/device_status/" and "executor/accessor/setter/device_status/"
        * Add bsd socket and winsock to configurator initialiser

2022-02-05  Christian Heller  <christian.heller@cybop.org>

        * Add memoriser allocator and deallocator for unix terminal mode / win32 console mode
        * Add accessor getter and setter for unix terminal mode / win32 console mode

2022-02-04  Christian Heller  <christian.heller@cybop.org>

        * Move socket-related files for family (namespace), protocol, style to directory "executor/representer/deserialiser/cybol/socket/"
        * Move socket address creation files to directory "executor/memoriser/allocator/socket_address/"
        * Move socket address initialisation files to directory "executor/accessor/setter/socket_address/"
        * Move host address conversion files to directory "executor/representer/deserialiser/host_address/"
        * Update display opener
        * Update socket opener
        * Update applicator for cybol operation "dispatch/open"

2022-02-03  Christian Heller  <christian.heller@cybop.org>

        * Update maintainer starter display
        * Move terminal editor files from maintainer to dispatcher editor
        * Move serial port files from maintainer to dispatcher opener
        * Delete opengl files in maintainer, since they are empty
        * Move anonymous pipeline (pipe) files from maintainer to dispatcher opener
        * Move named pipeline (fifo) files from maintainer to dispatcher opener
        * Move terminal files from maintainer to dispatcher opener
        * Move serial port files from maintainer to dispatcher closer
        * Move terminal files from maintainer to dispatcher closer
        * Move host address-, socket address- and some general socket files from maintainer to dispatcher opener
        * Add additional error codes and mapper for linux and windows
        * Update maintainer starter

2022-02-02  Christian Heller  <christian.heller@cybop.org>

        * Introduce cybol property "stub" for operation "dispatch/open"
        * Adapt dispatcher opener, so that client identification does not get assigned if stub
        * Update channel constants
        * Add new cybol formats "feel/sense" and "feel/suspend"
        * Provide applicator for cybol operations "feel/sense" and "feel/suspend"
        * Update activator enabler

2022-02-01  Christian Heller  <christian.heller@cybop.org>

        * Adapt applicator communicate receive and communicator receiver to code changes
        * Adapt feeler sensor to code changes
        * Update client entry allocator
        * Update dispatcher opener

2022-01-31  Christian Heller  <christian.heller@cybop.org>

        * Complete client list finder
        * Add file "handler_state_cybol_name.c"
        * Use stack variable "#client" being a property of the handler
        * Adapt cybol application "www_server_dynamic" to using "enable_handler" and "sense_handler"
        * Adapt file "empty_checker.c" assigning client identification to new handler property "client", so that it can be used in the cybol application for sending its response back to the requesting client
        * Keep handler in server entry for socket accept and additionally in client entry, since windows or dialogues may require specific handling
        * Add files in directory "executor/calculator/server_identification/"
        * Complete reader

2022-01-30  Christian Heller  <christian.heller@cybop.org>

        * Rename directory "executor/locker/" into "executor/porter/"
        * Distinguish synchronous- and asynchronous mode in reader
        * Add device reader for synchronous mode and buffer reader for asynchronous mode
        * Add file "channel_to_data_type_mapper.c"
        * Split client list finder into two files, searching by device identification or device name

2022-01-29  Christian Heller  <christian.heller@cybop.org>

        * Continue streamer reader
        * Clean up feeler sensor
        * Add cybol examples for "signal" and "inline" to directory "examples/communication/"

2022-01-28  Christian Heller  <christian.heller@cybop.org>

        * Complete opener and closer for channel "file"
        * Add internal memory server entry by channel getter to directory "executor/accessor/"
        * Add internal memory server entry by channel setter to directory "executor/accessor/"
        * Add file "client_list_finder.c" to directory "executor/finder/"
        * Delete directory "executor/porter/" with file stream handling, since low-level read and write are used instead now
        * Restructure files in directory "streamer/reader/" by taking over parts of directory "feeler/sensor/"

2022-01-27  Christian Heller  <christian.heller@cybop.org>

        * Continue opener and closer files
        * Add client entry allocator and deallocator to directory "executor/memoriser/"
        * Delete "entry_opener.c" and "entry_closer.c"
        * Add server entry allocator and deallocator to directory "executor/memoriser/"
        * Delete "io_starter.c" and "io_shutter.c"

2022-01-26  Christian Heller  <christian.heller@cybop.org>

        * Add service lifecycle cybol examples in directory "examples/communication/"
        * Delete directory "doc/development/cyboi/service_lifecycle/"
        * Update files related to file opener

2022-01-22  Christian Heller  <christian.heller@cybop.org>

        * Add service lifecycle cybol examples in directory "doc/development/cyboi/service_lifecycle/"
        * Continue comparison table document "doc/development/cyboi/service_lifecycle.pdf"

2022-01-21  Christian Heller  <christian.heller@cybop.org>

        * Adapt file "xcb_enabler.c" to new client list maintainer
        * Complete directory "executor/activator/enabler/"
        * Restructure directory "dispatcher/opener/"
        * Remove checking of exit flag since conflicts can be avoided by thread join waiting until the thread has finished before deallocating resources in main thread
        * Move directory "sensor" to new directory "feeler" and also add subdirectory "suspender"

2022-01-20  Christian Heller  <christian.heller@cybop.org>

        * Move display sensor files to activator enabler and disabler
        * Restructure xcb enabler
        * Restructure socket enabler
        * Add file "item_setter.c" as pendant to "item_getter.c"
        * Add file "part_setter.c" as pendant to "part_getter.c"
        * Add directory "maintainer/client_list/" for managing client entry resources

2022-01-19  Christian Heller  <christian.heller@cybop.org>

        * Add errno logging with files "error_message_log_cyboi_model.c" and "errno_to_message_mapper.c"
        * Adapt file "logger.c"
        * Rename file "input_output_state_cyboi_name.c" into "server_state_cyboi_name.c"
        * Clean up constants in files "server_state_cyboi_name.c" and "client_state_cyboi_name.c"
        * Add interrupt pipe reader and writer to directory "executor/streamer/"

2022-01-18  Christian Heller  <christian.heller@cybop.org>

        * Move client starter files to dispatcher opener
        * Move buffer part of xcb_shutter to display closer
        * Rename some files in activator
        * Add new directory "mapper" with first file "channel_to_internal_memory_mapper.c"
        * Reflect on how to structure maintainer | activator | dispatcher | sensor
        * Add comparison table document "doc/development/cyboi/service_lifecycle.pdf"
        * Merge registrar files into dispatcher
        * Move socket accept from dispatcher to activator
        * Rename cybol operations "register/open" and "register/close" to "dispatch/open" and "dispatch/close"
        * Adapt constants, format de-/serialiser, applicator, operation handler

2022-01-17  Christian Heller  <christian.heller@cybop.org>

        * Do steps in order to make text user interface (tui) work again

2022-01-14  Christian Heller  <christian.heller@cybop.org>

        * Unify handling of communication client requests, now consisting of accept and sense for all channels
        * Add, move, delete a greater number of communication-related files due to this restructuring
        * Adapt directories "maintainer", "activator", "acceptor", "sensor"
        * Add basic reader with proper error handling to directory "executor/streamer/reader/"
        * Add directory "executor/locker/" for locking and unlocking a mutex
        * Add directory "dispatcher" summarising opener (former "acceptor") and closer (discarder)
        * Merge maintainer opener and shutter client-related functions into dispatcher (file, serial port, terminal)

2022-01-10  Christian Heller  <christian.heller@cybop.org>

        * Test cybol application "www_server_dynamic" with language (protocol) "http_request" and "http_response"
        * Hand over language (protocol) "message/http-request" to cybol operation "activate/enable"
        * Add blank line termination deserialiser and -selector
        * Make sure both, http message header and attachment count are added, in order to retrieve the correct message length
        * Test cybol application "www_server_dynamic" with buffer size smaller than 1024
        * Replace console log message "Test: " with "Debug: "

2022-01-09  Christian Heller  <christian.heller@cybop.org>

        * Uncomment all parts of cybol application "socket_client" and make it work with both sending and receiving data
        * Replace png image with unicode data file to be transferred, since crlf is contained in image and interpreted as end of binary language (protocol) message

2022-01-06  Christian Heller  <christian.heller@cybop.org>

        * Introduce special variable "action" for conversion, since cybol operation "convert/decode" does not append automatically in file "socket_server/handle.cybol"
        * Fix bug in files "encode.c" and "decode.c", where encoding was deserialised instead of taking it as is (since being a meta property, it gets deserialised automatically into an integer before)
        * Optimise file "fragment_socket_sensor.c" by catching errors when calling function "read"

2022-01-05  Christian Heller  <christian.heller@cybop.org>

        * Adapt file "termination_binary_crlf_selector.c" in order to assign termination count that is handed over as parametre
        * Use correct buffer to be handed over to function "sense_socket_check_completeness" in file "server_socket_reader.c"
        * Fix logical bug that message length was reset to -1 in file "count_check_socket_sensor.c" but still used in file "server_socket_reader.c"
        * Test binary crlf termination deserialiser with cybol applications "socket_server" and "socket_client"

2022-01-04  Christian Heller  <christian.heller@cybop.org>

        * Use binary format "text/ascii" instead of "text/plain" in socket cybol application (for send in socket_client and receive in socket_server)
        * Provide cyboi converter operations to cybol as formats "convert/encode" and "convert/decode"
        * Add files "applicator/convert/encode.c" and "applicator/convert/decode.c"
        * Add conversion constants in directory "constant/name/cybol/logic/conversion/"
        * Decode ascii- into wide character string in "socket_server/handle.cybol" since otherwise, it cannot be appended properly to ".actions."

2022-01-03  Christian Heller  <christian.heller@cybop.org>

        * Use correct language "message/binary-crlf" in cybol files

2021-12-22  Christian Heller  <christian.heller@cybop.org>

        * Change detection in file "message_length_deserialiser.c" for http, since "Content-Length:" does specify only the body length but not the whole message's length

2021-12-19  Christian Heller  <christian.heller@cybop.org>

        * Add file "fragment_client_socket_reader.c"
        * Reuse file "completeness_check_socket_sensor.c" in file "client_socket_reader.c"

2021-12-18  Christian Heller  <christian.heller@cybop.org>

        * Reuse file "completeness_check_socket_sensor.c" in file "server_socket_reader.c"
        * Make sure source buffer data stemming from sensor are removed in stream readers of all channels to avoid processing the same data again and again

2021-12-14  Christian Heller  <christian.heller@cybop.org>

        * Clean up redundancies in file "completeness_check_socket_sensor.c" using file "count_check_socket_sensor.c"

2021-12-13  Christian Heller  <christian.heller@cybop.org>

        * Add file "count_check_socket_sensor.c"

2021-12-12  Christian Heller  <christian.heller@cybop.org>

        * Rename file "message_length_or_end_deserialiser.c" into "message_length_deserialiser.c"
        * Assign message length instead of just a flag value in file "data_binary_crlf_termination_deserialiser.c"

2021-12-11  Christian Heller  <christian.heller@cybop.org>

        * Rename language "binary-crlf-termination" into just "binary-crlf"
        * Add binary crlf serialiser
        * Add binary crlf deserialiser (to be distinguished from the binary crlf termination deserialiser which returns a flag only)

2021-12-10  Christian Heller  <christian.heller@cybop.org>

        * Add language "message/binary-crlf-termination" as transfer protocol
        * Add binary crlf termination deserialiser and -selector, as well as file "constant/name/binary/termination_binary_name.c"
        * Adapt cybol applications to new language
        * Use new language not only for image- but also text transfer in cybol applications "socket_server" and "socket_client"

2021-12-09  Christian Heller  <christian.heller@cybop.org>

        * Add ftp response line end deserialiser and -selector, as well as file "constant/name/ftp/separator_ftp_name.c"

2021-12-06  Christian Heller  <christian.heller@cybop.org>

        * Reset message length in file "completeness_check_socket_sensor.c"
        * Hand over property "language" (protocol) for cybol operation "activate/enable" to all affected files
        * Add ftp language (protocol) whose crlf line end separator is to be used testwise in cybol application "socket_server"

2021-12-05  Christian Heller  <christian.heller@cybop.org>

        * Complete files in directory "executor/sensor/socket/"

2021-12-04  Christian Heller  <christian.heller@cybop.org>

        * Create new files "fragment_socket_sensor.c", "completeness_check_socket_sensor.c", "interrupt_set_socket_sensor.c"
        * Create new directory "executor/representer/deserialiser/message_length_or_end_deserialiser/"
        * Create new directory "executor/representer/deserialiser/http_request_content_length/"
        * Create new directory "executor/selector/http_request_content_length/"
        * Add property "language" to cybol operation "activate/enable" in file "run.cybol" of cybol application "www_server_dynamic"
        * Complete file "message_length_or_end_deserialiser.c" by adding protocol "HTTP_REQUEST_MESSAGE_STATE_CYBOI_LANGUAGE"

2021-11-20  Christian Heller  <christian.heller@cybop.org>

        * Close socket connexion if function "read" returns zero in file "message_socket_sensor.c", since that means the other end closed the connexion already
        * Fix error thereby that the call of "read" did not block, since the socket communication partner closed the connexion
        * Simplify cybol application "www_server_dynamic" and delete css

2021-11-09  Christian Heller  <christian.heller@cybop.org>

        * Empty buffer item in file "server_socket_reader.c", so that data are not read a second time
        * Fix error that hello and image command are mixed as ".actions.say-helloshow-image" in cybol applications socket_server and socket_client

2021-11-07  Christian Heller  <christian.heller@cybop.org>

        * Add file "socket_awakener.c"
        * Test with simple cybol applications socket_server and socket_client

2021-11-06  Christian Heller  <christian.heller@cybop.org>

        * Add file "server_socket_reader.c" for reading as server from client socket
        * Add files "client_socket_reader.c" and "message_client_socket_reader.c" for reading as client from server socket
        * Use file "socket_reader.c" to distinguish between client- and server mode

2021-10-09  Christian Heller  <christian.heller@cybop.org>

        * Retrieve and forward client entry to function "read_socket" in file "reader.c"
        * Read from client entry buffer and not input/output entry in file "socket_reader.c"

2021-10-08  Christian Heller  <christian.heller@cybop.org>

        * Debug error that client request gets accepted on client socket 6, but cybol application still has a client socket value of 0
        * Assign sender client socket integer value instead of pointer in file "empty_checker.c"

2021-10-07  Christian Heller  <christian.heller@cybop.org>

        * Debug strange error "The futex facility returned an unexpected error code." caused by wrong argument used as mutex for locking
        * Make interrupt pipe data transfer work for socket sensor

2021-10-06  Christian Heller  <christian.heller@cybop.org>

        * Continue socket acceptor
        * Add file "client_starter.c" as pendant to "io_starter.c"
        * Add file "client_channel_enabler.c" for testing socket input/output
        * Adapt file "message_socket_sensor.c" to write into interrupt pipe not only the service (input/output entry) identification (base + port) but also the client socket identification

2021-10-05  Christian Heller  <christian.heller@cybop.org>

        * Restructure socket acceptor which is now running in a thread
        * Use separate threads for "accept" (new connexion) and "read" (existing socket client)
        * Remove interrupt flag from input/output entry, since it is replaced by pipe communication in checker
        * Remove enable flag from input/output entry, since thread should exit when disabled (receiving data and ignoring them with enable set to false would be misleading and a bad idea, since input data would then be consumed but not processed)
        * Remove channel-specific pipe from input/output entry, since arrays are used to receive input data
        * Adapt starter and shutter to input/output entry changes
        * Clean up event/signal handling in controller to prepare for child thread usage in sensing/detecting messages
        * Delete complete directory "controller/checker/irq/"
        * Delete some files of directory "controller/checker/io/"
        * Delete file "wait_checker.c" and remove call of function "check_wait" in file "empty_checker.c"
        * Delete files "acceptor.c" and "empty_acceptor.c"
        * Connect activator/enabler and acceptor logically

2021-10-04  Christian Heller  <christian.heller@cybop.org>

        * Hand over to interrupt pipe not only the service (input/output entry) identification (base + port) but also the client identification
        * Add constants and new file "client_state_cyboi_name.c"

2021-10-02  Christian Heller  <christian.heller@cybop.org>

        * Restructure startup and shutdown with new files "channel_starter.c", "general_starter.c", "specific_starter.c"

2021-09-29  Christian Heller  <christian.heller@cybop.org>

        * Remove property "blocking" from affected cybol applications
        * Delete argument "blocking" from socket functions, since all communication is blocking from now on, for server as well as client sockets
        * Add cybol property "port" for operation "communicate/receive"
        * Hand over argument "port" to all receive functions

2021-09-28  Christian Heller  <christian.heller@cybop.org>

        * Adapt socket input handling to new buffer and interrupt pipe
        * Add file "message_socket_sensor.c"
        * Harmonise input handling across all channels
        * Check exit flag in xcb sensing thread
        * Allocate and deallocate buffer for socket input handling

2021-09-21  Christian Heller  <christian.heller@cybop.org>

        * Clean up xcb memory errors caused by forgotten deallocation, reported by valgrind
        * Loop and deallocate events in event buffer on shutdown, before deallocating the buffer itself
        * Implement out file "display_awakener.c" using function "xcb_send_event" from "xcb/xproto.h"

2021-09-20  Christian Heller  <christian.heller@cybop.org>

        * Replace character buffer taken from input/output entry with a local one, in order to avoid error "corrupted double-linked list" (when main thread deallocated it on shutdown, but sensing thread still uses it)
        * Use local variable for character buffer on stack, instead of an allocated one on heap, in file "unix_terminal_sensor.c"
        * Compare functions "write" and "ioctl" to wake up sensing thread, but only ioctl works
        * Call function "ioctl" in file "terminal_awakener.c" to wake up the blocking sensing thread
        * Avoid race conditions between main thread and terminal sensing thread by locking exit flag comparison together with call of function "decode_utf_8", using a mutex

2021-09-16  Christian Heller  <christian.heller@cybop.org>

        * Fix error that input/output entry got reset before having used it to disable the channel (exit the thread), in file "io_shutter.c"
        * Add new directory "executor/awakener/" for letting the system send an input to itself ("fake input") over a specific channel, in order to wake up blocking sensing threads, so that they can exit themselves
        * Call function "awake" from file "channel_disabler.c"

2021-09-15  Christian Heller  <christian.heller@cybop.org>

        * Implement sensing child thread exit by using an exit flag set by the main thread
        * Wait for child thread to finish using function "thrd_join"
        * Let sensing child thread exit itself when exit flag is set
        * Adapt files "io_shutter.c", "channel_disabler.c", "cutter.c"

2021-09-14  Christian Heller  <christian.heller@cybop.org>

        * Add new file "reset_action.cybol" to cybol application "user_interface/gui/", in order to reset action properties for avoiding an endless loop sensing the same event again and again

2021-09-08  Christian Heller  <christian.heller@cybop.org>

        * Rename "handler" into "handle" in some cybol applications, since it is an operation
        * Adapt file "gui_event_deserialiser.c" for receiving xcb events
        * Make cybol application "user_interface/gui/" start again

2021-09-07  Christian Heller  <christian.heller@cybop.org>

        * Adjust input/output entry buffer constants

2021-09-06  Christian Heller  <christian.heller@cybop.org>

        * Prepare xcb event handling
        * Add new file "event_xcb_sensor.c"

2021-09-02  Christian Heller  <christian.heller@cybop.org>

        * Introduce interrupt mutex and add it to the internal memory in file "manager.c"
        * Add interrupt mutex to input/output entry as well in file "io_starter.c"
        * Consider interrupt mutex in file "message_unix_terminal_sensor.c"

2021-09-01  Christian Heller  <christian.heller@cybop.org>

        * Clean up unix terminal sensor
        * Clean up terminal reader
        * Delete files "character_unix_terminal_reader.c", "stream_unix_terminal_reader.c", "stream_terminal_reader.c"

2021-08-31  Christian Heller  <christian.heller@cybop.org>

        * Process unix terminal input using wide character buffer filled in sensor and read in receiver
        * Test terminal input using cybol application "tui" and "tui_control"

2021-08-30  Christian Heller  <christian.heller@cybop.org>

        * Correct if-else conditions in files "utf_8_encoder.c" and "utf_8_decoder.c"

2021-08-17  Christian Heller  <christian.heller@cybop.org>

        * Optimise files "utf_8_encoder.c" and "utf_8_decoder.c" to reallocate destination item only if buffer size changed

2021-08-12  Christian Heller  <christian.heller@cybop.org>

        * Optimise and clean up file "message_unix_terminal_sensor.c" and related ones

2021-08-06  Christian Heller  <christian.heller@cybop.org>

        * Use function "read" instead of "fgetwc" in file "message_unix_terminal_sensor.c", in order to get ansi escape code sequences at once
        * Decode multibyte characters received through function "read" into wide characters in file "message_unix_terminal_sensor.c"

2021-08-04  Christian Heller  <christian.heller@cybop.org>

        * Read received bytes from read pipe stream in file "stream_unix_terminal_reader.c", which gets executed as handler (callback function) from cybol

2021-08-03  Christian Heller  <christian.heller@cybop.org>

        * Use file descriptor to write wide characters into pipe in file "message_unix_terminal_sensor.c"

2021-08-02  Christian Heller  <christian.heller@cybop.org>

        * Get handler corresponding to irq number (input/output entry identification), in file "empty_checker.c"

2021-08-01  Christian Heller  <christian.heller@cybop.org>

        * Use interrupt request pipe file descriptors (instead of streams) in files "manager.c", "message_unix_terminal_sensor.c", "empty_checker.c"
        * Detect interrupt request pipe input in file "empty_checker.c"

2021-07-31  Christian Heller  <christian.heller@cybop.org>

        * Store input/output entry identification (channel base + service port) in input/output entry itself, when creating it (needed for handling irq in thread function)
        * Store write interrupt request pipe stream twice, in internal memory and additionally in input/output entry,
            in order to be able to pass it to the corresponding sensing thread, which does accept only one function argument
        * Write input/output entry identification into interrupt request pipe in file "message_unix_terminal_sensor.c"
        * Write received characters into pipe in file "message_unix_terminal_sensor.c"
        * Detect interrupt request pipe input in file "empty_checker.c"

2021-07-28  Christian Heller  <christian.heller@cybop.org>

        * Add new directory "executor/porter/" encapsulating file stream open/close/flush/convert functions including error handling
        * Add new constants file "opentype_file_model.c" for opening a file resource
        * Adapt files "io_starter.c" and "io_shutter.c" calling functions of new porter for opening and closing the pipe
        * Adapt files "file_reader.c" and "file_writer.c" calling functions of new porter for opening and closing as well as flushing the file
        * Create and destroy special interrupt request pipe in file "manager.c", and store in internal memory
        * Add read interrupt request pipe stream as parametre in files "checker.c", "signal_checker.c", "empty_checker.c"

2021-07-27  Christian Heller  <christian.heller@cybop.org>

        * Adapt pipe starter in directory "maintainer/pipe/"
        * Create fifo starter in directory "maintainer/fifo/"
        * Add pipe-related constants to file "input_output_state_cyboi_name.c"
        * Create and destroy pipe in files "io_starter.c" and "io_shutter.c"

2021-07-17  Christian Heller  <christian.heller@cybop.org>

        * Comment out port in cybol operation call "activate/enable" of cybol application file "socket_server/run.cybol"
            since otherwise, the input/output entry is not found for local unix domain socket
        * Implement named pipe (unix fifo) maintainer
        * Replace bsd socket shutter with general unix file descriptor shutter to be used by file, pipe and socket

2021-07-11  Christian Heller  <christian.heller@cybop.org>

        * Use zero as default value in call of function "socket" in file "create_bsd_socket_starter.c"
        * Convert "wchar_t*" to "char*" for filename of local socket in file "initialise_local_socket_address_socket_starter.c"

2021-06-24  Christian Heller  <christian.heller@cybop.org>

        * Adapt shutdown files to new thread-related fields of input/output entry
        * Adapt editor as well as starter and shutter
        * Implement un-/blocking via function call "edit_service" into file "stream_unix_terminal_reader.c"
        * Use combination of terminal mode settings (termios) with TIME = 0 and MIN = 1 (blocking) or MIN = 0 (unblocking)
        * Eliminate sleep time variable in file "message_unix_terminal_sensor.c"
        * Delete superfluous cybol property "blocking" for operation "communicate/receive"

2021-06-21  Christian Heller  <christian.heller@cybop.org>

        * Add files "editor.c" and "io_editor.c"
        * Move "maintainer/starter/unix_terminal/" to "maintainer/editor/unix_terminal/"
        * Move "maintainer/starter/terminal/" to "maintainer/editor/terminal/"

2021-06-19  Christian Heller  <christian.heller@cybop.org>

        * Dereference pointer arguments in file "channel_enabler.c" in order to fix segmentation fault memory errors of file "unix_terminal_sensor.c" in sensing thread
        * Introduce endless loop in file "unix_terminal_sensor.c" and separate out code into file "message_unix_terminal_sensor.c"

2021-06-18  Christian Heller  <christian.heller@cybop.org>

        * Separate general- from thread-related constants in file "input_output_state_cyboi_name.c"
        * Add new thread fields to input/output entry: identification, function, argument, mutex, exit

2021-06-17  Christian Heller  <christian.heller@cybop.org>

        * Reintroduce threads for detecting available input data
        * Call function "spin" in file "channel_enabler.c" to create thread and invoke sensing function
        * Comment out unix terminal section in file "terminal_sensor.c", since input now gets detected in sensing thread

2021-06-16  Christian Heller  <christian.heller@cybop.org>

        * Reintroduce system signal handling as notification to exit a thread
        * Add files "thread_identification_globaliser.c", "service_interrupt_globaliser.c", "mutex_thread_symbolic_name_globaliser.c"
        * Add file "system_signal_handler_startup_manager.c"
        * Delete directory "src/todo_thread/"
        * Realise that sensing threads may not be interrupted from outside, since:
            (a) a system signal is not usable, since only posix <pthread.h> provides a function "pthread_kill", but not iso c <threads.h>
            (b) a flag frequently tested in the thread's endless loop does not work either, if using blocking calls of input functions
        * Decide that sensing threads may run until a cybol application process exits normally
        * Live with the fact that as a result, the cybol operation "maintain/shutdown" does currently not work
        * Add directory "executor/threader/" with files "spinner.c" and "cutter.c"

2021-06-14  Christian Heller  <christian.heller@cybop.org>

        * Implement mutex in terminal reader
        * Clean up files related to "check_irq" and "check_io", in order to sense available data
        * Reintroduce threads for detecting available input data (they had been eliminated in year 2018)

2021-06-13  Christian Heller  <christian.heller@cybop.org>

        * Change type of integer values to pointer in input/output channel files
        * Allocate/deallocate these integer values in the corresponding startup/shutdown file

2021-06-12  Christian Heller  <christian.heller@cybop.org>

        * Provide faster access to interrupt request by holding it as pointer, so that the input/output entry does not have to be accessed everytime
        * Replace input/output entry compound structure with standard pointer array
        * Delete constant "IO_ENTRY_STATE_CYBOI_TYPE" from file "state_cyboi_type.c" and replace it with constant "POINTER_STATE_CYBOI_TYPE"
        * Adapt files "io_starter.c" and "io_shutter.c" accordingly
        * Delete variable "IO_ENTRY_COMPOUND_TYPE_SIZE" from files "compound_type_size.c" and "compound_type_size_globaliser.c"
        * Delete files "io_entry_getter.c" and "io_entry_setter.c", since now standard pointer array access is possible
        * Replace calls of functions "set_io_entry_element" and "get_io_entry_element" with standard pointer array access using function "copy_array_forward"
        * Replace includes "io_entry_getter.c" and "io_entry_setter.c" with "array_copier.c"
        * Shrink size of cyboi executable by commenting unused integer number constants in file "integer_state_cyboi_model.c"

2021-06-11  Christian Heller  <christian.heller@cybop.org>

        * Add files "internal_memory_getter.c" and "internal_memory_setter.c" to provide central access to input/output entry
        * Use these access files in maintainer, sensor, streamer
        * Remove old files "get_io_maintainer.c" and "set_io_maintainer.c"
        * Restructure function calls in files "starter.c" and "shutter.c"
        * Clean up empty files in directory "controller/unglobaliser/"
        * Beautify source code

2021-06-10  Christian Heller  <christian.heller@cybop.org>

        * Prepare reintroduction of threads for detecting available input data (they had been eliminated in year 2018)
        * Use source code backup in directory "src/todo_thread/"
        * Add files "thread_type_size.c", "thread_identification.c", "service_interrupt.c", "mutex_thread_symbolic_name.c"
        * Make use of new iso c library "threads.h" instead of old posix thread (pthread) library

2021-06-08  Christian Heller  <christian.heller@cybop.org>

        * Rename "id" into "port" in all affected cybol applications, to make web applications work again
        * Find out why gui events get detected but do not arrive and are thus not processed
        * Add forgotten irq flag to input/output entry in file "sense_io_checker.c"
        * Make cybol application "gui" display window content again
        * Rename "serialiser/x_window_system/" into "serialiser/xcb/"

2021-05-09  Christian Heller  <christian.heller@cybop.org>

        * Restructure and optimise files "io_entry_getter.c" and "io_entry_setter.c" avoiding redundant code
        * Adapt files "input_output_state_cyboi_name.c" and "compound_type_size_globaliser.c"
        * Make cybol application "gui" work again using cybol operations "maintain/startup" and "register/open"

2021-05-05  Christian Heller  <christian.heller@cybop.org>

        * Use "stdout" stream directly in files "file_unix_terminal_writer.c" and "stream_terminal_shutter.c"
        * Make simple cybol applications like "hello_world/simple/" work again

2021-04-08  Christian Heller  <christian.heller@cybop.org>

        * Add files "io_display_opener.c" and "io_display_closer.c", for determining the input/output entry
        * Adapt files "io_entry_setter.c" and "io_entry_getter.c" by moving client list, accepttime list and timeout from general- to socket section
        * Complete restructuring of "maintainer" and "registrar" following the splitting up of client- from server code

2021-04-05  Christian Heller  <christian.heller@cybop.org>

        * Delete files "allocate_io_maintainer.c" and "deallocate_io_maintainer.c"

2021-03-30  Christian Heller  <christian.heller@cybop.org>

        * Continue restructuring of "maintainer" and "registrar" following the splitting up of client- from server code

2021-03-29  Christian Heller  <christian.heller@cybop.org>

        * Restructure "maintainer" and "registrar" following the splitting up of client- from server code

2021-03-28  Christian Heller  <christian.heller@cybop.org>

        * Add new cybol operations "register/open" and "register/close" for handling clients (socket, window)
        * Clean up redundant properties of cybol operations "maintain/startup" and "maintain/shutdown"

2021-03-20  Christian Heller  <christian.heller@cybop.org>

        * Store default graphic context initialised with the screen's root window bit depth in input/output entry, in file "server_xcb_starter.c"
        * Forward receiver window id to gui serialiser, in files "sender.c", "serialiser.c", "initial_gui_serialiser.c"

2021-03-15  Christian Heller  <christian.heller@cybop.org>

        * Think through unified handling of id/port in socket/gui/tui
        * Treat gui windows as clients managed via a unique integer identifier (id) by the display server
        * Store each window identifier (id) in the corresponding cybol application
        * Add new files "sense_io_checker.c", "socket_io_checker.c"

2021-02-27  Christian Heller  <christian.heller@cybop.org>

        * Fix error caused by wrong-placed comment characters in cybol application "user_interface/ui/"
        * Split socket handler in cybol application "user_interface/ui/" into action handler and empty message sender, in order to reply to favicon and other requests

2021-02-26  Christian Heller  <christian.heller@cybop.org>

        * Optimise cybol application "user_interface/ui/" by unifying "translate" files
        * Fix http-response errors in cybol application "user_interface/ui/"
        * Insert css as stylesheet area directly into html file

2021-02-22  Christian Heller  <christian.heller@cybop.org>

        * Integrate socket communication for wui into cybol application "user_interface/ui/"

2021-02-21  Christian Heller  <christian.heller@cybop.org>

        * Eliminate cybol property "network_service" (e.g. "http"), since specifying a unique port (e.g. 80) suffices
        * Eliminate "network service" parametre from file "activator/enabler.c" and from all socket startup functions
        * Remove file "mode_socket_starter.c", after having moved its content into file "socket_starter.c"
        * Uncomment content of file "applicator/activate/disable.c" and make it work

2021-02-20  Christian Heller  <christian.heller@cybop.org>

        * Remove socket from client list when timeout has been crossed, in file "empty_element_client_checker.c"
        * Remove corresponding entry from accepttime list when timeout has been crossed, in file "empty_element_client_checker.c"
        * Adapt loop in file "all_client_checker.c", so that loop variable does not get incremented if a client had been removed

2021-02-19  Christian Heller  <christian.heller@cybop.org>

        * Close client socket when timeout has been crossed, in file "empty_element_client_checker.c"
        * Test timeout handling using cybol applications "internet/socket_server/" and "internet/socket_client/"
        * Remove superfluous directory "executor/maintainer/shutter/socket/client/"
        * Update directory "executor/maintainer/shutter/socket/server/", so that client sockets belonging to a server socket are shutdown as well
        * Hand over accepttime list in addition to client list, to also remove its element, together with the client socket, in file "server_socket_shutter.c"
        * Remove file "mode_socket_shutter.c", after having moved its content into file "socket_shutter.c"

2021-02-18  Christian Heller  <christian.heller@cybop.org>

        * Create new property "timeout" for cybol operation "maintain/startup"
        * Store it as default timeout in input/output entry of server socket at startup
        * Rename "timeout list item" to "accepttime list item"
        * Integrate timeout handling into controller's checker files
        * Split file "element_client_checker.c" into "available_element_client_checker.c" and "empty_element_client_checker.c"
        * Determine current calendar time via function "time" using data type "time_t"
        * Reset client's accepttime on available data
        * Debug memory access error by casting timeout value from type "time_t" to "int" before storing it in input/output entry

2021-02-17  Christian Heller  <christian.heller@cybop.org>

        * Replace pointer access using pointer->field with (*variable).field in all source code
        * Prepare usage of timeout for each sender client having been accepted by the server socket
        * Introduce timeout list item in parallel to already existing sender client list item

2021-02-15  Christian Heller  <christian.heller@cybop.org>

        * Rename file "internal_memory_manager.c" into "internal_memory_startup_manager.c"
        * Fix error by manipulating terminal mode on linux just once for output (since it is also valid for input), and twice (for input and output) only for windows

2021-02-09  Christian Heller  <christian.heller@cybop.org>

        * Investigate if posix-conform "fcntl" call used in file "set_status_bsd_socket_starter.c" may replace os-specific "ioctl" call used in file "unix_device_reader.c"
        * Adjust socket options in file "create_bsd_socket_starter.c"

2021-02-07  Christian Heller  <christian.heller@cybop.org>

        * Update document "doc/development/cyboi/design_decisions.txt"

2021-01-08  Christian Heller  <christian.heller@cybop.org>

        * Remove "close" from http headers in cybol application "presence", to not always close http connection

2020-11-25  Christian Heller  <christian.heller@cybop.org>

        * Add third version and update screenshots for prototype of cybol application "presence"

2020-11-20  Christian Heller  <christian.heller@cybop.org>

        * Make header image and heraldic symbol get transferred as static file and not dynamic byte stream in cybol application "presence"
        * Finish adapting cybol application "presence" to using stack memory variables
        * Make tables that remained empty in wui work again

2020-11-18  Christian Heller  <christian.heller@cybop.org>

        * Set knowledge path end flag not only in file "knowledge_deserialiser.c", but also in file "end_knowledge_selector.c"
        * Return null for non-existing element (child) nodes instead of the whole (parent) node in knowledge deserialiser
        * Test existence of ".var.request:uri:query" node in "logic/handle/querytest.cybol" of cybol application "presence"
        * Make sure dynamic content as well as static files (such as css) are delivered properly to the webbrowser client
        * Move development documentation files and diagrams from "src/" to "doc/development/cyboi/"

2020-11-15  Christian Heller  <christian.heller@cybop.org>

        * Add diagram "src/knowledge_deserialiser.xmi"
        * Create svg images from all diagrams

2020-11-01  Christian Heller  <christian.heller@cybop.org>

        * Split file "handle.cybol" into many files in directory "application/presence/logic/handle/"
        * Distinguish request between file path and query with key-value-pairs in cybol application "presence"
        * Make css be transferred as file, since dynamic URL does only work with JavaScript

2020-10-30  Christian Heller  <christian.heller@cybop.org>

        * Integrate handling of static files in file "logic/handle.cybol" of cybol application "presence"

2020-10-26  Christian Heller  <christian.heller@cybop.org>

        * Reactivate socket and handle requests in cybol application "presence"

2020-10-25  Christian Heller  <christian.heller@cybop.org>

        * Adapt cybol application "presence" to using stack memory variables
        * Reactivate function calls of "translate" and "navigate" in file "run.cybol" of cybol application "presence"

2020-10-24  Christian Heller  <christian.heller@cybop.org>

        * Turn back file "part_knowledge_deserialiser.c" to old version from 2018, in order to make paths work again
        * Adapt cybol application "presence" to using stack memory variables and remove unnecessary files and variables
        * Reactivate function calls of "create_wui_choices" and "create_wui_lecturers" in file "run.cybol" of cybol application "presence"

2020-09-19  Christian Heller  <christian.heller@cybop.org>

        * Adapt cybol application "presence" to using stack memory variables

2020-09-14  Christian Heller  <christian.heller@cybop.org>

        * Add file "double_index_count_verifier.c" in order to optimise file "index_count_verifier.c"
        * Add file "verify_modifier.c" in order to distinguish verification between one and two indices
        * Eliminate error in "handler.c" --> "loop.c" --> "part_handler.c" when removing stack variables via function call "modify_item" with constant REMOVE_MODIFY_LOGIC_CYBOI_FORMAT

2020-08-26  Christian Heller  <christian.heller@cybop.org>

        * Adapt cybol application "presence" to using stack memory variables

2020-07-29  Christian Heller  <christian.heller@cybop.org>

        * Release CYBOP 0.21.0

2020-07-11  Christian Heller  <christian.heller@cybop.org>

        * Adapt file "socket_sensor.c" now using the function "read_device", since the old solution "read_socket_buffer" with option "MSG_PEEK" did not work and block, even though the socket was set non-blocking
        * Test cybol application "internet/www_server_dynamic/", now being able to handle requests from multiple clients

2020-07-09  Christian Heller  <christian.heller@cybop.org>

        * Adapt cybol application "internet/www_server_dynamic/" so that an empty response is sent if the request query was not understood since otherwise, the browser as client would wait forever and block follow-up requests

2020-07-06  Christian Heller  <christian.heller@cybop.org>

        * Refactor file "part_knowledge_deserialiser.c" to filter out non-existing parts and wrong path names mixing up a cybol application

2020-07-03  Christian Heller  <christian.heller@cybop.org>

        * Refactor cybol application "internet/www_server_dynamic/"

2020-06-29  Christian Heller  <christian.heller@cybop.org>

        * Fix bug in file "executor/detector/detector.c" where the type argument is now used instead of the hard-coded constant "WIDE_CHARACTER_TEXT_STATE_CYBOI_TYPE" for comparison function call "check_operation"
        * Make sure error "Error: Destination type: 71. Source type: 10." caused by accessing empty ".request:uri:path" disappeared
        * Test cybol application "internet/www_server_static/" successfully

2020-06-25  Christian Heller  <christian.heller@cybop.org>

        * Test handling of multiple clients successfully via socket in cybol applications "socket_server" and "socket_client"
        * Refactor cybol application "internet/www_server_static/"

2020-06-23  Christian Heller  <christian.heller@cybop.org>

        * Adapt loop in file "executor/streamer/reader/socket/socket_reader.c"
        * Introduce flag to distinguish between initial and follow-up read
        * Use function "read_device" (using function "ioctl" internally) to detect data available on socket
        * Test image transfer successfully via socket in cybol applications "socket_server" and "socket_client"

2020-06-20  Christian Heller  <christian.heller@cybop.org>

        * Implement device access using function "ioctl" for device-dependent request code (command)
        * Add files "device_reader.c", "unix_device_reader.c", "win32_device_reader.c"

2020-03-16  Christian Heller  <christian.heller@cybop.org>

        * Implement transfer of long messages with a size greater than the buffer size of 1024 Byte in file "socket_reader.c", using a "while" loop
        * Test image transfer via socket in cybol applications "socket_server" and "socket_client"

2020-03-04  Christian Heller  <christian.heller@cybop.org>

        * Use binary mode always for opening files, no matter if reading or writing, in files "file_reader.c" and "stream_file_writer.c"
        * Delete binary mode cybol property
        * Delete if clause filtering out NULL CHARACTERS in file "element_file_writer.c", since binary data frequently contain null characters that must not be removed
        * Add cybol application "file/copy/"

2020-03-02  Christian Heller  <christian.heller@cybop.org>

        * Make cybol applications "socket_server" and "socket_client" work fully with sending and receiving on both sides

2020-02-29  Christian Heller  <christian.heller@cybop.org>

        * Make transfer of "exit" signal work in cybol applications "socket_server" and "socket_client"

2020-02-19  Christian Heller  <christian.heller@cybop.org>

        * Reactivate file "socket_sensor.c"

2020-02-17  Christian Heller  <christian.heller@cybop.org>

        * Fix mixed pointer- and integer calculation in files "io_entry_setter.c" and "io_entry_getter.c", leading to unpredictable errors when working with channels such as gui, socket etc.
        * Ensure cybol applications "socket_server" and "socket_client" can communicate

2020-02-15  Christian Heller  <christian.heller@cybop.org>

        * Adapt socket startup and shutdown to new input/output entry structure

2020-02-07  Christian Heller  <christian.heller@cybop.org>

        * Prepare reactivation of cybol applications "internet/socket*/"

2020-01-31  Christian Heller  <christian.heller@cybop.org>

        * Clean up files in library "examples/cybol/"
        * Make logger work properly (in debug mode causing log files of a size > 100 MB for cybol application "user_interface/gui/")

2020-01-28  Christian Heller  <christian.heller@cybop.org>

        * Move gui action handling files from directory "executor/representer/deserialiser/gui/" to "executor/representer/deserialiser/gui_action/"
        * Create new file "executor/representer/deserialiser/gui_action/close_window_gui_action_deserialiser.c"
        * Test close-window event in cybol application "user_interface/gui/" and "hello_world/gui/"

2020-01-27  Christian Heller  <christian.heller@cybop.org>

        * Consider only the last in a row of multiple expose events in file "xcb_deserialiser.c", in order to avoid flickering of the display
        * Prepare handling of window close event (arriving as XCB_CLIENT_MESSAGE) in file "xcb_deserialiser.c"
        * Prepare handling of window resize event in file "xcb_deserialiser.c"

2020-01-24  Christian Heller  <christian.heller@cybop.org>

        * Add all possible event types to files "x_window_system_starter.c" and "xcb_deserialiser.c"

2020-01-22  Christian Heller  <christian.heller@cybop.org>

        * Make cybol application "hello_world/gui/" work
        * Extend cybol base library in "examples/cybol/"

2020-01-15  Christian Heller  <christian.heller@cybop.org>

        * Paint background colour of window (somewhat comparable to a root panel) in file "properties_gui_serialiser.c"
        * Adapt cybol application "user_interface/gui/"

2019-12-08  Christian Heller  <christian.heller@cybop.org>

        * Add and prepare cybol application "examples/hello_world/gui/"

2019-12-07  Christian Heller  <christian.heller@cybop.org>

        * Provide standard functionality such as "print-newline" or "exit" in directory "examples/cybol/", to become the cybol base library
        * Merge all "Hello World!" cybol applications into "examples/hello_world/"

2019-11-20  Christian Heller  <christian.heller@cybop.org>

        * Improve cybol application "user_interface/ui/" with buttons for handling input in gui

2019-11-15  Christian Heller  <christian.heller@cybop.org>

        * Adapt x window system shutter to new io entry, in order to eliminate memory error

2019-11-08  Christian Heller  <christian.heller@cybop.org>

        * Fix coordinates in file "button_release_mouse_gui_deserialiser.c" by adding parent element's origo, so that mouse clicks are detected properly

2019-09-27  Christian Heller  <christian.heller@cybop.org>

        * Fix bug that painting empty rectangles lead to hieroglyphic text, since pointers to child parts got serialised
        * Forward model format and filter out parts in file "element_gui_serialiser.c"

2019-09-24  Christian Heller  <christian.heller@cybop.org>

        * Fix bug that setting of gui colours works only if a font is given, since the graphic context expects one
        * Catch non-existing font and use default font in files "context_x_window_system_serialiser.c", "properties_context_x_window_system_serialiser.c"

2019-09-21  Christian Heller  <christian.heller@cybop.org>

        * Fix colour display which currently works only if a font is given

2019-09-18  Christian Heller  <christian.heller@cybop.org>

        * Debug calculation of screen coordinates in files "content_element_part_gui_serialiser.c" and "properties_gui_serialiser.c"
        * Assure proper nesting of gui elements

2019-09-17  Christian Heller  <christian.heller@cybop.org>

        * Forward parent coordinates throughout gui serialiser so that proper screen coordinates may be calculated

2019-06-14  Christian Heller  <christian.heller@cybop.org>

        * Debug appearance of cybol application "user_interface/ui/"

2019-05-07  Christian Heller  <christian.heller@cybop.org>

        * Make cybol application "user_interface/ui/" work with wui as file

2019-05-04  Christian Heller  <christian.heller@cybop.org>

        * Make cybol application "user_interface/ui/" work with tui and gui -- an amazing step, really impressive -- Yippee! and Hooray!

2019-04-29  Christian Heller  <christian.heller@cybop.org>

        * Fix bug that rectangles got painted several times with offset, caused by the layout serialiser, where the position coordinates should be added only for standard gui elements but not for a window

2019-04-25  Christian Heller  <christian.heller@cybop.org>

        * Fix memory access error with cybol application "gui" where .gui.action (message of type text/plain) was used instead of .gui.window (sender of type part/element)
        * Adapt files "receiver.c" and "reader.c" (section DISPLAY_CYBOI_CHANNEL) where pointer reference was used mistakenly instead of normal pointer to copy sender source model into destination message

2019-04-14  Christian Heller  <christian.heller@cybop.org>

        * Replace direct assignment of integer value with call of function "modify_item" in file "xcb_deserialiser.c", so that the destination array gets resized correctly, in case no value was given in cybol

2019-04-12  Christian Heller  <christian.heller@cybop.org>

        * Eliminate default value variables in file "properties_gui_event_deserialiser.c", since values have to be set inside properties and not just locally

2019-03-21  Christian Heller  <christian.heller@cybop.org>

        * Debug handling of button release event in gui deserialiser

2019-03-19  Christian Heller  <christian.heller@cybop.org>

        * Make cybol application "user_interface/gui/" work again with printed message on mouse release event
        * Make cybol application "user_interface/gui/" print coloured rectangles on window expose event

2019-03-17  Christian Heller  <christian.heller@cybop.org>

        * Verify include order and forward declarations of gui deserialiser
        * Clean up superfluous and adapt remaining parametres of all related functions

2019-03-15  Christian Heller  <christian.heller@cybop.org>

        * Read out destination message properties with event details (event_name, x, y) in new file "action_gui_deserialiser.c"
        * Identify extracted event name within clicked gui element of window and write resulting action into destination message model
        * Sort out function call order in gui deserialiser

2019-03-14  Christian Heller  <christian.heller@cybop.org>

        * Copy source model pointer for DISPLAY_CYBOI_CHANNEL in file "reader.c"
        * Fix segmentation fault errors due to wrong pointers of source model
        * Continue gui deserialiser

2019-03-12  Christian Heller  <christian.heller@cybop.org>

        * Fix error that input/output entry was null in gui event deserialiser, due to wrong pointer to internal memory

2019-03-08  Christian Heller  <christian.heller@cybop.org>

        * Complete files: deserialiser, gui_event_deserialiser, properties_gui_event_deserialiser, values_gui_event_deserialiser, xcb_deserialiser
        * Add event constants files "constant/model/cybol/xcb/event_xcb_cybol_model.c" and "constant/name/cybol/state/gui/action_gui_state_cybol_name.c"
        * Delete unused event constants in directories "gui/" and "keyboard/" and "mouse/" of directory "constant/name/cybol/state/"

2019-03-07  Christian Heller  <christian.heller@cybop.org>

        * Complete file "xcb_deserialiser.c"

2019-03-06  Christian Heller  <christian.heller@cybop.org>

        * Adapt gui event deserialiser to new input/output entry structure
        * Delete file "executor/communicator/deallocate_receiver.c", since gui event gets deallocated in gui event deserialiser
        * Delete directory "streamer/reader/display/" which is not necessary, since the gui event is already stored in the io structure by the sensor
        * Free xcb event / win32 message structures that got allocated internally by the sensor in gui event deserialiser

2018-11-25  Christian Heller  <christian.heller@cybop.org>

        * Add gui_event language constant

2018-11-18  Christian Heller  <christian.heller@cybop.org>

        * Hand over property "window" to cybol operation "communicate/receive", since it is needed for determining the action in gui deserialiser

2018-11-16  Christian Heller  <christian.heller@cybop.org>

        * Adapt display stream reader to new input/output entry structure

2018-11-15  Christian Heller  <christian.heller@cybop.org>

        * Finish up handling of input/output entry for shutter similar to starter in directory "executor/maintainer/"

2018-11-14  Christian Heller  <christian.heller@cybop.org>

        * Restructure and unify handling of input/output entry in directory "executor/maintainer/"

2018-11-13  Christian Heller  <christian.heller@cybop.org>

        * Activate channel "display" and all others in file "controller/checker/irq/irq_checker.c"
        * Activate channel "display" and all others in file "controller/checker/io/io_checker.c"
        * Rename file "terminal_acceptor.c" into "empty_acceptor.c" and use it as default for channels: display, serial, terminal in file "acceptor.c"
        * Activate channel "display" and all others in file "executor/acceptor/acceptor.c"
        * Activate channel "display" and all others in file "executor/sensor/sensor.c"

2018-11-12  Christian Heller  <christian.heller@cybop.org>

        * Adapt x window system display shutdown to new input/output entry structure
        * Adapt x window system display stream writer to new input/output entry structure
        * Adapt gui serialiser to new input/output entry structure
        * Add new file "executor/activator/channel_disabler.c"

2018-11-11  Christian Heller  <christian.heller@cybop.org>

        * Adapt x window system display startup in directory "executor/maintainer/starter/" to new input/output entry structure

2018-11-10  Christian Heller  <christian.heller@cybop.org>

        * Reorganise cybol application directory using sub categories

2018-11-08  Christian Heller  <christian.heller@cybop.org>

        * Delete file "constant/model/terminal/stream_terminal_model.c"
        * Delete if-block comparing with STANDARD_INPUT_STREAM_TERMINAL_MODEL in file "executor/streamer/reader/file/file_reader.c"

2018-11-04  Christian Heller  <christian.heller@cybop.org>

        * Use file stream from terminal input/output entry (instead of testwise stdin/stdout directly) in terminal stream writer and reader

2018-10-31  Christian Heller  <christian.heller@cybop.org>

        * Store stdin/stdout file stream instead of file descriptor in input/output memory, since stream is a more complex structure containing the descriptor

2018-10-28  Christian Heller  <christian.heller@cybop.org>

        * Delete files "open_terminal_starter.c", "open_unix_terminal_starter.c", "open_win32_console_starter.c", since code was moved into file "terminal_starter.c"
        * Add files "get_file_number_terminal_starter.c", "get_file_number_unix_terminal_starter.c", "get_file_number_win32_console_starter.c"

2018-10-27  Christian Heller  <christian.heller@cybop.org>

        * Add step-by-step instructions for how to add a new communication channel, in file "doc/development/add_new_communication_channel.txt"

2018-10-24  Christian Heller  <christian.heller@cybop.org>

        * Use default value for service identification in files "applicator/maintain/startup.c" and "applicator/maintain/shutdown.c"
        * Prepare usage of file descriptor from terminal input/output entry instead of stdin/stdout in terminal stream reader and -writer

2018-10-17  Christian Heller  <christian.heller@cybop.org>

        * Adapt terminal shudown files in order to restore original terminal modes properly
        * Merge function "store" for unix- and win32 terminal in file "executor/maintainer/starter/terminal/store_mode_terminal_starter.c"
        * Simplify terminal mode allocation
        * Deallocate new terminal mode right after startup, since it is used as temporary variable only, in file "mode_terminal_starter.c"
        * Correct calculation of IO_ENTRY_COMPOUND_TYPE_SIZE in file "compound_type_size_globaliser.c"
        * Correct wrong function calls of "copy_integer" and "copy_pointer" in functions "set_io_entry_element" and "get_io_entry_element"
        * Hand over io entry as normal pointer (not reference) to functions "set_io_entry_element" and "get_io_entry_element" in all source code
        * Restore terminal mode for input first and for output only afterwards in file "executor/maintainer/shutter/terminal/terminal_shutter.c" since otherwise, line breaks do not work anymore in terminal

2018-10-12  Christian Heller  <christian.heller@cybop.org>

        * Move common functionality from unix_terminal and win32_console to directory "executor/maintainer/starter/terminal/"
        * Store two different original mode settings for input and output in input/output entry, since win32 distinguishes between them using one set of flag constants for each

2018-10-10  Christian Heller  <christian.heller@cybop.org>

        * Move all remaining sensor files from directory "executor/lifeguard/sensor/" to just "executor/sensor/"
        * Delete the following outdated directories and files, since sensing threads are not used anymore:
            "applicator/live/" (replaced by "applicator/activate/")
            "constant/name/cybol/logic/life/"
            "controller/checker/io/threads_io_checker.c"
            "controller/globaliser/type_size/signal_type_size_globaliser.c"
            "controller/globaliser/type_size/thread_type_size_globaliser.c"
            "controller/globaliser/service_exit_globaliser.c"
            "controller/globaliser/thread_identification_globaliser.c"
            "controller/manager/system_signal_handler_manager.c"
            "controller/unglobaliser/service_exit_unglobaliser.c"
            "controller/unglobaliser/signal_unglobaliser.c"
            "controller/unglobaliser/thread_identification_unglobaliser.c"
            "controller/unglobaliser/thread_unglobaliser.c"
            "executor/lifeguard/" (including "interrupter/")
            "variable/type_size/thread_type_size.c"
            "variable/thread_identification.c"
            "variable/service_interrupt.c"
        * Preserve these old thread-handling files for potential future worker threads by adding them to new directory "todo_thread"
        * Clean up file "controller/manager/internal_memory_manager.c" by deleting old thread-related variables
        * Clean up file "constant/name/cyboi/state/internal_memory_state_cyboi_name.c" by deleting old thread-related constants which got replaced with those defined in file "input_output_state_cyboi_name.c"
        * Delete anything having to do with "thread" or "mutex"
        * Delete outdated cybol operations "live/sense" and "live/interrupt", but leave "live/exit" untouched

2018-10-09  Christian Heller  <christian.heller@cybop.org>

        * Hold two separate terminal file descriptors for input- and output
        * Replace outdated property name "part" with "destination" in all cybol applications using cybol operation "modify/empty"
        * Adapt all cybol applications to use operation "activate/enable" instead of old "live/sense"

2018-10-02  Christian Heller  <christian.heller@cybop.org>

        * Add new directory "executor/acceptor/" for sensing client requests on all of the different channels, using the new input/output structure
        * Adapt function "apply_modify", so that the destination type is used as source type by default, for cybol operations like "modify/empty" that do not have a source part

2018-09-26  Christian Heller  <christian.heller@cybop.org>

        * Clean up terminal starter and related files

2018-09-25  Christian Heller  <christian.heller@cybop.org>

        * Add file "edit_attributes_unix_terminal_starter.c"
        * Adapt unix terminal starter files

2018-09-24  Christian Heller  <christian.heller@cybop.org>

        * Update documentation file "src/communication_properties.ods"
        * Add documentation file "src/maintenance_properties.ods" listing and comparing cybol startup/shutdown for various channels, in order to handle them in a unified way within cyboi

2018-09-23  Christian Heller  <christian.heller@cybop.org>

        * Add documentation file "src/communication_properties.ods" listing and comparing cybol send/receive for various channels, in order to handle them in a unified way within cyboi

2018-09-21  Christian Heller  <christian.heller@cybop.org>

        * Add new cybol operations "activate/enable" and "activate/disable"
        * Add new directory "executor/activator/" with files "enabler.c" and "disabler.c"
        * Adapt cybol applications "tui" and "tui_control" to new input/output structure by using operation "activate/enable" instead of old "live/sense"

2018-09-18  Christian Heller  <christian.heller@cybop.org>

        * Extend CMake test "test/terminal_sensor_test" and make it work (verified that non-blocking terminal may be used to detect input data)
        * Distinguish between files "sensor.c" for enabling input detection and "message_sensor.c" for actually detecting input
        * Adapt file "element_client_checker.c" to call sensor
        * Mark outdated thread-based sensor files and functions with suffix "OLD"

2018-09-16  Christian Heller  <christian.heller@cybop.org>

        * Check out libuv of Node.js and decide not to use its ideas, since it is based on threads again
        * Move sensor files to new directory "executor/sensor/"
        * Clean up some CMake tests

2018-09-13  Christian Heller  <christian.heller@cybop.org>

        * Add channel to all input/output functions of directory "controller/checker/"

2018-06-30  Christian Heller  <christian.heller@cybop.org>

        * Release CYBOP 0.20.0

2018-06-18  Christian Heller  <christian.heller@tuxtax.de>

        * Extend cybol operation "sort/bubble" with boolean property "descending" and use "ascending" as default
        * Add file "executor/sorter/bubble/operation_bubble_sorter.c" determining the sort direction

2018-06-14  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up file "part_bubble_sorter.c"
        * Delete directory "executor/searcher/finder/", since it is not used anywhere
        * Rename directory "executor/searcher/name_finder/" into "executor/searcher/finder/"
        * Move and rename file "executor/searcher/detector/array_detector.c" to "executor/detector/detector.c"
        * Move and rename file "executor/searcher/mover/position_mover.c" to "executor/mover/mover.c"
        * Move directory "executor/searcher/selector/" to "executor/selector/"
        * Move directory "executor/searcher/finder/" to "executor/finder/"
        * Delete directory "executor/searcher/"

2018-06-13  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bug that check operation formats got deserialised into compare operations and thus the lexicographical flag not set in operation handler
        * Remove file "compound_comparator.c" again, since file "lexicographical_comparator.c" suffices
        * Remove file "lexicographical_part_comparator.c", since for compound parts there is always just one scalar return value, so that lexicographical comparison is used
        * Optimise file "equal_part_comparator.c" by stopping comparison as soon as one of type, name, model, properties does not match
        * Add new files "minimum_integer_calculator.c" and "maximum_integer_calculator.c"
        * Determine minimum model count of operands before calling functions "compare", "calculate", "cast" (not applicable to "manipulate" and "modify")
        * Rename existing cybol application "calculator" into "calculator_tui"
        * Use cybol application "calculator" for testing arithmetic operations
        * Provide new cybol operations "calculate/minimum" and "calculate/maximum"

2018-06-11  Christian Heller  <christian.heller@tuxtax.de>

        * Try to figure out how to handle compound parts and add new file "compound_comparator.c"

2018-06-05  Christian Heller  <christian.heller@tuxtax.de>

        * Add file "applicator/compare/result_compare.c" for testing result part type
        * Add files "scalar_count_comparator.c" and "vector_count_comparator.c" for testing result part count
        * Remove unused file "executor/representer/deserialiser/cybol/fraction_cybol_deserialiser.c"
        * Implement boolean vector cybol deserialiser, i.e. not just for one but for many values
        * Adapt cybol application "comparator" to using boolean result vectors and not just scalar result values

2018-06-04  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt file "array_comparator.c", so that empty arrays are considered equal now, which is important for parts with empty properties
        * Adapt file "compare.c", so that left operand part model count is used as default count value
        * Search bug causing segmentation fault at variable "lpc" (left properties count) in files "equal_part_comparator.c" and "item_comparator.c"

2018-06-01  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt lexicographical flag in file "equal_part_comparator.c"
        * Delete cybol application "checker", since "comparator" covers string comparison via checker as well
        * Add new file "lexicographical_part_comparator.c"

2018-05-31  Christian Heller  <christian.heller@tuxtax.de>

        * Replace constants "*_CHECK_LOGIC_CYBOI_FORMAT" with "*_COMPARE_LOGIC_CYBOI_FORMAT" in all source code, except file "operation_handler.c"
        * Delete file "compare_bubble_sorter.c", since function "compare_lexicographical" is called from "part_bubble_sorter.c" now
        * Remove string operation type argument, which contained "check" instead of "compare" constant, in sorter files

2018-05-30  Christian Heller  <christian.heller@tuxtax.de>

        * Delegate "check" operations to "compare" in file "operation_handler.c" and set lexicographical flag
        * Delete directory "applicator/check/", since "applicator/compare/" is used for standard as well as lexicographical comparison now
        * Delete files "part_checker.c", "item_checker.c"
        * Split file "elements_array_comparator.c" from file "array_comparator.c", the latter handling left and right index offset
        * Delete file "operand_checker.c", which got replaced by new file "lexicographical_comparator.c"
        * Rename file "array_comparator.c" into "offset_array_comparator.c"
        * Rename file "elements_array_comparator.c" into "array_comparator.c"
        * Split off files "vector_comparator.c" and "offset_comparator.c" from "comparator.c"
        * Use "compare" instead of "check" logic cyboi format in file "operation_checker.c"

2018-05-28  Christian Heller  <christian.heller@tuxtax.de>

        * Delete file "checking_logic_cybol_name.c" and use comparison constants instead
        * Rename function call of "check_array" to "check_operation" in all code
        * Implement new function call order of files: part_checker -> item_checker -> operand_checker (new) -> operation_checker (formerly array_checker) -> array_checker (formerly element_checker)
        * Delegate function calls of checker to comparator, for primitive types, in file "operand_checker.c" (taken from file "compare_bubble_sorter.c")

2018-05-23  Christian Heller  <christian.heller@tuxtax.de>

        * Add operand type as argument to all calls of function "check_array"
        * Simplify checker by deleting files "ascii_array_checker.c" and "internal_array_checker.c"
        * Extend cybol application "comparator" with primitive values
        * Add new cybol application "checker"
        * Delete file "applicator/check/character_check.c" filtering strings, since checker is now usable for all types

2018-05-14  Christian Heller  <christian.heller@tuxtax.de>

        * Add new files "element_part_comparator.c", "unequal_part_comparator.c"
        * Rollback to old state of file "part_comparator.c"
        * Complete file "equal_part_comparator.c"
        * Add new cybol application "comparator"

2018-05-08  Christian Heller  <christian.heller@tuxtax.de>

        * Add new file "equal_part_comparator.c"

2018-05-07  Christian Heller  <christian.heller@tuxtax.de>

        * Add new directory "executor/verifier/" for basic verification functions such as those checking if index and count are outside a data array's boundaries
        * Use verifier function in files "item_comparator", "item_calculator.c", "item_caster.c", "item_manipulator.c", "item_modifier.c"

2018-04-30  Christian Heller  <christian.heller@tuxtax.de>

        * Fix sorting of db list "title" in cybol application file "repertoire/logic/translate/song/sort.cybol", by using stack variable ".(#list)"
        * Add properties "count", "left_index", "right_index" to cybol operation "compare"
        * Fix comparison using sum of index and count (index forgotten up to now) in file "item_comparator"

2018-04-27  Christian Heller  <christian.heller@tuxtax.de>

        * Fix segmentation fault error by adjusting pointer references in files of bubble sorter
        * Test successfully with cybol applications "sorter" and "repertoire"

2018-04-25  Christian Heller  <christian.heller@tuxtax.de>

        * Investigate segmentation fault memory access errors in bubble sorter
        * Add sequence diagram in "src/" showing function calls for sorting algorithm

2018-04-23  Christian Heller  <christian.heller@tuxtax.de>

        * Split file "part_bubble_sorter.c" into several, for more overview
        * Handle comparison criterion in files "part_bubble_sorter.c" and "criterion_bubble_sorter.c"
        * Add comparison criterion as argument to all sort functions

2018-04-22  Christian Heller  <christian.heller@tuxtax.de>

        * Continue file "part_bubble_sorter.c"
        * Extend cybol application "sort"

2018-04-20  Christian Heller  <christian.heller@tuxtax.de>

        * Remove empty include line in all affected files

2018-04-19  Christian Heller  <christian.heller@tuxtax.de>

        * Debug file "part_bubble_sorter.c" using pointer reference
        * Make string comparison work there

2018-04-17  Christian Heller  <christian.heller@tuxtax.de>

        * Add file "part_bubble_sorter.c"

2018-04-16  Christian Heller  <christian.heller@tuxtax.de>

        * Add file "swap_bubble_sorter.c"

2018-03-22  Christian Heller  <christian.heller@tuxtax.de>

        * Introduce new function "compare_vector" to file "comparator.c", adding an offset to the result and expecting it to be an array (vector)
        * Adapt files "array_comparator.c" and "element_checker.c" correspondingly, which call functions "compare_vector" and "compare_offset", respectively

2018-03-21  Christian Heller  <christian.heller@tuxtax.de>

        * Experiment with array (vector) as return value for comparison results in files "array_comparator.c", "element_checker.c", "comparator.c"

2017-11-15  Christian Heller  <christian.heller@tuxtax.de>

        * Test dereferenced pointers for null in all files of pointer calculator, so that function "add_offset" does not produce wild pointers
        * Replace function call of "compare_element" with new checker in function "count_array_element" of file "executor/accessor/counter/array_counter.c"
        * Adapt corresponding cybol application "get_count"

2017-11-14  Christian Heller  <christian.heller@tuxtax.de>

        * Replace function call of "compare_all_part_element" with new checker in functions "find_name_array_fifo" and "find_name_array_lifo" of directory "executor/searcher/name_finder/"
        * Eliminate bug causing cybol applications to not run at all, thereby

2017-11-11  Christian Heller  <christian.heller@tuxtax.de>

        * Add file "controller/tester.c" for writing a part's model and properties to a file

2017-10-18  Christian Heller  <christian.heller@tuxtax.de>

        * Replace function call of "compare_all_array" with "check_array"
        * Provide function "check_array_ascii" for type "character", to be used in file "header_field_http_request_selector.c"
        * Remove property "selection" with value "all" for cybol operations "compare/", in all cybol applications
        * Search bug causing cybol applications to not run at all

2017-10-12  Christian Heller  <christian.heller@tuxtax.de>

        * Optimise lexicographical comparison functions in checker, by deleting redundant functions and using parametres instead
        * Replace cybol application "string_comparison" with "lexicographical_comparison"
        * Remove "all" comparator in directory "executor/comparator/"
        * Rename "value_comparator.c" into "comparator.c"

2017-10-11  Christian Heller  <christian.heller@tuxtax.de>

        * Replace cybol operation "compare/equal" with "check/equal" and remove property "selection" with value "all", in all cybol applications, for "text/plain"
        * Optimise checker, since it applies only to type "wide_character", because others may be compared internally and serialised afterwards
        * Add remaining lexicographical comparison functions to directory "executor/checker/"

2017-10-09  Christian Heller  <christian.heller@tuxtax.de>

        * Rethink usage of "count" in checker for lexicographical comparison
        * Add "check" operation constants, cybol de-/serialiser entry, operation handler section, directory "applicator/check/"
        * Test cybol application "string_comparison" successfully with new cybol operation "check/equal"

2017-09-27  Christian Heller  <christian.heller@tuxtax.de>

        * Replace direct comparison with function "compare_integer_equal" in several files of directory "executor/comparator/"
        * Continue checker for lexicographical comparison

2017-09-26  Christian Heller  <christian.heller@tuxtax.de>

        * Add directory "executor/checker/" for lexicographical comparison

2017-09-13  Christian Heller  <christian.heller@tuxtax.de>

        * Replace direct comparison with function "compare_integer_equal" in file "value_comparator.c"
        * Optimise comparator and restructure directory "executor/comparator/" with focus on part | item | array
        * Remove prefix-, suffix-, subsequence comparator
        * Rename cybol operation "smaller" and "smaller-or-equal" into "less" and "less-or-equal"

2017-06-05  Christian Heller  <christian.heller@tuxtax.de>

        * Complete bubble sorter
        * Decide that a "swapper" is not needed, since values are copied inside the sorter already
        * Adapt cybol application "sorter"

2017-06-03  Christian Heller  <christian.heller@tuxtax.de>

        * Implement bubble sorter

2017-06-02  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare new sort operations

2017-05-15  Christian Heller  <christian.heller@tuxtax.de>

        * Add error codes to file stream reader/writer
        * Add directory stream reader/writer

2017-05-02  Christian Heller  <christian.heller@tuxtax.de>

        * Add cybol application "repertoire"

2017-04-29  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt html serialiser to allow flexible document type

2017-04-26  Christian Heller  <christian.heller@tuxtax.de>

        * Optimise caster and restructure directory "executor/caster/" with focus on part | item | array

2017-04-25  Christian Heller  <christian.heller@tuxtax.de>

        * Rename "value_logifier.c" into "logifier.c"

2017-04-24  Christian Heller  <christian.heller@tuxtax.de>

        * Optimise calculator and restructure directory "executor/calculator/" with focus on part | item | array

2017-04-20  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt applicators for operations "cast" | "compare" | "logify" | "manipulate" to use the type of one operand instead of explicitly given property
        * Delete superfluous property "type" for casting operations like "cast/integer" or "cast/double" in all cybol applications
        * Delete superfluous property "type" for comparison operations like "compare/equal" or "compare/greater-or-equal" in all cybol applications
        * Delete superfluous property "type" for boolean logic operations like "logify/and" or "logify/or" in all cybol applications
        * Delete superfluous property "type" for bit manipulation operations like "manipulate/shift-left" or "manipulate/rotate-right" in all cybol applications

2017-04-18  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt applicator for operation "calculate" to use the type of one operand instead of explicitly given property
        * Delete superfluous property "type" for arithmetic operations like "calculate/add" or "calculate/subtract" in all cybol applications

2017-04-13  Christian Heller  <christian.heller@tuxtax.de>

        * Use io entry structure in files "x_window_system_starter.c" and "x_window_system_shutter.c"
        * Remove old display internal memory state cyboi name constants

2017-04-12  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare reactivation of x window system with new io entry structure for storage in internal memory

2017-04-11  Christian Heller  <christian.heller@tuxtax.de>

        * Fix potential memory leak on reallocation error in file "array_reallocator.c"
        * Move create functionality of directory "executor/memoriser/creator/" to "applicator/memorise/"
        * Rename property "element" into "whole_properties" for cybol operation "memorise/create"
        * Rename property "model" into "part" for cybol operation "memorise/destroy"
        * Adapt all cybol applications

2017-04-10  Christian Heller  <christian.heller@tuxtax.de>

        * Add python script "build/cmake/adjustcopyright.py" of Enrico Gallus
        * Remove file "dist/prepare_release.sh"
        * Release CYBOP 0.19.0

2017-04-06  Christian Heller  <christian.heller@tuxtax.de>

        * Replace log constants of file "constant/model/cyboi/log/message_log_cyboi_model.c" in all code
        * Delete all includes of file "constant/model/cyboi/log/message_log_cyboi_model.c"
        * Delete file "constant/model/cyboi/log/message_log_cyboi_model.c"

2017-04-05  Christian Heller  <christian.heller@tuxtax.de>

        * Delete superfluous property "type" for container operations like "modify/overwrite" or "modify/append" in all cybol applications and api documentation
        * Verify correct execution of cybol application "copier" for testing shallow- and deep (cloning) copying

        * Replace function call "handle_properties" with "modify_item" (append) in file "controller/handler/part_handler.c", for stack memory
        * Remove then superfluous files "controller/handler/properties_handler.c" and "controller/handler/element_properties_handler.c"

        * Eliminate temporary format- and type item parametres in order to simplify cybol deserialiser

        * Move function call "modify_array" (empty) from "array_deallocator" to "item_deallocator", so that only data array but not count and size trigger it

2017-04-03  Christian Heller  <christian.heller@tuxtax.de>

        * Fix errors caused by forgotten setting of adjust count flag in function calls of "modify_item" with "REMOVE_MODIFY_LOGIC_CYBOI_FORMAT"
        * Use "destination_properties" property for operation "modify/empty" in all cybol applications using it

2017-04-02  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt source code to changed function signatures of directory "executor/modifier/"

2017-04-01  Christian Heller  <christian.heller@tuxtax.de>

        * Rename functions "modify_part_element" into "modify_part" and "modify_item_element" into "modify_item"

2017-03-31  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt modifier functions by forwarding deep copying flag in directory "executor/modifier/"
        * Support cybol properties "destination_property" and "source_property" in file "applicator/modify/modify.c"
        * Evaluate cybol property flag "move", in order to use shallow- or deep copying
        * Reintroduce type comparison of destination- and source part in file "applicator/modify/modify.c"
        * Eliminate explicit cybol property "type" in file "applicator/modify/modify.c"

2017-03-30  Christian Heller  <christian.heller@tuxtax.de>

        * Move directory "executor/modifier/copier/" one level up to "executor/copier/"
        * Add deep copying flag to function "copy_array_forward" in file "executor/copier/array_copier.c"

2017-03-27  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up directory "executor/modifier/emptier/"
        * Clean up directory "executor/modifier/inserter/"
        * Clean up directory "executor/modifier/remover/"

2017-03-24  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up directory "executor/modifier/appender/"

2017-03-22  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up directory "executor/modifier/filler/"
        * Clean up directory "executor/modifier/overwriter/"

2017-03-21  Christian Heller  <christian.heller@tuxtax.de>

        * Merge container functionality "overwrite", "append", "insert", "remove", "empty", "fill" into cybol operation "modify"
        * Clean up directory "applicator/modify/"

2017-03-20  Christian Heller  <christian.heller@tuxtax.de>

        * Provide "move" flag as property in cybol operations "overwrite", "append", "insert"

2017-03-17  Christian Heller  <christian.heller@tuxtax.de>

        * Hand over deep copying flag to function "copy_array_backward" and adapt all source code
        * Remove superfluous files "applicator/modify/build.c" and "build_modification_logic_cybol_name.c"

2017-03-16  Christian Heller  <christian.heller@tuxtax.de>

        * Fix build for mingw after preprocesor changes

2017-03-13  Enrico Gallus <enrico.gallus@gmail.com>

        * Move CMakeList.txt and .clang-format to build
        * Adjust INSTALL
        * Include doxygen to cmake

2017-03-12  Enrico Gallus <enrico.gallus@gmail.com>

        * Fix build for mac os x after preprocesor changes

2017-03-12  Christian Heller  <christian.heller@tuxtax.de>

        * Remove autotools configuration files, since they got replaced with CMake

2017-03-10  Christian Heller  <christian.heller@tuxtax.de>

        * Let last preprocessor branch report an error instead of using linux as fallback OS
        * Replace preprocessor macros with posix-compliant ones

2017-03-10  Enrico Gallus <enrico.gallus@gmail.com>

        * Simplify string constant in the constant directory using a python script
        * move all tester c-files to the test-directory
        * removed all the test model, names which have been used, removed unused references to test-files

2017-03-08  Enrico Gallus <enrico.gallus@gmail.com>

        * Fix several issues around the cmake scripts
        * Merge and convert "arithmetiser_tester" and "integer_calculator_tester"

2017-03-07  Christian Heller  <christian.heller@tuxtax.de>

        * Create project directory "build/" keeping cmake script, manpages, icons
        * Remove outdated project directories "admin/" and "CMake/"

2017-03-06  Enrico Gallus <enrico.gallus@gmail.com>

        * Add cmake build scripts
        * Move some testing functionality from "src/tester/" to "test/"

2017-03-06  Christian Heller  <christian.heller@tuxtax.de>

        * Optimise cybol application "counter_stack_deep"

2017-03-03  Christian Heller  <christian.heller@tuxtax.de>

        * Continue cybol application "clean_result_directory"

2017-02-28  Christian Heller  <christian.heller@tuxtax.de>

        * Optimise cybol application "tui_control" using stack variable
        * Rewrite cybol application "clean_result_directory"

2017-02-26  Christian Heller  <christian.heller@tuxtax.de>

        * Show error message whenever a wrong file path is used or non-existing file is to be accessed in "executor/streamer/"

2017-02-24  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bug in file "executor/streamer/writer/signal/signal_writer.c" where signal memory part was used instead of signal memory part model item
        * Make cybol applications using channel "signal" work again thereby
        * Fix strange behaviour with red bars in menu of cybol application "tui_control"

2017-02-23  Christian Heller  <christian.heller@tuxtax.de>

        * Find bug that stack variables were allocated repeatedly for each element of a part
        * Move stack handling from file "element_part_handler.c" to "part_handler.c"
        * Migrate cybol api documentation application to new knowledge path syntax with mime type "text/cybol-path"
        * Migrate cybol application "project_overview" to new knowledge path syntax with mime type "text/cybol-path"

2017-02-06  Christian Heller  <christian.heller@tuxtax.de>

        * Compare destination- and source type in file "applicator/modify/overwrite.c" to prevent memory errors
        * Continue migrating cybol api documentation application to new knowledge path syntax (use stack variables, replace manually assembled paths a la [index])

2017-02-04  Christian Heller  <christian.heller@tuxtax.de>

        * Migrate cybol application "project_overview" to new knowledge path syntax
        * Migrate cybol api documentation application to new knowledge path syntax

2017-02-03  Christian Heller  <christian.heller@tuxtax.de>

        * Decide to not allow integer literal as index in cybol knowledge paths, for reasons explained in design document
        * Clean up knowledge path deserialiser

2017-02-01  Christian Heller  <christian.heller@tuxtax.de>

        * Move memory prefix constants into file "memory_separator_knowledge_cyboi_name.c"
        * Fix processing of multiple knowledge path references by using a path copy in file "reference_knowledge_deserialiser.c"
        * Rename cybol application "index_usage" into "cybol-path_1"
        * Rename cybol application "cybol-path" into "cybol-path_2"
        * Merge files "name_part_knowledge_deserialiser.c" and "index_part_knowledge_deserialiser.c" into new file "identification_knowledge_deserialiser.c"
        * Prepare knowledge path deserialiser for usage of integer literal as index

2017-01-30  Christian Heller  <christian.heller@tuxtax.de>

        * Debug knowledge memory deserialiser pointer error caused by wrong knowledge memory pointer forwarded in file "checker.c"
        * Debug knowledge memory deserialiser empty return value error caused by forgotten copy function in file "part_knowledge_deserialiser.c"
        * Replace number sign with colon in model diagram serialiser
        * Write cybol application "cybol-path" for testing knowledge path variants

2017-01-27  Christian Heller  <christian.heller@tuxtax.de>

        * Replace loop in file "knowledge_deserialiser.c" with simple condition
        * Factor out memory comparison sections of file "begin_knowledge_selector.c" to new file "root_knowledge_selector.c"

2017-01-26  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt function argument "knowledge memory part" to be handed over as pointer reference wherever it appears

2017-01-18  Christian Heller  <christian.heller@tuxtax.de>

        * Continue knowledge deserialiser and knowledge selector for path () and index []
        * Rename some files in knowledge deserialiser and knowledge selector

2017-01-17  Christian Heller  <christian.heller@tuxtax.de>

        * Redesign knowledge deserialiser and knowledge selector in order to enable nested paths
        * Add cybol application "project_overview"

2017-01-13  Christian Heller  <christian.heller@tuxtax.de>

        * Decide to NOT handle properties container itself, e.g. with colon at end like ".model.item:", since they are not a part, but just an item
            (might have been useful to get properties count via cybol operation "access/count")

2017-01-12  Christian Heller  <christian.heller@tuxtax.de>

        * Replace format "path/reference" with "path/knowledge" in all cybol applications and add "*" as prefix in affected knowledge paths
        * Add new format "text/cybol-path" to cyboi
        * Remove old mime types "path/knowledge", "path/reference", "path/stack" from cyboi
        * Tailor files "handler.c" and "knowledge_part_getter.c" since common code was moved to unified knowledge path deserialiser
        * Replace "path/knowledge" with "text/cybol-path" in all cybol applications

2017-01-11  Christian Heller  <christian.heller@tuxtax.de>

        * Replace memory root paths "/knowledge", "/stack", "/signal" with ".", "#", "|", respectively

2017-01-10  Christian Heller  <christian.heller@tuxtax.de>

        * Remove cybol operations of mime category "inspect/", since all kinds of memory may now be accessed via knowledge path
        * Adapt file "name_part_knowledge_deserialiser.c" to also consider stack memory, so that file "stack_knowledge_deserialiser.c" may get deleted
        * Replace format "path/stack" with "path/knowledge" in all cybol applications
        * Replace format "path/reference" with "path/knowledge" in cybol application "tui_control" and add "*" as prefix in affected knowledge paths

2017-01-05  Christian Heller  <christian.heller@tuxtax.de>

        * Make stack memory and signal memory a part instead of just an item in file "manager.c" and related controller files
        * Adapt cybol application "counter" using new paths "/knowledge", "/stack", "/signal" for writing memory content into file using "communicate/send" operation

2017-01-04  Christian Heller  <christian.heller@tuxtax.de>

        * Provide new knowledge path separator name constant "/", followed by one of "knowledge", "signal", "stack", for memory access
        * Extend knowledge path deserialiser to retrieve all kinds of memory (knowledge, signal, stack)
        * Forward internal system memory to most functions to be able to get pointer reference to memory entries
        * Adapt cybol application "counter" to use new path "/knowledge" for receiving file "app.cybol" directly into knowledge tree root

2017-01-02  Christian Heller  <christian.heller@tuxtax.de>

        * Replace knowledge path character "#" for property access with ":"
        * Add new cybol operations "inspect/knowledge", "inspect/stack", "inspect/system" for writing memory content into a file

2016-12-28  Christian Heller  <christian.heller@tuxtax.de>

        * Extend knowledge deserialiser to accept path references, e.g. *.app.node and unlimited nested references, e.g. **.app.node

2016-12-23  Christian Heller  <christian.heller@tuxtax.de>

        * Rename temporary "x" into cybol application "password_generator"
        * Extend path handling with file "stack_knowledge_deserialiser.c", so that stack variables can be resolved, e.g. in ".app.(stack_variable_name).xyz"

2016-12-21  Christian Heller  <christian.heller@tuxtax.de>

        * Release CYBOP 0.18.0

2016-12-19  Christian Heller  <christian.heller@tuxtax.de>

        * Add sort algorithms (quick, bubble) as cyboi operations of Alexander Heimann, Julius Krenkel, Paul Müller
        * Add cyboi shell commands of Leonard Franke, Jörg Broy, Richard Lüdtke
        * Add cybol application "password_generator" of Florian Aurich, Andre Noldin
        * Add cybol application game "bullsandcows" (mastermind) of Ronny Zingler
        * Add ide "Code::Blocks" project file and user manual of Kevin Klein, Tobias Donix
        * Prepare release CYBOP 0.18.0
        * Move tutorial for adding cybol operations to "doc/development/add_new_cybol_operation.txt"

2016-12-12  Christian Heller  <christian.heller@tuxtax.de>

        * Remove file "item_copier.c", since copying happens only on array- or part level
        * Verify file "copier_tester.c"
        * Conclude not to provide a property (option) "deep" with format "logicvalue/boolean" to cybol operations "overwrite" and "append" etc.,
            and instead to take deep copying as default inside, since shallow copying might mix up the knowledge tree, e.g. with circular references
        * Add cybol application "copier" for testing shallow- and deep copying
        * Use function "copy_part" for cloning (deep copying) local stack variables in file "controller/handler/element_properties_handler.c"

2016-12-08  Christian Heller  <christian.heller@tuxtax.de>

        * Continue cloning functionality, also called deep copying (PART_ELEMENT_STATE_CYBOI_TYPE),
            in addition to the already existing shallow copying (POINTER_STATE_CYBOI_TYPE), in directory "executor/modifier/copier/"

2016-12-07  Christian Heller  <christian.heller@tuxtax.de>

        * Optimise file "knowledge_part_getter.c" using a recursive function call
        * Replace format "text/plain" with "path/knowledge" for some parts of cybol application "tui_control"
        * Conclude that deep copying is necessary for stack memory, but also shallow knowledge/reference paths may be copied
        * Make all data types work with stack memory, excluding "element/part" which needs cloning

2016-12-01  Christian Heller  <christian.heller@tuxtax.de>

        * Provide blocking input on channel "terminal" for "communicate/receive" operation
        * Make cybol application "addition_user_input" work

2016-11-29  Christian Heller  <christian.heller@tuxtax.de>

        * Eliminate "segmentation fault" error caused by "sort" functions in "executor/sorter/" and cybol application "sort"
        * Investigate wrong values in sorted array delivered by "executor/sorter/" and cybol application "sort"

2016-11-28  Christian Heller  <christian.heller@tuxtax.de>

        * Add cybol application "addition_user_input" testing blocking terminal input
        * Prepare release CYBOP 0.18.0

2016-11-24  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bug "bus error" caused by wrong loop index in file "lifo_array_name_finder.c",
            appearing on some machines when executing cybol application "counter_stack_deep"
        * Replace some constant values like {L'm', L'v'} with string like L"mv" in directory "model"

2016-11-20  Christian Heller  <christian.heller@tuxtax.de>

        * Create cybol application "counter_stack_deep" to test LIFO-principle with equally named stack variables within three nested loops
        * Adapt cyboi functions to offer part search by FIFO or LIFO principle
        * Deliver stack element that was added last in file "knowledge_part_getter.c"

2016-11-15  Christian Heller  <christian.heller@tuxtax.de>

        * Complete stack memory handling (works only for integer values, until copy/clone is ready in the future)
        * Use cybol application "counter_stack" to test stack variables

2016-11-14  Christian Heller  <christian.heller@tuxtax.de>

        * Forward stack memory as argument throughout cyboi system
        * Implement access to stack memory from within cybol via format "path/stack"

2016-11-13  Christian Heller  <christian.heller@tuxtax.de>

        * Decide to specify stack variable values as properties of a compound logic part structure in cybol
        * Use existing cyboi part structure as known from knowledge memory for stack memory entries as well
        * Implement duplication/addition/automatic removal of values for stack memory in files "controller/handler/element_part_handler.c" and "controller/handler/element_properties_handler.c"

2016-11-07  Christian Heller  <christian.heller@tuxtax.de>

        * Replace all constant values like {L'm', L'v'} with string like L"mv" in directories "channel", "encoding", "format", "language", "type"

2016-05-20  Christian Heller  <christian.heller@tuxtax.de>

        * Update lightning talk

2016-05-04  Christian Heller  <christian.heller@tuxtax.de>

        * Update cybol schema files

2016-03-31  Christian Heller  <christian.heller@tuxtax.de>

        * Complete module "copier_tester.c" for unit testing deep copying functionality
        * Remove directory "executor/memoriser/cloner/" recursively, since it has been replaced by "executor/modifier/copier/"

2016-03-24  Christian Heller  <christian.heller@tuxtax.de>

        * Rename module "value_copier.c" into "copier.c"
        * Include module "copier.c" in file "cyboi.c", since no other module includes it directly, but forward declarations in e.g. "array_copier.c" require it
        * Clean up includes and forward declarations for correct module dependency
        * Prepare module "copier_tester.c" for unit testing deep copying functionality

2016-03-23  Christian Heller  <christian.heller@tuxtax.de>

        * Add doxygen configuration files in directory "doxygen/", for automatically generating source code api documentation with module dependencies

2016-03-22  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up directory "tester/" and related constants and functionality

2016-03-12  Christian Heller  <christian.heller@tuxtax.de>

        * Introduce "deep copying argument" in array- and value copying functions

2016-03-10  Christian Heller  <christian.heller@tuxtax.de>

        * Move deep copy (clone) functionality to files "value_copier.c", "content_part_copier.c", "part_copier.c", "item_copier.c"

2016-03-09  Christian Heller  <christian.heller@tuxtax.de>

        * Add clone functionality to directory "executor/memoriser/cloner/"

2016-03-07  Christian Heller  <christian.heller@tuxtax.de>

        * Add cyboi shell commands and cyboi operations of Christopher Stoneking, Christian Szech
        * Add cybol application game "minesweeper" [Minenräumer] of Matthias Thurow
        * Add cybol application game "blackjack" [Siebzehn und Vier] of Dmitry Brodskiy, Sven Haueisen, Jan Wellner
        * Add cybol application "webstat" of Markus Then, Stanley Sellig, Nico Schallehn
        * Add cybol api update of Christian Schulz, Lena Braun
        * Add german cybop manual update of Sebastian Wolff, Tobias Thurow
        * Add benchmark tool comparing cybol with c++, java, python of Sebastian Kloppe, Patrick Hebner

2016-02-29  Christian Heller  <christian.heller@tuxtax.de>

        * Introduce stack memory

2016-02-15  Markus Then <markus.then@cs13-2.ba-leipzig.de>

        * Set Linux BSD Sockets reusable after programme execution

2016-02-08  Christian Heller  <christian.heller@tuxtax.de>

        * Debug file open scheme and verify closing of files
            strace -re trace=close ../src/controller/cyboi webstat/run.cybol
            strace -re trace=open ../src/controller/cyboi webstat/run.cybol
            strace -re trace=file ../src/controller/cyboi webstat/run.cybol
        * Check return value of "fclose" function calls for error in all code

2016-02-01  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare "counter_stack" cybol application

2016-01-27  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up cybol api
        * Add "model" and/or "properties" property (as needed) to all occurences of "modify/empty" operation in cybol api to make generation work again

2016-01-18  Christian Heller  <christian.heller@tuxtax.de>

        * Add todo files of new student group members
        * Rename property "message" into "sender" and "model" into "message" for receive operations in cybol api application source code

2015-06-19  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt cybol de-/serialiser to new constants for "datetime" format and "chronology" language

2015-06-18  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up constants for "datetime" format and "chronology" language

2015-06-17  Christian Heller  <christian.heller@tuxtax.de>

        * Add new "chronology" language files for calendar systems

2015-05-15  Christian Heller  <christian.heller@tuxtax.de>

        * Add "exit_application" action to cybol application "presence"
        * Run valgrind test

2015-04-29  Christian Heller  <christian.heller@tuxtax.de>

        * Create page links (for retrieval of images and css file) dynamically in cybol application "presence", so that hostname (ip address) is correct

2015-04-28  Christian Heller  <christian.heller@tuxtax.de>

        * Debug file "element_client_socket_shutter.c" where socket was retrieved as pointer instead of as int so that data were read from a phantasy socket
        * Adapt cybol application "presence" to properly close client socket after each request

2015-04-20  Christian Heller  <christian.heller@tuxtax.de>

        * Release CYBOP 0.17.0

2015-04-17  Christian Heller  <christian.heller@tuxtax.de>

        * Correct usage of types "char" and "wchar_t" as well as comparison function in http serialiser
        * Specify http headers in ".app.var" and ".app.wui" instead of in "send" operations in cybol application "presence"
        * Add directory "executor/accessor/getter/part/" ("name_part_getter.c" and "index_part_getter.c" calling "knowledge_part_getter.c")
        * Adapt file "header_entry_http_response_serialiser.c" to use new file "index_part_getter.c"

2015-04-15  Christian Heller  <christian.heller@tuxtax.de>

        * Remove client socket from server's client list on closing, so that it does not get queried any longer with function "check_io_accept" and the socket error "EBADF" gets avoided

2015-04-14  Christian Heller  <christian.heller@tuxtax.de>

        * Add shell script in directory "bin" for starting cybol application "presence"
        * Add http header properties in file "send.cybol" for sent messages in cybol application "presence"
        * Investigate favicon handling by testing formats ico and png
        * Close client socket after each request in file "handle.cybol" in cybol application "presence", solving problem with socket endless loop reading data
        * Accept more than just one client request in cybol application "presence"

2015-04-12  Christian Heller  <christian.heller@tuxtax.de>

        * Add cybol application "indicate" for testing cybol operations "access/indicate-empty" and "access/indicate-exists"
        * Set default values in wui cell for non-existing database in cybol application "presence"
        * Implement "cal_to_wui" translation in cybol application "presence"
        * Improve formatting and add still missing data in cybol application "presence"

2015-04-10  Christian Heller  <christian.heller@tuxtax.de>

        * Create non-existing directories before writing persistent data to file in cybol application "presence"

2015-04-09  Christian Heller  <christian.heller@tuxtax.de>

        * Implement cybol application "presence" "forward" and "backward" logic, counting calendar week up and down

2015-04-08  Christian Heller  <christian.heller@tuxtax.de>

        * Do not specify encoding in file "content_element_part_cybol_serialiser.c" in order to avoid parse errors when reading serialised inline data

2015-04-03  Christian Heller  <christian.heller@tuxtax.de>

        * Introduce new channel "clock" for reading and adjusting time and date
        * Introduce new channel "randomiser" for sowing a seed and generating random numbers
        * Extend file "receiver.c" with long long int buffer for datetime and random numbers

2015-03-27  Christian Heller  <christian.heller@tuxtax.de>

        * Complete cybol element/part serialiser by initialising destination nodes properly
        * Complete cybol application "presence" uri-to-db translation
        * Rename all cybol application "presence" xml tags (model, part, property, constraint) uniformly to just "node"

2015-03-24  Christian Heller  <christian.heller@tuxtax.de>

        * Implement xml serialiser based upon html serialiser

2015-03-20  Christian Heller  <christian.heller@tuxtax.de>

        * Continue cybol element/part serialiser

2015-03-18  Christian Heller  <christian.heller@tuxtax.de>

        * Implement cybol element/part serialiser
        * Clean up serialisers for gui, html, model_diagram, tui by using cybol serialiser functions

2015-03-16  Christian Heller  <christian.heller@tuxtax.de>

        * Implement cybol application "presence" uri-to-wui translation
        * Implement cybol application "presence" uri-to-db translation
        * Restructure cybol application "presence" source files using new directory "domain"

2015-03-15  Christian Heller  <christian.heller@tuxtax.de>

        * Add new operation "access/get-index" determining the index of a part within a whole

2015-03-14  Christian Heller  <christian.heller@tuxtax.de>

        * Implement cybol application "presence" db-to-wui uri href translation

2015-03-12  Christian Heller  <christian.heller@tuxtax.de>

        * Optimise and reset cybol application "presence" loop variables
        * Implement cybol application "presence" db-to-wui translation

2015-03-11  Christian Heller  <christian.heller@tuxtax.de>

        * Generate cybol application "presence" wui tables "choices" and "lecturers" dynamically

2015-03-10  Christian Heller  <christian.heller@tuxtax.de>

        * Design cybol application "presence" architecture

2015-03-09  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bug that images were not transferred in cybol application "presence", since encoding got assigned in file "content_element_part_cybol_deserialiser.c" but is later tested for null
        * Implement cybol application "presence" wui overview, lecturers, choice

2015-03-07  Christian Heller  <christian.heller@tuxtax.de>

        * Implement cybol application "presence" wui navigation
        * Adapt default values in file "content_element_part_cybol_deserialiser.c"

2015-03-05  Christian Heller  <christian.heller@tuxtax.de>

        * Implement cybol application "presence" web user interface (wui)

2015-03-04  Christian Heller  <christian.heller@tuxtax.de>

        * Complete cybol application "presence" prototype

2015-03-03  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bug that http response body was not serialised without encoding
        * Add favicon to cybol application "www_server_static"

2015-03-02  Christian Heller  <christian.heller@tuxtax.de>

        * Rename cybol application "www_server" into "www_server_dynamic"
        * Add new cybol application "www_server_static" delivering static files to clients
        * Add new language "message/binary" for arbitrary data
        * Delete file "http_request_selector.c", since http/webdav method should get evaluated in cybol application
        * Continue cybol application "presence" prototype

2015-03-01  Christian Heller  <christian.heller@tuxtax.de>

        * Move property "language indentation" retrieval from function "apply_send" to serialiser
        * Debug cybol application "www_server" adding "encoding" for webpage
        * Extend cybol application "www_server" web user interface
        * Implement dynamic transfer of file "formatting.css" in cybol application "www_server"

2015-02-26  Christian Heller  <christian.heller@tuxtax.de>

        * Generate webpage in cybol application "www_server" before sending it via http

2015-02-25  Christian Heller  <christian.heller@tuxtax.de>

        * Update http-response serialiser
        * Extend operation "modify/empty" by "model" and "properties" flags indicating what is to be emptied

2015-02-24  Christian Heller  <christian.heller@tuxtax.de>

        * Update http-request uri deserialiser

2015-02-23  Christian Heller  <christian.heller@tuxtax.de>

        * Update http-request deserialiser

2015-02-15  Christian Heller  <christian.heller@tuxtax.de>

        * Reactivate http-request deserialiser

2015-02-13  Christian Heller  <christian.heller@tuxtax.de>

        * Complete new communicator- and streamer files for channel "display" (sender and writer)
        * Complete new communicator- and streamer files for channel "signal"
        * Move signal receive functionality from file "controller/checker/signal_checker.c" to "executor/streamer/reader/signal/signal_reader.c"
        * Add null termination to anything sent to terminal, since the function "fwprintf" relies on it
        * Fix bug that terminal input did not work by using special buffer in file "select_receiver.c"

2015-02-12  Christian Heller  <christian.heller@tuxtax.de>

        * Complete new communicator- and streamer files for channel "display" (receiver and reader)
        * Adapt gui/xcb/win32_display sensor

2015-02-11  Christian Heller  <christian.heller@tuxtax.de>

        * Add new file "termination_sender.c" to directory "executor/communicator/sender/"
        * Complete new communicator- and streamer files for channel "terminal"

2015-02-10  Christian Heller  <christian.heller@tuxtax.de>

        * Complete new communicator- and streamer files for channel "file"
        * Complete new communicator- and streamer files for channel "serial_port"

2015-02-09  Christian Heller  <christian.heller@tuxtax.de>

        * Complete new communicator- and streamer files for channel "inline"
        * Assign default encoding "utf-8" for channel "file", but NOT for channel "inline", in file "content_element_part_cybol_deserialiser.c"

2015-02-08  Christian Heller  <christian.heller@tuxtax.de>

        * Add new directory "executor/packer/" with "compressor" and "extractor"
        * Complete new communicator- and streamer files for channel "socket"

2015-02-06  Christian Heller  <christian.heller@tuxtax.de>

        * Reflect on design of input/output filter chain (device|compression|encoding|language+format|knowledge)
        * Add new directory "executor/streamer/" for reading/writing low level data from/to a device
        * Make communicator the central input/output point calling pipeline functions

2015-02-05  Christian Heller  <christian.heller@tuxtax.de>

        * Search function calls "deallocate_array" and hand over NULL as "count" argument
        * Rename cybol application "TicTacToe" into "tictactoe"
        * Rename cybol application "wui_socket" into "www_server"

2015-02-04  Christian Heller  <christian.heller@tuxtax.de>

        * Optimise endless loop in file "message_socket_receiver.c" to peek ahead for further data
        * Extend socket shutter by closing a server socket's clients in list on shutdown
        * Add new file "controller/manager/shutdown_manager.c" looping all services at shutdown
        * Activate socket shutdown functionality

2015-02-02  Christian Heller  <christian.heller@tuxtax.de>

        * Add socket "blocking" property to cybol and cyboi
        * Fix endless loop bug in file "message_socket_receiver.c"
        * Complete "socket" cybol application using non-blocking server and blocking client

2015-01-30  Christian Heller  <christian.heller@tuxtax.de>

        * Extend io_entry structure with "client list" array (one for each channel)
        * Allocate cyboi-internal integer item at service startup, storing list of clients, e.g. sockets
        * Structure checker files using new directory "controller/checker/client/"
        * Check client list for available data and store client number as "sender", handed over as argument from cybol
        * Set non-blocking mode for socket at startup

2015-01-29  Christian Heller  <christian.heller@tuxtax.de>

        * Distinguish between sensor for accepting new client (file "sense_socket_accept.c") and that testing for data (file "sense_socket.c")
        * Hand over socket option flags as additional argument to receive function, since it is used both for normal receive and for peeking ahead (MSG_PEEK) for available data

2015-01-27  Christian Heller  <christian.heller@tuxtax.de>

        * Debug socket communication
        * Add files "list_io_checker.c", "clients_io_checker.c", "client_io_checker.c"

2015-01-22  Christian Heller  <christian.heller@tuxtax.de>

        * Debug socket communication in cyboi
        * Make cybol applications "socket_server" and "socket_client" work

2015-01-21  Christian Heller  <christian.heller@tuxtax.de>

        * Add new cybol applications "socket_server" and "socket_client"
        * Correct pointer copying in files "accessor/getter/io_entry_getter.c" and "accessor/setter/io_entry_setter.c"

2015-01-20  Christian Heller  <christian.heller@tuxtax.de>

        * Restructure files in directory "controller/checker/"
        * Continue socket sensor

2015-01-19  Christian Heller  <christian.heller@tuxtax.de>

        * Optimise signal/irq handling in checker

2015-01-18  Christian Heller  <christian.heller@tuxtax.de>

        * Read property "sender" for cybol operation "live/sense" in applicator
        * Create uml activity diagram (ad) for signal checker/sensor flow

2015-01-16  Christian Heller  <christian.heller@tuxtax.de>

        * Eliminate property "encoding" for socket send/receive operations
        * Rename property "message" into "sender" and "model" into "message" for receive operations
        * Adapt cybol applications

2015-01-15  Christian Heller  <christian.heller@tuxtax.de>

        * Update receive functionality for socket

2015-01-14  Christian Heller  <christian.heller@tuxtax.de>

        * Update send functionality for socket

2015-01-13  Christian Heller  <christian.heller@tuxtax.de>

        * Restructure lifeguard sensor functions to use unified code for all channels in new file "channel_sensor.c"
        * Provide service id (e.g. socket port) for all channels

2015-01-12  Christian Heller  <christian.heller@tuxtax.de>

        * Create new files checking for service interrupts in controller
        * Prepare elimination of sensing threads

2015-01-09  Christian Heller  <christian.heller@tuxtax.de>

        * Replace direct "malloc" with "allocate_array" in socket address socket starter files
        * Create io entry array structure for server socket i/o at startup and destroy at shutdown

2014-12-30  Christian Heller  <christian.heller@tuxtax.de>

        * Add file "input_output_state_cyboi_name.c"

2014-12-26  Christian Heller  <christian.heller@tuxtax.de>

        * Cleanup various variable names for socket and serial port
        * Remove socket base deserialiser since only one socket base is used for internal memory in the future

2014-12-21  Christian Heller  <christian.heller@tuxtax.de>

        * Continue socket sender

2014-12-19  Christian Heller  <christian.heller@tuxtax.de>

        * Provide syntax files in XML, JSON, self-defined "short" notation in new directory "doc/books/cybol/syntax/"

2014-12-17  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare bsd_socket/winsock function "recv/send"

2014-12-16  Christian Heller  <christian.heller@tuxtax.de>

        * Replace symbolic names for socket style
        * Reorganise some files into directory "controller/globaliser/type_size/"
        * Define global socket variables in files "variable/type_size/socket_type_size.c" and "controller/globaliser/type_size/socket_globaliser.c"
        * Remove "sizeof" operand at various places and use global type size variables instead

2014-12-15  Christian Heller  <christian.heller@tuxtax.de>

        * Add file "variable/symbolic_name/style_socket_symbolic_name.c"

2014-12-14  Christian Heller  <christian.heller@tuxtax.de>

        * Replace symbolic names (pre-processor-defined constants) with global integer variables in file "socket_address_socket_starter.c"

2014-12-13  Christian Heller  <christian.heller@tuxtax.de>

        * Replace symbolic names with global variables in file "executor/representer/serialiser/terminal_mode/line_speed_terminal_mode_serialiser.c"

2014-12-11  Christian Heller  <christian.heller@tuxtax.de>

        * Complete files in directory "variable/symbolic_name/"

2014-12-10  Christian Heller  <christian.heller@tuxtax.de>

        * Exclude local unix domain socket for windows compilation, since it doesn't exist there
        * Exclude ipv6 support for windows compilation, since it is not supported by mingw yet
        * Reactivate socket in file "starter.c"
        * Create new files in directories "variable/symbolic_name/" and "controller/globaliser/symbolic_name/"

2014-12-09  Christian Heller  <christian.heller@tuxtax.de>

        * Move and rename file "port_socket_starter.c" to become "network_service_deserialiser.c"
        * Provide a file "network_service_serialiser.c" as well
        * Move and rename file "base_server_socket_starter.c" to become "socket_base_deserialiser.c"
        * Adapt parametres for startup/shutdown, starting from applicator
        * Use "sizeof (" with space before parenthesis

2014-12-07  Christian Heller  <christian.heller@tuxtax.de>

        * Complete files "service_socket_cybol_model.c" and "port_socket_starter.c"
        * Investigate using "struct sockaddr_storage" on stack representing addresses of any type
        * Decide for de-/allocation of local socket address on heap to gain independence and flexibility

2014-12-06  Christian Heller  <christian.heller@tuxtax.de>

        * Add pre-processor ifdefs for operating system in startup/shutdown of socket
        * Adjust includes and parametres in socket startup/shutdown functions

2014-12-02  Christian Heller  <christian.heller@tuxtax.de>

        * Add cyboi shell commands (ping, grep, traceroute, diff, sort) and cyboi operations (square, squareroot) of Maximilian Brenner
        * Add cybol application "calculator" of Sibylle Hebenstreit, Marc Jäkel, Andreas Burkhardt
        * Add cybol game "TicTacToe" [Drei gewinnt] (single user mode, with tui) of Sandra Rum, Stephan Griese, Thomas Schulze
        * Add cybol api update of Max Müller-Domhardt, Sebastian König
        * Add gui designer "cybol_generator" based on C++/Qt/QtCreator/QtDesigner with cybol/xml generator of Pit Braunsdorf, Sophia Kledzinski
        * Build in special error codes for winsock
        * Add further constants for address family, socket style, protocol

2014-12-01  Christian Heller  <christian.heller@tuxtax.de>

        * Use standard glibc "rand" function instead of BSD's "random", since the latter is not supported by mingw and win32
        * Sort socket files into one of the directories "socket", "bsd_socket", "winsock"

2014-11-30  Christian Heller  <christian.heller@tuxtax.de>

        * Add protocol socket cybol model constants
        * Continue socket files for bsd and windows

2014-11-29  Christian Heller  <christian.heller@tuxtax.de>

        * Optimise cybol application "TicTacToe"

2014-11-28  Christian Heller  <christian.heller@tuxtax.de>

        * Debug API generator so that properties are now generated correctly
        * Add new cybol application "arithmetics"
        * Debug modulo operator handling

2014-11-27  Christian Heller  <christian.heller@tuxtax.de>

        * Add new API generator to directory "doc/books/cybol/api/
        * Eliminate errors due to missing tags in generated html file
        * Provide more slim and efficient solution
        * Remove old API generator directory "doc/books/cybol/cybol/

2014-11-25  Christian Heller  <christian.heller@tuxtax.de>

        * Debug formula considering minimum and maximum in directory "executor/randomiser/"
        * Remove outdated cybol application "calculator_old"
        * Extend cybol application "calculator" by action handling
        * Extend cybol application "wui_socket" by "socket" property

2014-11-24  Christian Heller  <christian.heller@tuxtax.de>

        * Remove superfluous datatype "unsigned long" in all source code
        * Change datatype from "int" to "long long int" at some places
        * Add modulo operator calculation as temporary solution to file "executor/randomiser/retriever.c"
        * Add address families "AF_IRDA" and "AF_BLUETOOTH" to socket files
        * Update cybol application "wui_socket"
        * Move network protocols like http and ftp from channel constants to new file "constant/model/cybol/socket/service_socket_cybol_model.c"
        * Replace channels "cyboi" and "www" with "socket"
        * Provide cybol socket properties "service" and "port" as constants
        * Update constants in file "constant/model/service/port_service_model.c"

2014-11-23  Christian Heller  <christian.heller@tuxtax.de>

        * Extend "randomiser" cybol application, now generating and printing two pseudo random numbers
        * Debug directory "executor/randomiser/"

2014-11-22  Christian Heller  <christian.heller@tuxtax.de>

        * Implement new cybol operation "time/current", in directory "executor/timer/"
        * Implement new cybol operation "randomise/sow" for establishing a seed for a new series of pseudo-random numbers, in directory "executor/randomiser/"
        * Implement new cybol operation "randomise/retrieve" for retrieving the next pseudo-random number in the series, in directory "executor/randomiser/"
        * Implement formula considering minimum and maximum in directory "executor/randomiser/"

2014-11-21  Christian Heller  <christian.heller@tuxtax.de>

        * Create "randomiser" cybol application

2014-11-19  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare bsd socket for server and client usage

2014-11-11  Christian Heller  <christian.heller@tuxtax.de>

        * Move style and family (namespace) files from directory "socket" into "bsd_socket"
        * Restructure directory "bsd_socket"

2014-11-07  Christian Heller  <christian.heller@tuxtax.de>

        * Restructure bsd_socket and socket

2014-11-04  Christian Heller  <christian.heller@tuxtax.de>

        * Debug and complete basic functionality of "calculator" cybol application

2014-10-31  Christian Heller  <christian.heller@tuxtax.de>

        * Reorganise "calculator" cybol application

2014-10-29  Christian Heller  <christian.heller@tuxtax.de>

        * Simplify and update "tui_control" cybol application
        * Debug memory error when logging with "debug" log level (all other levels work fine)

2014-10-26  Christian Heller  <christian.heller@tuxtax.de>

        * Provide separate functions for socket creation and listening

2014-10-25  Christian Heller  <christian.heller@tuxtax.de>

        * Distinguish platforms in socket starter
        * Provide separate functions for socket address choosing and binding

2014-10-24  Christian Heller  <christian.heller@tuxtax.de>

        * Add cybol application "string_comparison"

2014-10-19  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare cybol application "wui_socket" for Max Brenner

2014-10-14  Christian Heller  <christian.heller@tuxtax.de>

        * Update and rename cybol application "http_communication" into "wui_socket"

2014-06-17  Christian Heller  <christian.heller@tuxtax.de>

        * Add missing utf8 conversion of gui text in x window system serialiser
        * Cleanup x window system context by closing font
        * Handle font id at x window system startup and shutdown

2014-06-16  Christian Heller  <christian.heller@tuxtax.de>

        * Continue gui text drawing using xcb font functions in x window system serialiser

2014-05-01  Christian Heller  <christian.heller@tuxtax.de>

        * Add xcb style constant serialisers to x window system serialiser

2014-04-25  Christian Heller  <christian.heller@tuxtax.de>

        * Continue x window system serialiser

2014-04-24  Christian Heller  <christian.heller@tuxtax.de>

        * Continue gui serialiser

2014-04-23  Christian Heller  <christian.heller@tuxtax.de>

        * Continue layout serialiser

2014-04-16  Christian Heller  <christian.heller@tuxtax.de>

        * Continue layout serialiser

2014-04-10  Christian Heller  <christian.heller@tuxtax.de>

        * Update commander files in directory "executor/commander/basic/"
        * Introduce "direction" and "stretch" cybol property models for layout
        * Move some functionality from gui serialiser into layout serialiser

2014-04-08  Christian Heller  <christian.heller@tuxtax.de>

        * Move files one directory up from "executor/commander/basic/"

2014-04-01  Christian Heller  <christian.heller@tuxtax.de>

        * Refactor cybol application "shell_script_clean_result_directory"

2014-03-31  Christian Heller  <christian.heller@tuxtax.de>

        * Add directory "executor/container/" with operation comparing if bounded area contains a given value
        * Release CYBOP 0.16.0

2014-03-28  Christian Heller  <christian.heller@tuxtax.de>

        * Add shell script "dist/prepare_release.sh"

2014-03-20  Christian Heller  <christian.heller@tuxtax.de>

        * Check in extended xdt selectors of Florian Pachel, following BDT and GDT standard documents

2014-03-14  Christian Heller  <christian.heller@tuxtax.de>

        * Add knowledge path extension for accessing node name using parentheses, e.g. .app.wui.(.app.var.page_name).body.table

2014-02-23  Christian Heller  <christian.heller@tuxtax.de>

        * Implement vulgar fraction calculator and comparator

2014-02-22  Christian Heller  <christian.heller@tuxtax.de>

        * Implement vulgar fraction de-/serialiser
        * Add (in the past weeks) iso character set constants of Franziska Wehner
        * Add (in the past weeks) changes to test functions of Melanie Fricke, Philipp Engelmann, Paul Stengel
        * Add (in the past weeks) boolean and bitwise logic operations as well as calculator and comparator for complex number of Tony Kreißl, Sascha Kühnel, Kevin Wettermann
        * Add (in the past weeks) platform-independent shell commands of Alexander Müller, Kevin Glück
        * Add (in the past weeks) compilation changes for Apple Mac OSX of Markus Hinkelmann
        * Add (in the past weeks) cybol calculator application with tui of Cedric Thomas

2014-02-21  Christian Heller  <christian.heller@tuxtax.de>

        * Check for null pointer when accessing compound types (complex, datetime, duration, fraction) in "executor/accessor/getter/" and "executor/accessor/setter/"

2014-02-11  Christian Heller  <christian.heller@tuxtax.de>

        * Add visual studio c adaptations of Mike Feustel and Benno Schilling

2014-02-10  Christian Heller  <christian.heller@tuxtax.de>

        * Implement polar complex de-/serialiser

2014-02-09  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt number areas and use new mime type constants of Franziska Wehner
        * Fix cartesian complex de-/serialiser and test with file "add_complex_calculator.c"

2014-02-07  Christian Heller  <christian.heller@tuxtax.de>

        * Add cartesian- and polar complex de-/serialiser
        * Clean up decimal- and vulgar fraction de-/serialiser

2014-02-05  Christian Heller  <christian.heller@tuxtax.de>

        * Add new gui layout serialiser

2014-02-01  Christian Heller  <christian.heller@tuxtax.de>

        * Sort out serialisation of part and primitives in gui serialiser
        * Prepare platform-independency in gui serialiser

2014-01-31  Christian Heller  <christian.heller@tuxtax.de>

        * Extend "ui" cybol application with wui and tui
        * Rename "ui_control" cybol application into "tui_control"

2014-01-29  Christian Heller  <christian.heller@tuxtax.de>

        * Continue gui serialiser by adding values like line style, fill style, font etc.

2014-01-26  Christian Heller  <christian.heller@tuxtax.de>

        * Add new "ui" cybol application

2014-01-22  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare "apply_logify" operation

2014-01-21  Christian Heller  <christian.heller@tuxtax.de>

        * Provide values for command line argument "--test", in order to call one test at a time

2014-01-18  Christian Heller  <christian.heller@tuxtax.de>

        * Apply colour to drawn test rectangle in gui serialiser

2014-01-17  Christian Heller  <christian.heller@tuxtax.de>

        * Correct setting of window title by using utf-8-encoded char data in gui serialiser

2014-01-15  Christian Heller  <christian.heller@tuxtax.de>

        * Set position and size of window in gui serialiser

2014-01-14  Christian Heller  <christian.heller@tuxtax.de>

        * Set title and icon title of window in gui serialiser

2014-01-13  Christian Heller  <christian.heller@tuxtax.de>

        * Rewrite file "difference_pointer_calculator.c"
        * Remove outdated constants files
        * Add rgb colour format to cybol de-/serialiser

2014-01-12  Christian Heller  <christian.heller@tuxtax.de>

        * Rewrite unix-to-windows path conversion file "executor/commander/basic/adapt_unix_to_windows_path_commander.c"
        * Clean up "wide_character_comparator.c" and "unsigned_long_comparator.c" by adding corresponding sub directories

2014-01-11  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare example file "list_contents_commander.c" for shell command processing

2014-01-06  Christian Heller  <christian.heller@tuxtax.de>

        * Add brochure to directory "doc/presentations/prospectus/"

2013-12-29  Christian Heller  <christian.heller@tuxtax.de>

        * Add slides for short lightning talk on cybop to directory "doc/lightning_talk/"

2013-12-20  Florian Pachel <florian.pachel@gmx.de>

        * Extend bdt xdt selectors, following BDT and GDT standard documents

2013-12-16  Florian Pachel <florian.pachel@gmx.de>

        * Complete file "field_description_xdt_model.c" and "field_bdt_xdt_selector.c", following BDT standard document
        * Consider German KVDT standard which extends xDT

2013-12-12  Christian Heller  <christian.heller@tuxtax.de>

        * Implement new algorithm for time scale gregorian calendar serialiser

2013-12-11  Florian Pachel <florian.pachel@gmx.de>

        * Continue file "field_description_xdt_model.c", following BDT standard document

2013-12-10  Christian Heller  <christian.heller@tuxtax.de>

        * Implement weekday time scale serialiser using datetime/julian date as input
        * Implement new algorithm for time scale gregorian calendar deserialiser considering leap years etc.

2013-12-06  Christian Heller  <christian.heller@tuxtax.de>

        * Implement time scale de-/serialiser for running day from/to month/day

2013-11-29  Christian Heller  <christian.heller@tuxtax.de>

        * Complete ddmmyyyy/mmyyyy/qyyyy datetime xdt serialisers
        * Fill day/month/year with "zero" wide character, if having too few digits, in datetime xdt serialisers

2013-11-28  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt datetime de-/serialisers to new datetime accessor functions
        * Fix bug that datetime de-/serialisers did sometimes use "array" directly and other times "item"

2013-11-27  Christian Heller  <christian.heller@tuxtax.de>

        * Add compound setters for complex/datetime/duration/fraction
        * Redesign compound getters and copiers for complex/datetime/duration/fraction

2013-11-26  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up compound accessor- and copier files for complex/datetime/duration/fraction
        * Add file "compound_tester.c"

2013-11-25  Christian Heller  <christian.heller@tuxtax.de>

        * Continue datetime xdt deserialiser

2013-11-08  Christian Heller  <christian.heller@tuxtax.de>

        * Implement time scale gregorian calendar serialiser

2013-11-04  Christian Heller  <christian.heller@tuxtax.de>

        * Implement time scale gregorian calendar deserialiser

2013-11-01  Christian Heller  <christian.heller@tuxtax.de>

        * Factor out "julian_date" de-/serialiser from "jd" datetime de-/serialiser to be used with modified and truncated julian date (mjd and tjd)
        * Implement "mjd" and "tjd" datetime de-/serialisers

2013-10-31  Christian Heller  <christian.heller@tuxtax.de>

        * Provide functions for compound types complex, datetime, duration, fraction in directory "executor/accessor/getter/"
        * Adapt "jd" datetime de-/serialiser to finally make it work

2013-10-30  Christian Heller  <christian.heller@tuxtax.de>

        * Extend "datetime" cybol application
        * Continue "jd" datetime de-/serialiser
        * Change handling of compound types, e.g. complex, datetime, duration, fraction, which are treated like primitives now
        * Adapt type size variables, de-/allocators, copiers accordingly

2013-10-29  Christian Heller  <christian.heller@tuxtax.de>

        * Continue datetime infrastructure, currently based on julian day (int) and julian second (double)
        * Implement "jd" datetime deserialiser

2013-10-27  Christian Heller  <christian.heller@tuxtax.de>

        * Enable datetime and duration in file "model_field_xdt_deserialiser.c"

2013-10-26  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare "datetime" and "duration" de-/serialisers

2013-10-25  Christian Heller  <christian.heller@tuxtax.de>

        * Implement "tai" datetime serialiser

2013-10-24  Christian Heller  <christian.heller@tuxtax.de>

        * Complete constants and cybol de-/serialiser for "datetime" and "duration" formats

2013-10-02  Christian Heller  <christian.heller@tuxtax.de>

        * Start deserialiser for "datetime/ddmmyyyy" models

2013-10-01  Christian Heller  <christian.heller@tuxtax.de>

        * Implement de-/serialiser for "datetime" and "duration" cybol format and -type
        * Uncomment datetime and duration constants in file "format_field_xdt_deserialiser.c"
        * Create cybol-based tool "tools/field_description_xdt_model_generator/"
        * Create cybol-based tool "tools/xdt_field_description_serialiser_generator/"
        * Complete file "xdt_field_description_serialiser.c"

2013-09-29  Christian Heller  <christian.heller@tuxtax.de>

        * Add executor files for "datetime" and "duration" memoriser and modifier

2013-09-27  Christian Heller  <christian.heller@tuxtax.de>

        * Think through implementation of calendar/date/time/duration in cyboi
        * Add constants for date, time and duration

2013-09-26  Christian Heller  <christian.heller@tuxtax.de>

        * Add further entries in file "format_field_xdt_deserialiser.c", following deprecated BDT standards 2.7 and 1994-2
        * Use PLAIN_TEXT_STATE_CYBOI_FORMAT for unknown field identifications and show warning in generated output, by default
        * Add "datetime" cybol application for testing various date formats

2013-09-25  Christian Heller  <christian.heller@tuxtax.de>

        * Add new entries of Birgit Heller in file "format_field_xdt_deserialiser.c", following deprecated BDT 2.7 standard

2013-09-22  Christian Heller  <christian.heller@tuxtax.de>

        * Release CYBOP 0.15.0

2013-09-20  Christian Heller  <christian.heller@tuxtax.de>

        * Add further encoding entries into file "encoding_cybol_serialiser.c"

2013-09-19  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bug in file "part_record_xdt_deserialiser.c" that assigned record part name as integer without converting to string beforehand
        * Add file "xdt_field_description_serialiser.c" providing field description in addition to field name
        * Fix bug in file "vector_integer_cybol_deserialiser.c" that used automatic detection of number base, so that xdt field identifications with zero as prefix got interpreted as octal number

2013-09-06  Christian Heller  <christian.heller@tuxtax.de>

        * Create cybol-based tool "tools/integer_state_cyboi_model_generator/" to generate integer number constants
        * Add new entries of Birgit Heller in file "format_field_xdt_deserialiser.c", following BDT 3.0 standard

2013-09-01  Christian Heller  <christian.heller@tuxtax.de>

        * Reorganise files "field_bdt_xdt_selector.c" and "end_compound_field_bdt_xdt_selector.c"

2013-08-29  Christian Heller  <christian.heller@tuxtax.de>

        * Provide cybol "binary" property for reading files without removing any characters (such as carriage return), caused by mingw compilation

2013-08-26  Christian Heller  <christian.heller@tuxtax.de>

        * Deserialise (not just copy) model in file "part_field_xdt_deserialiser.c" using new file "model_field_xdt_deserialiser.c"

2013-08-25  Christian Heller  <christian.heller@tuxtax.de>

        * Add further "access/" cybol operations "get-name", "get-channel", "get-encoding", "get-language", "get-format", "get-type"

2013-08-22  Christian Heller  <christian.heller@tuxtax.de>

        * Create file "element_cybol_deserialiser.c" to handle "part" and "property" in the same manner only using different destination
        * Test functionality with wui templates in cybol application "xdt2html" of resmedicinae.org project

2013-08-19  Christian Heller  <christian.heller@tuxtax.de>

        * Complete file "compound_field_bdt_xdt_deserialiser.c"
        * Fix bug that not all xdt fields are properly sorted into record hierarchy
        * Clean up old files

2013-08-17  Christian Heller  <christian.heller@tuxtax.de>

        * Forward record index as parametre in xdt deserialiser, so that it may be incremented in the many nested loops used

2013-08-14  Christian Heller  <christian.heller@tuxtax.de>

        * Continue xdt deserialiser adding new files for field processing

2013-08-10  Christian Heller  <christian.heller@tuxtax.de>

        * Continue xdt deserialiser adding format/type error tests in file "part_field_xdt_deserialiser.c"

2013-08-08  Christian Heller  <christian.heller@tuxtax.de>

        * Remove superfluous directory "executor/representer/serialiser/x_window_system/"
        * Distinguish between root window and child gui element in gui serialiser

2013-08-05  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bugs in files "x_window_system_starter.c" and "rectangle_gui_serialiser.c"

2013-07-15  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt to new MinGW-w64 compiler using option "pthread" instead of "pthreadGC2"
        * Verify that function "fgetwc" does not recognise arrow- and other keys and therefore use win32 console function "ReadConsoleInputW"

2013-07-11  Christian Heller  <christian.heller@tuxtax.de>

        * Add files "src/user_interface.*" as overview of input event constants of various operating systems

2013-07-09  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt terminal starter and shutter to store/restore win32 original input- and output mode in internal memory
        * Complete win32 console receiver
        * Fix wrong handle causing zero input records to arrive in win32 console receiver

2013-07-05  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bug that unix terminal input did not arrive by adding and initialising "enable" flags in files "manager.c" and "internal_memory_manager.c"
        * Prepare win32 console receiver using function "ReadConsoleInputW"

2013-07-04  Christian Heller  <christian.heller@tuxtax.de>

        * Set/reset "enable" flags in "sensor.c"/"interrupter.c", in order to de/activate sensing for single channels in file "sense_checker.c"
        * Prepare terminal input for win32 console using function "PeekConsoleInputW"

2013-07-03  Christian Heller  <christian.heller@tuxtax.de>

        * Optimise file "wait_checker.c" and add file "sense_checker.c"

2013-07-01  Christian Heller  <christian.heller@tuxtax.de>

        * Move x window system event detection from sensing thread into file "wait_checker.c",
            since the xcb developers do not plan to add a function like "xcb_test_for_event" soon

2013-06-27  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt display sender for "x window system" and "win32 display"
        * Extend gui serialiser

2013-06-26  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bug in file "thread_interrupter.c" so that comparison and reset are done using DEFAULT_THREAD
        * Connect win32 display receiver to gui deserialiser
        * Clean up x window system receiver

2013-06-17  Christian Heller  <christian.heller@tuxtax.de>

        * Process "WM_PAINT" message in callback function and other messages in file "message_win32_display_receiver.c"
        * Find out that function "PeekMessage" only checks for messages in calling "sensing" thread, so that the main thread's messages are not recognised
        * Move message detection code from file "message_win32_display_sensor.c" to "wait_checker.c" using active polling in the main thread
        * Delete win32 display sensor executor directory

2013-06-16  Christian Heller  <christian.heller@tuxtax.de>

        * Use function "pthread_equal" for thread comparison, since posix uses a scalar value, but libpthreads-mingw-w64 (win32) uses a struct
        * Add new global variable "pthread_t DEFAULT_THREAD" for comparison, in order to find out whether or not a thread was created already

2013-06-14  Christian Heller  <christian.heller@tuxtax.de>

        * Move win32 message comparison from starter to receiver

2013-06-10  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare win32 gdi32 for usage in "win32_display_receiver"

2013-06-05  Christian Heller  <christian.heller@tuxtax.de>

        * Get all event properties in file "event_x_window_system_receiver.c"

2013-06-02  Christian Heller  <christian.heller@tuxtax.de>

        * Add a number of event gui deserialiser files

2013-05-31  Christian Heller  <christian.heller@tuxtax.de>

        * Update cybol api specification using asterisk as placeholder, e.g. number/* (= number/integer | number/double) or path/* (= path/knowledge | path/reference)
        * Release CYBOP 0.14.0

2013-05-28  Christian Heller  <christian.heller@tuxtax.de>

        * Reset action in file "handler.cybol" of gui cybol application
        * Complete first working version of gui deserialiser

2013-05-18  Christian Heller  <christian.heller@tuxtax.de>

        * Continue gui deserialiser

2013-05-16  Christian Heller  <christian.heller@tuxtax.de>

        * Check in "cybol_web_creator" cybol source editor of Axel Petzka <zambatec@yahoo.de>
        * Update cybol api specification

2013-05-15  Christian Heller  <christian.heller@tuxtax.de>

        * Check in "Visual_Cybop" cybol source editor of Alexander Papenfuß <alexander.papenfuss@it2010.ba-leipzig.de>
        * Check in "Cybol-Eclipse-Plugin" source editor of Michael Dietrich <michael.dietrich@it2010.ba-leipzig.de>

2013-05-14  Christian Heller  <christian.heller@tuxtax.de>

        * Continue gui deserialiser
        * Check in additions of Marcel Wesberg <marcel.wesberg@it2010.ba-leipzig.de> in calculator and comparator
        * Check in translated beginner's manual of Tim Illner <tim.illner@it2010.ba-leipzig.de>

2013-05-10  Christian Heller  <christian.heller@tuxtax.de>

        * Update "gui" cybol application

2013-05-09  Christian Heller  <christian.heller@tuxtax.de>

        * Rename "constant/name/cybol/operation/" into "constant/name/cybol/logic/"
        * Process events in file "x_window_system_receiver.c" and call deserialiser

2013-05-08  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt css file of cybol specification document to fixate menu position
        * Add state models "gui", "wui", "keyboard", "mouse" to cybol specification document

2013-05-07  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up x window system sender
        * Restructure constants in directory "constant/name/cybol/state/"

2013-05-07  Tobias Köhler  <tk@snake-universe.tk>

        * Fix serial port interface (spi)

2013-05-04  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare win32 gui event handling

2013-05-03  Christian Heller  <christian.heller@tuxtax.de>

        * Rename "x-window-system" channel into neutral name "display" and add "gui" language
        * Prepare graphical user interface for win32

2013-05-02  Christian Heller  <christian.heller@tuxtax.de>

        * Fix missing sections in cybol specification by adding forgotten reset of break/count/index in generator
        * Rename "operation" into "part" in cybol specification

2013-05-01  Christian Heller  <christian.heller@tuxtax.de>

        * Add "tui" state model to cybol specification

2013-04-29  Christian Heller  <christian.heller@tuxtax.de>

        * Use newline constants for terminal output on macintosh, unix, windows
        * Store original terminal attributes, in order to avoid reset of background and foreground to black leading to invisible output
        * Delete win32 console sender, since functionality is now in win32 console serialiser

2013-04-26  Christian Heller  <christian.heller@tuxtax.de>

        * Fix invisible characters under win32 console caused by initialising attribute variable with zero
        * Fix newline using win32 console function calls instead of standard output cr+lf

2013-04-25  Falco Prescher  <falco.prescher@it2010.ba-leipzig.de>

        * Make cybol shell commands platform independent
        * Add unix- as well as windows shell commands

2013-04-24  Christian Heller  <christian.heller@tuxtax.de>

        * Split terminal sender for extra handling of win32 console tui
        * Move clear screen and newline functionality from sender into tui serialiser
        * Adapt text user interface cybol applications to use language "message/tui" for terminal output
        * Adapt command line interface cybol applications to use language "message/cli" for terminal output
        * Add "intense" (background) to already existing "bold" (foreground text) property, the former
            being evaluated in win32 console only, the latter also by unix terminal via ansi escape code
        * List short and long forms of terms used in cybol and cyboi in new file "src/abbreviation.txt"

2013-04-22  Christian Heller  <christian.heller@tuxtax.de>

        * Add bit logic operations "not", "and", "or", "xor"
        * Reduce redundancy in bit manipulation functions by using bit logic operations function calls wherever possible

2013-04-22  Tobias Köhler  <tk@snake-universe.tk>

        * nanosleep() added for win32
        * Add list directory support for win32
        * Fixed win32 terminal output

2013-04-21  Christian Heller  <christian.heller@tuxtax.de>

        * Add bit manipulation functions "shift_left", "shift_right", "rotate_left", "rotate_right"

2013-04-20  Christian Heller  <christian.heller@tuxtax.de>

        * Add "modulo" integer calculation operation
        * Add bit manipulation functions "check", "clear", "set", "toggle"

2013-04-19  Christian Heller  <christian.heller@tuxtax.de>

        * Hand over terminal parametre to all functions in win32 console serialiser

2013-04-18  Christian Heller  <christian.heller@tuxtax.de>

        * Add new file "state_win32_console_serialiser.c" to remember original attributes
        * Activate function "serialise_win32_console_reset"
        * Add new file "effect_win32_console_serialiser.c" evaluating "bold" attribute

2013-04-17  Christian Heller  <christian.heller@tuxtax.de>

        * Add new terminal sender directories for "unix_terminal" and "win32_console"
        * Make colour work in win32 console serialiser

2013-04-17  Tobias Köhler  <tk@snake-universe.tk>

        * Improved Windows terminal output
        * Windows socket and serial support enhanced

2013-04-16  Christian Heller  <christian.heller@tuxtax.de>

        * Split ansi_escape_code constants into several files
        * Fix display errors in ansi escape code serialiser
        * Fix missing colour in ansi escape code serialiser
        * Add new terminal starter and -shutter directories for "unix_terminal" and "win32_console"
        * Make cyboi compilable using mingw

2013-04-15  Christian Heller  <christian.heller@tuxtax.de>

        * Continue restructuring tui serialiser

2013-04-14  Christian Heller  <christian.heller@tuxtax.de>

        * Introduce general textual user interface (tui) serialiser
        * Use "ansi escape code" serialiser and "win32 console" serialiser only for platform-specific functionality
        * Adapt cybol applications using new format "message/tui"

2013-04-12  Christian Heller  <christian.heller@tuxtax.de>

        * Split logger into several files and add windows system error log function
        * Prepare cursor position setting in console serialiser

2013-04-11  Christian Heller  <christian.heller@tuxtax.de>

        * Add win32 console serialiser

2013-04-11  Tobias Köhler  <tk@snake-universe.tk>

        * Windows X11 test working

2013-04-10  Christian Heller  <christian.heller@tuxtax.de>

        * Enable all events in mask of window at x window system startup

2013-04-09  Christian Heller  <christian.heller@tuxtax.de>

        * Enable x window system sense and receive with cybol application "gui"

2013-04-07  Tobias Köhler  <tk@snake-universe.tk>

        * Windows support extended

2013-04-05  Christian Heller  <christian.heller@tuxtax.de>

        * Send feature request to xcb project for adding a "xcb_test_for_event" function

2013-04-04  Christian Heller  <christian.heller@tuxtax.de>

        * Migrate x window system receiver from xlib to xcb

2013-04-04  Tobias Köhler  <tk@snake-universe.tk>

        * Fixed native Windows terminal output
        * Added missing include for Windows
        * Added compile guide for Windows
        * Basic Windows support

2013-04-02  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt x window system sensor

2013-04-01  Christian Heller  <christian.heller@tuxtax.de>

        * Make x window system work

2013-03-31  Christian Heller  <christian.heller@tuxtax.de>

        * Migrate x window system files from xlib to x c bindings (xcb)

2013-03-30  Tobias Köhler  <tk@snake-universe.tk>

        * Add some preprocessor commands to compile for windows systems

2013-03-29  Christian Heller  <christian.heller@tuxtax.de>

        * Release CYBOP 0.13.0
        * Reactivate x window system sender

2013-03-28  Christian Heller  <christian.heller@tuxtax.de>

        * Reactivate x window system starter and shutter

2013-03-27  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt starter, shutter, sensor, receiver, sender for channels "serial_port" and "terminal"

2013-03-26  Christian Heller  <christian.heller@tuxtax.de>

        * Use "item" for serial port storage in internal memory, since its count and size are needed for deallocation

2013-03-22  Christian Heller  <christian.heller@tuxtax.de>

        * Debug and complete cybol application "indoor_climate"

2013-03-21  Christian Heller  <christian.heller@tuxtax.de>

        * Use format "number/byte" instead of "text/ascii" in cybol application "indoor_climate"

2013-03-20  Christian Heller  <christian.heller@tuxtax.de>

        * Debug "executor/caster/"
        * Add "filler" functionality (calling "overwriter" internally) to applicator and executor

2013-03-19  Christian Heller  <christian.heller@tuxtax.de>

        * Provide cybol operations "cast/character", "cast/double", "cast/integer" and extend cyboi accordingly
        * Provide data format "number/byte" which gets mapped into type "text/ascii" internally,
            in order to be able to initialise "text/ascii" variables inside cybol applications
            and to avoid their values being interpreted as ascii code

2013-03-18  Christian Heller  <christian.heller@tuxtax.de>

        * Change format of some variables from "number/integer" into "text/ascii" in cybol application "indoor_climate"
        * Adapt files "cybol_deserialiser.c" and "cybol_serialiser.c" to process format "text/ascii"
        * Add directory "executor/calculator/basic/character/" for arithmetics with type "unsigned char"

2013-03-17  Christian Heller  <christian.heller@tuxtax.de>

        * Debug cybol application "double"
        * Use "fabs" for "double" instead of "abs" for "int" for "calculate/absolute" cybol operation
        * Add directory "executor/caster/" for casting various types

2013-03-15  Christian Heller  <christian.heller@tuxtax.de>

        * Correct "executor/accessor/counter/" to return item count for primitive data without filtering, since they do not have a name to compare with
        * Add "reset" operations to cybol application "indoor_climate"
        * Add "minimum" and "maximum" number of characters to read to cybol operation "communicate/receive",
            since the cybol application "indoor_climate" also needs to be able to read zero values,
            so that using zero as end-of-file character has to be combined with minimum and maximum
        * Adapt directory "executor/communicator/receiver/serial_port/" accordingly

2013-03-12  Christian Heller  <christian.heller@tuxtax.de>

        * Split "run/sleep" operation into "run/sleep-nano" and "run/sleep-second", since cyboi
            internally uses "int" whose number range does not suffice when specifying seconds as nanoseconds

2013-03-11  Christian Heller  <christian.heller@tuxtax.de>

        * Implement temperature sensor query loop in cybol application "indoor_climate"
        * Provide "run/sleep" operation to cybol using "nanosleep" inside cyboi
        * Use cyboi-internal "sleep_duration" function for sensing thread interruption

2013-03-09  Christian Heller  <christian.heller@tuxtax.de>

        * Add "none" encoding constant and use "overwrite" to just copy character source to destination
        * Add "encoding" property to receive operation in cybol application
        * Extend file "serial_port_receiver.c" with decoder call for converting "unsigned char" into "int"
        * Add file "tester/serial_port_tester.c"

2013-03-08  Christian Heller  <christian.heller@tuxtax.de>

        * Test cybol application "indoor_climate" on temperature sensor microcontroller device
        * Implement "null_termination" boolean property of operation "communicate/send" in cyboi, needed to send string commands to microcontroller device
        * Use "modify/empty" instead of "modify/overwrite" for buffer reset
        * Add file "typecast_decoder.c" to cyboi for converting "unsigned char" to "int" within cybol application,
            since otherwise, char value pointers are dereferenced to int leading to wrong values
            and to valgrind reporting "Invalid read of size 4"

2013-03-07  Christian Heller  <christian.heller@tuxtax.de>

        * Reset array to null value in file "array_deallocator.c"
        * Assign null pointer explicitly to internal memory entries after having shut down a service and deallocated related variables,
            in order to further avoid memory corruption like glibc detected corrupted double-linked list bug
        * Reset interrupt handlers in file "executor/lifeguard/interrupter.c", which were previously initialised in file "executor/lifeguard/sensor.c"

2013-03-06  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt cybol application "indoor_climate" using "modify/overwrite" operation for accessing buffer elements

2013-03-05  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt cybol application "indoor_climate"
        * Add terminal mode line speed serialiser necessary for converting integer to POSIX.1 baudrate symbols

2013-03-04  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt startup/shutdown files with open/close function and attributes for serial port communication
        * Prepare cybol application "indoor_climate"

2013-03-03  Christian Heller  <christian.heller@tuxtax.de>

        * Add send/receive files for serial port communication

2013-02-27  Christian Heller  <christian.heller@tuxtax.de>

        * Simplify cybol files by removing attributes like encoding="utf-8" and language="text/cybol", which are standard
        * Adapt cybol deserialiser in cyboi not to parse "encoding" and "language" attributes anymore, since they always have the same value
        * Check places where *NULL_POINTER_STATE_CYBOI_MODEL is handed over as parametre, since it is a constant and must not be manipulated
        * Add files/constants/functions for serial port communication

2013-02-26  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bug in file "part_deallocator.c" where the type needed for deallocation of the model
            was deallocated before the model, so that part models were not deallocated recursively
        * Fix runtime "Bus error" (address bus containing an illegal value) caused by test code
            in file "cybol_deserialiser.c" which lead to destroying some variables twice
        * Adjust log messages
        * Add files "variable/reference_counter.c" and "controller/globaliser/reference_counter_globaliser.c"
        * Adjust reference counting for testing purposes
        * Verify cleanness of cybol applications using valgrind tool

2013-02-25  Christian Heller  <christian.heller@tuxtax.de>

        * Add "adjust count" parametre to function "remove_array", in order to fix bug that if a constant is
            handed over as "count" parametre to functions "deallocate_array"/"empty_array"/"remove_array",
            which assign a new "array count" internally, then wrong values and pointers appeared
        * Fix bug that array was not handed over as pointer reference to "empty_array" in function "deallocate_array"

2013-02-24  Christian Heller  <christian.heller@tuxtax.de>

        * Add file "array_emptier.c"
        * Fix bug that references of elements of an array were not decremented recursively in file "array_deallocator.c",
            for rubbish (garbage) collection (previously only considered in file "part_deallocator.c")

2013-02-22  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up files "array_remover.c", "array_overwriter.c", "array_inserter.c" and add necessary tests of variable values
        * Adapt "modifier_tester.c"

2013-02-20  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare searching memory leaks

2013-02-05  Christian Heller  <christian.heller@tuxtax.de>

        * Delete superfluous signal memory interrupt request flag and -mutex in files related to signal handling
        * Make sure POINTER_STATE_CYBOI_TYPE is used instead of PART_ELEMENT_STATE_CYBOI_TYPE for adding/removing signals from signal memory,
            since rubbish (garbage) collection is up to the knowledge memory and must not be influenced by the signal memory;
            the same is valid for the internal memory, whereto/wherefrom simple pointers are copied

2013-02-04  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bug in optionaliser and command line deserialiser that prevented the log file to be created correctly

2013-02-03  Christian Heller  <christian.heller@tuxtax.de>

        * Initialise references item with zero in file "part_allocator.c"
        * Use the size handed over as parametre in file "array_allocator.c" and
            do not just assume a size of one for zero or a negative value
        * Adapt all places where allocation happens not to use a zero size
        * Exclude unsuccessful allocation in files "array_reallocator.c", "item_reallocator.c", "part_reallocator.c"
            and only set other values if the data array or model item, respectively, are not null,
            in order to handle cases with negative or zero size and out of memory errors
        * Remove size parametre from function "deallocate_item"
        * Remove size and type parametre from function "deallocate_part"
        * Make sure allocation size is at least one wherever function "reallocate_array" is called

2013-02-02  Christian Heller  <christian.heller@tuxtax.de>

        * Assign not only type, but always format as well wherever a part gets allocated,
            so that it may properly be deallocated together with its potential child parts at shutdown

2013-01-30  Christian Heller  <christian.heller@tuxtax.de>

        * Use a minimum size of ONE for array allocation, if a zero size is handed over
        * Assign not only format, but always type as well wherever a part gets allocated,
            so that it may properly be deallocated together with its child parts at shutdown
        * Assign a default type in file "type_cybol_deserialiser.c", in order to avoid memory leaks
            (logic formats like "live/exit" do not have a counterpart as type;
            also, invalid formats may have been used in a cybol file)

2013-01-29  Christian Heller  <christian.heller@tuxtax.de>

        * Use PART_ELEMENT_STATE_CYBOI_TYPE instead of POINTER_STATE_CYBOI_TYPE wherever a part is added,
            in order to activate the referencer for rubbish (garbage) collection

2013-01-28  Christian Heller  <christian.heller@tuxtax.de>

        * Check all source code for necessary adaptations caused by rubbish (garbage) collection

2013-01-27  Christian Heller  <christian.heller@tuxtax.de>

        * Remove (not destroy) all of a part model's elements of type "element/part" in file "part_deallocator.c",
            so that their references are decremented for rubbish (garbage) collection

2013-01-25  Christian Heller  <christian.heller@tuxtax.de>

        * Complete part referencer for rubbish (garbage) collection

2013-01-24  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bug in part referencer which used the new instead of old destination count to calculate the number of references

2013-01-21  Christian Heller  <christian.heller@tuxtax.de>

        * Start testing part referencer

2013-01-19  Christian Heller  <christian.heller@tuxtax.de>

        * Continue second part of xdt deserialiser

2013-01-12  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare second part (bdt/gdt/ldt) of xdt deserialiser

2013-01-11  Christian Heller  <christian.heller@tuxtax.de>

        * Complete deserialising xdt fields into cyboi-internal list of parts, which is the first step of two

2013-01-09  Christian Heller  <christian.heller@tuxtax.de>

        * Continue xdt deserialiser

2012-12-12  Christian Heller  <christian.heller@tuxtax.de>

        * Debug xdt deserialiser

2012-12-05  Christian Heller  <christian.heller@tuxtax.de>

        * Verify that iso-8859-15 character decoder works correctly

2012-12-04  Christian Heller  <christian.heller@tuxtax.de>

        * Replace simple "char" with "unsigned char" everywhere

2012-11-13  Christian Heller  <christian.heller@tuxtax.de>

        * Find bug that "unsigned char" (range range 0..+255) has to be used instead of just "char" (range -127..+127),
            so that not only ascii characters, but also those of extended sets like iso may be represented

2012-11-12  Christian Heller  <christian.heller@tuxtax.de>

        * Debug character decoder
        * Complete windows 1252 character decoder

2012-11-11  Christian Heller  <christian.heller@tuxtax.de>

        * Complete character decoders ascii, iso-8859-1, iso-8859-15

2012-11-10  Christian Heller  <christian.heller@tuxtax.de>

        * Continue iso-8859-15 decoder

2012-11-09  Christian Heller  <christian.heller@tuxtax.de>

        * Continue ascii, iso/iec 8859 and iso-8859 character code constants
        * Add files containing c0 and c1 control codes of iso 6429
        * Complete iso-8859-1 and iso-8859-15 constants

2012-11-08  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare ascii, iso/iec 8859 and iso-8859 character code constants

2012-10-29  Christian Heller  <christian.heller@tuxtax.de>

        * Continue xdt deserialiser and make it compilable again
        * Prepare iso 8859-15 decoder

2012-10-05  Christian Heller  <christian.heller@tuxtax.de>

        * Continue xdt deserialiser parent/part properties item handling and recursive call

2012-10-04  Christian Heller  <christian.heller@tuxtax.de>

        * Continue xdt deserialiser hierarchy handling

2012-10-02  Christian Heller  <christian.heller@tuxtax.de>

        * Continue xdt deserialiser field format and part

2012-09-29  Christian Heller  <christian.heller@tuxtax.de>

        * Continue xdt deserialiser record

2012-09-28  Christian Heller  <christian.heller@tuxtax.de>

        * Continue xdt deserialiser field

2012-09-20  Christian Heller  <christian.heller@tuxtax.de>

        * Continue xdt deserialiser
        * Move field- and record identifiers from "name" into "model" constants

2012-09-06  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up old version of xdt deserialiser

2012-09-05  Max Brauer  <max.brauer@inqbus.de>

        * Add article "Veranschaulichung des doppelhierarchischen Ansatzes von CYBOP durch die Programmiersprache Python"

2012-09-04  Christian Heller  <christian.heller@tuxtax.de>

        * Start implementing new version of xdt deserialiser

2012-08-23  Christian Heller  <christian.heller@tuxtax.de>

        * Complete constants in file "html_entity_character_reference_deserialiser.c"
        * Add schema in cybol syntax to directory "doc/books/cybol/schema/"

2012-08-22  Christian Heller  <christian.heller@tuxtax.de>

        * Format cybol specification using cascading style sheets (css)
        * Release CYBOP 0.12.0

2012-08-17  Christian Heller  <christian.heller@tuxtax.de>

        * Indicate usage of preformatted text in html with new "preformatted" cybol property
            (the correct formatting has to be taken care of in css)
            and do not replace all space characters in primitive parts with no-break space anymore
        * Add cybol constraint for switching html formatting on/off
        * Split html serialiser into more files, improving clarity

2012-08-16  Falk Müller  <falk89@web.de>

        * Add decimal fraction de-/serialiser and calculator
        * Update "cybol_extension" tutorial and add presentation
        * Add cybol application "double" calculating double numbers

2012-08-15  Christian Heller  <christian.heller@tuxtax.de>

        * Complete character reference serialiser
        * Call character reference serialiser for primitive parts in html serialiser, replacing special characters like < with masked characters
        * Replace space character in primitive parts with no-break space, so that indentations are correct and spaces respected by web browsers
        * Extend cybol application "wui" with external text file to test replacement with numeric character references
        * Adapt cybol specification files accordingly
        * Delete outdated directories "executor/representer/deserialiser/escape/" and "executor/representer/serialiser/escape/"

2012-08-14  Christian Heller  <christian.heller@tuxtax.de>

        * Implement percent encoding deserialiser
        * Add name constants for character reference deserialiser and percent encoding deserialiser
        * Remove superfluous percent encoding model constants since they represent unicode character codes that may be used directly
        * Implement percent encoding serialiser
        * Implement character reference serialiser only for hexadecimal numeric character reference
            (not for character entity references, since they are outdated and allow only for a limited number of characters)

2012-08-13  Christian Heller  <christian.heller@tuxtax.de>

        * Extend integer value deserialiser with number base parametre
        * Continue character reference deserialiser

2012-08-12  Christian Heller  <christian.heller@tuxtax.de>

        * Implement character reference deserialiser for numeric character reference (hexadecimal and decimal) and character entity reference
        * Decide not to put character reference de-/serialiser and percent encoding de-/serialiser
            into "encoding/" directory, to not mix it up with character set specific conversions

2012-08-10  Christian Heller  <christian.heller@tuxtax.de>

        * Filter out html tags that are allowed to be void elements following the html specification
              and generate empty tags only for those and closing tags for all others in html serialiser
        * Collect all kinds of escape model constants (ansi, entity, numeric, percent) in one directory
            and adapt de-/serialiser and other files accordingly

2012-08-06  Christian Heller  <christian.heller@tuxtax.de>

        * Make cybol application "ui_control" function fully again
        * Remove irq and mutex of signal memory, since signals are placed there in the main thread only;
            a signal memory wakeup cannot come from the sleeping main thread itself,
            but only from outside (terminal, socket etc.), so that irqs for these channels suffice;
            furthermore, UNIX system signal handlers for sensing thread interruption are not affected

2012-08-05  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up bug that "path/encapsulated" constant was not renamed into "path/reference" yet
        * Add cybol application "index_usage" for testing knowledge path names and -indices

2012-08-02  Christian Heller  <christian.heller@tuxtax.de>

        * Read terminal output stream from internal memory instead of assigning it directly in file "file_terminal_sender.c"
        * Verify proper usage of atomic locks in sensor/ receiver/ sender for the channels "terminal", "socket", "x_window_system"
        * Fix problem that some "middle" part was returned even if the final part specified by
            the last element of the knowledge path did not exist, e.g. leading to the effect that
            multiple commands of the parent node were executed if the concrete child command was missing

2012-08-01  Christian Heller  <christian.heller@tuxtax.de>

        * Insert error message for tree nodes with empty tag name in html serialiser
        * Initialise knowledge tree root node in file "manager.c", which is necessary for model diagram printing
        * Fix bug in file "handler.c" that handed over the signal model as parametre, which got manipulated by the
            "deserialise_knowledge" function, so that following operation calls of type "path/knowledge" were empty
            (the same bug was already fixed in file "knowledge_part_getter.c")
        * Complete cybol application "tui"
        * Debug cybol application "ui_control"

2012-07-31  Christian Heller  <christian.heller@tuxtax.de>

        * Rename cybol format "path/encapsulated" into "path/reference"
        * Debug cybol application "tui"

2012-07-30  Christian Heller  <christian.heller@tuxtax.de>

        * Deactivate signal memory irq and mutex (testwise comment out)
        * Add "cybol_extension" tutorial of Falk Müller

2012-07-27  Christian Heller  <christian.heller@tuxtax.de>

        * Continue cybol application "tui" for demonstrating text user interface
        * Fix bug that detected irq was reset before having handled a signal, leading to multi-detection of the same data

2012-07-26  Christian Heller  <christian.heller@tuxtax.de>

        * Search bug in terminal input and "ui_control" cybol application
        * Add cybol application "tui" for demonstrating text user interface

2012-07-25  Christian Heller  <christian.heller@tuxtax.de>

        * Optimise html serialiser to produce correct line break, indentation and empty tags
        * Add cybol application "wui" for demonstrating html generation
        * Remove obsolete constants (equal-part, equal-prefix, equal-suffix) in file "logic_cybol_format.c"

2012-07-24  Christian Heller  <christian.heller@tuxtax.de>

        * Decide that extending the knowledge path syntax with ? is NOT useful for accessing a part's name,
            since a reference to the name gets returned, which may not be processed in cybol
        * Implement "access/get-name" cybol operation for retrieving a part's name
        * Add cybol application "knowledge_tree_access" for testing retrieval of a part's name

2012-07-23  Christian Heller  <christian.heller@tuxtax.de>

        * Complete "represent/serialise" and "represent/deserialise" cybol operations
        * Add cybol application "addition_using_serialisation" for testing de-/serialisation
        * Remove useless operation "access/get" replaced by extended knowledge path syntax
        * Try to extend knowledge path syntax with ? accessing a part's name

2012-07-22  Christian Heller  <christian.heller@tuxtax.de>

        * Add "represent/serialise" and "represent/deserialise" cybol operations

2012-07-18  Christian Heller  <christian.heller@tuxtax.de>

        * Complete handling of index in knowledge path
        * Remove old files "branch_part_getter.c", "hierarchical_part_getter.c", "branch_knowledge_selector.c", "name_knowledge_selector.c"
        * Add cybol application "addition_using_indices" for testing knowledge paths containing an index

2012-07-17  Christian Heller  <christian.heller@tuxtax.de>

        * Implement handling of index in knowledge path
        * Move knowledge path evaluation from "accessor/knowledge_getter/" into "representer/deserialiser/knowledge/"

2012-07-14  Christian Heller  <christian.heller@tuxtax.de>

        * Ensure proper handling of "access/count" operation if selection and filter are null
        * Add "get_count" cybol application

2012-07-08  Christian Heller  <christian.heller@tuxtax.de>

        * Move operations "count", "get" and "indicate" from category "modify" to "access"

2012-06-28  Christian Heller  <christian.heller@tuxtax.de>

        * Factor out todo lists of developers to new project directory "todo/"
        * Adapt cybol specification slightly

2012-06-27  Christian Heller  <christian.heller@tuxtax.de>

        * Reenable and update html serialiser in cyboi
        * Add first definition files to cybol specification
        * Implement translation into wui for cybol specification
        * Generate html from cybol specification

2012-06-26  Christian Heller  <christian.heller@tuxtax.de>

        * Add cybol specification in cybol format in directory "doc/books/cybol/"

2012-06-24  Christian Heller  <christian.heller@tuxtax.de>

        * Complete "count" and "indicate" operations
        * Enable and update "insert" and "remove" operations
        * Search bug causing double input detection in "ui_control" cybol application

2012-06-23  Christian Heller  <christian.heller@tuxtax.de>

        * Search error that terminal input is sensed without reason -- not solved yet
        * Enable and update "count" operation filtering parts by their name
        * Add new "indicate" operation checking if a part's data are empty

2012-06-21  Christian Heller  <christian.heller@tuxtax.de>

        * Add missing de-/ serialisation code for new "empty" operation
        * Add file "empty_tester.c"
        * Search bug that some operations are unknown when working with "ui_control" cybol application

2012-06-20  Christian Heller  <christian.heller@tuxtax.de>

        * Make new command line deserialiser files compilable, replacing old optionaliser
        * Simplify cyboi command line so that "--knowledge" argument is the default and not necessary
        * Use optionaliser again to assign log file (vice versa in deoptionaliser) and only get log file name through command line deserialiser

2012-06-19  Christian Heller  <christian.heller@tuxtax.de>

        * Rename internal memory constants
        * Prepare command line deserialiser to replace optionaliser functionality
        * Change root node name of serialised model diagram into "[selected_node]"
        * Reactivate x_window_system send functionality
        * Prepare socket startup and send functionality

2012-06-18  Christian Heller  <christian.heller@tuxtax.de>

        * Enable "empty" operation in file "operation_handler.c" and add corresponding cybol constants
        * Adapt file "terminal_starter.c" switching off canonical input mode and echo and stripping to seven bits
        * Optimise handling and usage of terminal resources
        * Set original terminal attributes after having shutdown terminal service
        * Fix bug that terminal input characters were not added by using new file "character_ansi_escape_code_deserialiser.c" and dereferenced data pointer
        * Prepare x window system service startup and shutdown as well as event sensing
        * Factor out sensor functionality into new files for terminal, x window system, socket

2012-06-14  Christian Heller  <christian.heller@tuxtax.de>

        * Move some ansi escape code serialiser files to directory "selector" and use detector instead of pure comparison
        * Add "emptier" functionality (calling "remover" internally) to applicator and executor
        * Adapt cybol application "ui_control" using new emptier functionality in file "handle_gnu_linux_console.cybol"

2012-06-08  Christian Heller  <christian.heller@tuxtax.de>

        * Release CYBOP 0.11.0

2012-06-07  Christian Heller  <christian.heller@tuxtax.de>

        * Changed minor things in preparation of release CYBOP 0.11.0

2012-06-05  Christian Heller  <christian.heller@tuxtax.de>

        * Optimise file "manager.c" by using local array variables that do not have to be dynamically allocated with malloc
        * Factor out some code from file "signal_checker.c" into "found_checker.c" and "empty_checker.c"
        * Correct signal checking code that mixed interrupt variables of signal checker and other services
        * Fix bug that old string-based cybol channel constants were used instead of new integer-based ones,
            so that not all service functions were invoked, no terminal file descriptor created,
            therefore (due to null pointer test) no wait function called, so that the cyboi process ran on 100 %
        * Debug cybol application "ui_control"
        * Activate terminal receipt and ansi escape code deserialisation

2012-06-03  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare release CYBOP 0.11.0
        * Update project website
        * Fix memory allocation bugs occuring on 64 Bit machines (thanks to the "valgrind" software
            and hint from the developers of the stackoverflow.com web forum),
            caused by casting int* to size_t* and then dereferencing it in file "utf_8_decoder.c"
            and some other places (size_t is 8 Byte whereas int is only 4 Byte)

2012-05-30  Christian Heller  <christian.heller@tuxtax.de>

        * Fix memory allocation bug occuring on 64 Bit machines (thanks to the "valgrind" software),
            caused by wrong reallocation size in files "utf_8_decoder.c" and "utf_8_encoder.c"

2012-05-26  Christian Heller  <christian.heller@tuxtax.de>

        * Split file "controller/optionaliser.c" into several of sub directories "optionaliser/" and "deoptionaliser/"

2012-05-25  Christian Heller  <christian.heller@tuxtax.de>

        * Fix memory allocation bug occuring on 64 Bit machines (thanks to the "valgrind" software),
            caused by wrong definition of variable "LOG_OUTPUT"

2012-05-24  Christian Heller  <christian.heller@tuxtax.de>

        * Fix memory allocation bug occuring on 64 Bit machines (thanks to the "valgrind" software),
            caused by wrong definition and initialisation of global variables,
            which lead to mixing pointer (8 Byte) and integer (4 Byte)
        * Just define static global variables with an array size like [1] in directory "variable/"
        * Adapt files "globaliser.c" and "unglobaliser.c" and corresponding sub directories in "controller/"

2012-05-23  Christian Heller  <christian.heller@tuxtax.de>

        * Complete optimising usage of type constants

2012-05-22  Christian Heller  <christian.heller@tuxtax.de>

        * Rename cybol application directory "signal/" into "exit_signal/"
        * Optimise usage of type constants (use format instead of type; delete redundant types)
        * Search memory allocation bug occuring on 64 Bit machines

2012-05-21  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt internal memory constants and file "sensor.c" which uses only one "handler" part now

2012-05-20  Christian Heller  <christian.heller@tuxtax.de>

        * Fix missing selection bar in menu of cybol application "ui_control"
            (used wrong type "plain/text" instead of "text/plain" in cybol)
        * Enable operations "startup" and "shutdown"
        * Enable operations "sense" and "interrupt"

2012-05-19  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt cybol application "ui_control" using text user interface based on ansi escape code
        * Fix border display in cybol application "ui_control"
        * Prepare operations "startup" and "shutdown"

2012-05-18  Christian Heller  <christian.heller@tuxtax.de>

        * Continue ansi escape code serialiser (properties, rectangle, border characters)
        * Add boolean operations in directory "executor/logifier/"
        * Adapt cybol application "helloworld" using text user interface based on ansi escape code

2012-05-17  Christian Heller  <christian.heller@tuxtax.de>

        * Continue ansi escape code serialiser (colour, property, position)

2012-05-13  Christian Heller  <christian.heller@tuxtax.de>

        * Continue ansi escape code serialiser for text user interface on terminal

2012-05-11  Christian Heller  <christian.heller@tuxtax.de>

        * Move "language" constants out of "type" and "format" files into own directory
        * Update file "ansi_escape_code_serialiser.c" for text user interface on terminal

2012-05-08  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt cybol application "shell_command_execution" using file operations

2012-05-07  Christian Heller  <christian.heller@tuxtax.de>

        * Correct conditions for post-test loops in all cybol applications
        * Use "logicvalue/boolean" instead of "number/integer" format for "break" properties in all cybol applications
        * Complete cybol applications "time_output_*"

2012-05-06  Christian Heller  <christian.heller@tuxtax.de>

        * Enable "run" ("execute") operations
        * Make cybol applications "shell_output*", "programme_execution" work

2012-05-05  Christian Heller  <christian.heller@tuxtax.de>

        * Enable "branch" and "sequence" operations
        * Make cybol applications "if-else", "signal" work

2012-05-04  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bug in file "knowledge_part_getter.c" where original pointers were forwarded
            as parametres and "count" accidentally decreased to zero, so that knowledge paths
            could be accessed correctly only once and not anymore afterwards
        * Make cybol application "counter_static_model" work

2012-05-03  Christian Heller  <christian.heller@tuxtax.de>

        * Search bug appearing with "counter" cybol application and function "apply_loop"

2012-05-01  Christian Heller  <christian.heller@tuxtax.de>

        * Enable and complete serialisation of channel, encoding, language, format, type
        * Enable "compare" and "loop" operations
        * Update "counter" cybol application

2012-04-30  Christian Heller  <christian.heller@tuxtax.de>

        * Make serialisation work for "model_diagram" parts
        * Add "language" xml attribute to all cybol applications
        * Rename some "cybol" deserialiser files
        * Make serialisation work for "cybol" parts and boolean values
        * Debug error in compound signal processing by deserialising (forgotten) "element/part" format into type
            (appeared e.g. in cybol application "exit_cybol_file")

2012-04-29  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare language/format/type transformation

2012-04-27  Christian Heller  <christian.heller@tuxtax.de>

        * Hand over "format" instead of "type" property to function "apply_create",
            so that model diagram output displays all values correctly
            and the error EILSEQ which occured unpredictably disappears
        * Optimise model diagram serialisation using cybol serialiser files
        * Make cybol applications "addition_dynamic_model" and "addition_dynamic_model_with_root" work
        * Rename cybol "type" attribute into "format" in all cybol applications
        * Eliminate file "model_model_diagram_serialiser.c" by using "serialiser.c"

2012-04-26  Christian Heller  <christian.heller@tuxtax.de>

        * Change "type" constants in "serialiser.c" into "format" constants
        * Debug cybol application "addition_dynamic_model"

2012-04-25  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare operation "apply_overwrite" for cybol application "addition_dynamic_model"

2012-04-17  Christian Heller  <christian.heller@tuxtax.de>

        * Correct usage of cybol "format" and "type" property in "apply_send" and "apply_receive"
        * Hand over both, format and type as parametre to "send" and "serialise" functions
        * Make cybol application "addition" work

2012-04-16  Christian Heller  <christian.heller@tuxtax.de>

        * Extend parametres of test functions printing model diagrams

2012-04-13  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt knowledge path handling for retrieval of properties in "apply" functions of directory "applicator"

2012-04-12  Christian Heller  <christian.heller@tuxtax.de>

        * Change minor things while thinking through retrieval of parts via knowledge path or encapsulated path

2012-04-09  Christian Heller  <christian.heller@tuxtax.de>

        * Implement processing of comma-separated values in integer deserialisation
        * Adapt file "calculate.c"

2012-04-07  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt integer deserialisation to usage of destination item

2012-04-05  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt module "content_node_cybol_deserialiser.c" to using externally allocated item for type deserialisation
        * Adapt source code to new part meta data

2012-04-04  Christian Heller  <christian.heller@tuxtax.de>

        * Add new part meta data "channel", "encoding", "abstraction", in order to
            avoid repeated deserialisation of properties at runtime, e.g. in "send" operation

2012-03-29  Christian Heller  <christian.heller@tuxtax.de>

        * Debug calculation functions
        * Introduce new constants for meta data "channel", "encoding", "type"
            (to be used as properties in cybol) and adapt source code

2012-03-27  Christian Heller  <christian.heller@tuxtax.de>

        * Continue "apply_calculate" function
        * Delete file "destructor.c" which is not needed in function "apply_destroy" due to rubbish (garbage) collection

2012-02-24  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare "apply_calculate" function

2012-02-22  Christian Heller  <christian.heller@tuxtax.de>

        * Restructure and add new modules for "create" and "destroy"

2012-02-19  Christian Heller  <christian.heller@tuxtax.de>

        * Restructure terminal receiver
        * Add "encoding" xml attribute to all cybol files

2012-02-18  Christian Heller  <christian.heller@tuxtax.de>

        * Debug terminal sender
        * Make cybol application "shell_output" for terminal output work again

2012-02-17  Christian Heller  <christian.heller@tuxtax.de>

        * Debug terminal sender
        * Introduce new directory "serialiser/user_interface/" for tui, gui, wui

2012-02-16  Christian Heller  <christian.heller@tuxtax.de>

        * Debug file sender
        * Eliminate "standard_output" channel since "terminal" may be used instead

2012-02-12  Christian Heller  <christian.heller@tuxtax.de>

        * Refactor file sender and receiver into multiple files
        * Update serialiser/ deserialiser and sender/ receiver

2012-01-31  Christian Heller  <christian.heller@tuxtax.de>

        * Update selector, deserialiser, serialiser

2012-01-29  Christian Heller  <christian.heller@tuxtax.de>

        * Update serialiser files

2012-01-27  Christian Heller  <christian.heller@tuxtax.de>

        * Update serialiser files

2012-01-26  Christian Heller  <christian.heller@tuxtax.de>

        * Rename channel "shell" into "standard_output"
        * Start updating serialiser files

2012-01-24  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up cybol deserialiser
        * Repair problem in all loops, that break flag was not set to true
            if count is null, so that the loop was never left in this case

2012-01-22  Christian Heller  <christian.heller@tuxtax.de>

        * Debug signal handling where part element had wrong count for copying and direct execution flag was not set
        * Repair problem in model diagram serialiser part loop, that break flag was not set to true if count is null
        * Adapt cybol applications prefixed "exit" to new cybol mime types and operations
        * Make functions "apply_send" and "send_signal" work
        * Move "tester" directory out of "controller" to source root
        * Create test files in directory "testing/" for writing model diagram to file

2012-01-16  Christian Heller  <christian.heller@tuxtax.de>

        * Debug cybol deserialiser
        * Debug minor things

2012-01-14  Christian Heller  <christian.heller@tuxtax.de>

        * Use standard "int" as type instead of "unsigned short int" etc.,
            in order to avoid wrong values and memory faults when casting types

2012-01-11  Christian Heller  <christian.heller@tuxtax.de>

        * Debug cybol deserialiser

2011-12-20  Christian Heller  <christian.heller@tuxtax.de>

        * Fix cybol deserialiser and wrong value of constant "TYPE_CYBOL_NAME"

2011-12-19  Christian Heller  <christian.heller@tuxtax.de>

        * Fix xml deserialiser (wrong type in all calls of position mover)
        * Fix cybol deserialiser partly

2011-12-16  Christian Heller  <christian.heller@tuxtax.de>

        * Factor out serialisation of model diagram model

2011-12-12  Christian Heller  <christian.heller@tuxtax.de>

        * Extend serialisation of model diagram types

2011-12-02  Christian Heller  <christian.heller@tuxtax.de>

        * Debug xml decoder, model diagram encoder, file sender

2011-12-01  Christian Heller  <christian.heller@tuxtax.de>

        * Debug source code so that pointers to elements of an item or a part are not
            retrieved too early, since references may have changed if reallocation
            happened in functions like "decode_utf_8" or "append_item_element"
        * Debug wrong setting of destination count in file "array_overwriter.c"

2011-11-30  Christian Heller  <christian.heller@tuxtax.de>

        * Enable function "apply_receive" to fix circular reference

2011-11-29  Christian Heller  <christian.heller@tuxtax.de>

        * Rename "decode/encode" into "deserialise/serialise" in directory "representer"
        * Provide "decode/encode" functions for utf-8 and utf-16 in directory "converter"
        * Use item instead of array for decoding/encoding utf-8

2011-11-28  Christian Heller  <christian.heller@tuxtax.de>

        * Debug compilation errors
        * Structure "receive" functionality into "receive", "decode", "deserialise"

2011-11-26  Christian Heller  <christian.heller@tuxtax.de>

        * Debug compilation errors

2011-11-22  Christian Heller  <christian.heller@tuxtax.de>

        * Add cybol cyboi constants in files "state_cybol_cyboi_type.c" and "logic_cybol_cyboi_type.c"
        * Add and clean up types in file "decoder.c"
        * Complete cybol decoder

2011-11-21  Christian Heller  <christian.heller@tuxtax.de>

        * Refactor cybol decoder

2011-11-20  Christian Heller  <christian.heller@tuxtax.de>

        * Debug compilation errors
        * Clean up decoding of cybol channel/ encoding/ type

2011-11-19  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt calls of outdated "allocate_model" into "allocate_array"
        * Debug compilation errors

2011-11-18  Christian Heller  <christian.heller@tuxtax.de>

        * Fix file includes
        * Debug compilation errors
        * Rename "gnu/linux console" into "terminal"

2011-11-17  Christian Heller  <christian.heller@tuxtax.de>

        * Fix file includes
        * Debug compilation errors

2011-11-16  Christian Heller  <christian.heller@tuxtax.de>

        * Implement rubbish collector for function "overwrite"
        * Adapt logger using new container functions
        * Fix file includes

2011-11-15  Christian Heller  <christian.heller@tuxtax.de>

        * Implement rubbish collector for functions "insert" and "remove"

2011-11-14  Christian Heller  <christian.heller@tuxtax.de>

        * Add new part field "references" used for rubbish (garbage) collection
        * Add "executor/referencer/" serving as rubbish collector
        * Fix constant names in all source code

2011-11-13  Christian Heller  <christian.heller@tuxtax.de>

        * Optimise minor things

2011-11-10  Christian Heller  <christian.heller@tuxtax.de>

        * Change year to 2012 in comment block of all source code files, to prepare next release
        * Delete CVS "$" tags in source code since SVN is used now, which does not fill them
        * Use new line "@version CYBOP 0.23.0 2022-09-04
        * Delete outdated and redundant array handling files in directory "logger/"
        * Start fixing constant names in all source code

2011-11-09  Christian Heller  <christian.heller@tuxtax.de>

        * Restructure directory "constant/model/"
        * Create new directory "constant/encoding/"
        * Update directory "constant/channel/"
        * Add several more logic cybol abstraction constants
        * Rename "executor/logicifier/" into "executor/logifier/"
        * Rename "executor/bitmator/" into "executor/manipulator/"
        * Rename "constant/abstraction/" into "constant/type/"
        * Rename "details" into "properties" in cyboi in order to be consistent with cybol
            ("meta" is unfavourable because it starts with "m" just like "model")
        * Rename "abstraction" attribute into "type" in cybol applications

2011-11-08  Christian Heller  <christian.heller@tuxtax.de>

        * Restructure directory "constant/abstraction/cybol/" into "state" and "logic"
        * Move "constant/abstraction/memory/" into "constant/abstraction/cyboi/state_cyboi_abstraction.c"
        * Move "constant/abstraction/operation/" into "constant/abstraction/cyboi/logic_cyboi_abstraction.c"
        * Update directory "constant/channel/"
        * Update directory "constant/name/" and move cyboi-specific constants into "constant/name/cyboi/"

2011-11-07  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt files in directory "executor/converter/encoder/cybol/"
        * Decide that operations are distinguished by their abstraction and NOT model any longer
        * Merge all operation handlers into "controller/handler/operation_handler.c"

2011-11-05  Christian Heller  <christian.heller@tuxtax.de>

        * Add "model_diagram_abstraction.c"
        * Merge "primitive_memory_abstraction.c" into "memory_abstraction.c"
        * Replace old primitive abstractions with standard memory abstractions
        * Adapt files in directory "executor/converter/encoder/http_response/"
        * Restructure files in directories "executor/converter/decoder/" and "executor/converter/encoder/"

2011-11-04  Christian Heller  <christian.heller@tuxtax.de>

        * Complete files in directory "executor/converter/encoder/html/"
        * Adapt files in directory "executor/converter/encoder/model_diagram/"
        * Rename "compound_model_diagram_encoder.c" into "part_model_diagram_encoder.c"
        * Add "abstraction_model_diagram_encoder.c"

2011-11-03  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt files in directory "executor/converter/encoder/html/"

2011-10-31  Christian Heller  <christian.heller@tuxtax.de>

        * Complete adapting files in directory "executor/converter/decoder/"

2011-10-27  Christian Heller  <christian.heller@tuxtax.de>

        * Continue adapting files in directory "executor/converter/decoder/"
        * Add a number of model conversion convenience files to directory "executor/modifier/appender/"
        * Adapt files "header_field_http_request_selector.c" and "header_entry_http_response_selector.c"

2011-10-23  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt files in sub directories of directory "executor/converter/decoder/"

2011-10-22  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt all files in directory "executor/searcher/selector/"
        * Adapt part creation in selector files

2011-10-20  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt xml decoder
        * Move files of directory "executor/converter/selector/" into "executor/searcher/selector/"

2011-10-19  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt "executor/communicator/receiver.c" and "file_system_receiver.c"

2011-10-15  Christian Heller  <christian.heller@tuxtax.de>

        * Move website documents from directory "doc/" to "www/"
        * Add directory "www/" to CVS, as required by GNU Savannah
        * Remove redundant www files from directory "doc/" of SVN
        * Change link from "cybop.net/" to "cybop.org/" in all files
        * Insert prefix "cybop/" into SSI-includes and adapt web files
        * Move project to GNU Savannah Portal, since BerliOS announced to close on 2011-12-31

2011-09-29  Christian Heller  <christian.heller@tuxtax.de>

        * Optimise "executor/converter/decoder/cybol_decoder.c", e.g. root node handling,
            item overwriting, channel and abstraction conversion into runtime integer values
        * Add new files for runtime channel handling

2011-09-28  Christian Heller  <christian.heller@tuxtax.de>

        * Structure code "executor/converter/decoder/cybol_decoder.c" into several functions
        * Prepare conversion of cybol model into cyboi-internal runtime integer model constant

2011-09-24  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt constants in "constant/model/cybol/operation/"
        * Adapt "executor/converter/decoder/cybol_decoder.c"

2011-09-19  Christian Heller  <christian.heller@tuxtax.de>

        * Move files from "executor/calculator/" into "executor/calculator/basic/"
        * Add directory "executor/calculator/all/", similar to directory "executor/comparator/all/"
        * Update file "applicator/calculate/calculate.c"

2011-09-18  Christian Heller  <christian.heller@tuxtax.de>

        * Delete file "applicator/calculate/add/integer_add.c"
        * Rename file "applicator/calculate/add.c" into "applicator/calculate/calculate.c"
        * Delete outdated files from "executor/calculator/"
        * Add functions "calculate_fraction_reduce", "calculate_integer_absolute", "calculate_integer_negate"
        * Fill new files in directory "executor/calculator/"

2011-09-13  Christian Heller  <christian.heller@tuxtax.de>

        * Create new structure for files in "executor/calculator/", similar to "executor/comparator/",
            so that operands are processed as vectors and all types and operations considered

2011-09-10  Christian Heller  <christian.heller@tuxtax.de>

        * Rename directory "executor/arithmetiser/" into "executor/calculator/"
        * Move files from "applicator/live/sense/" to "executor/lifeguard/sensor/"
        * Adapt files in directories "executor/lifeguard/" and "applicator/live/"
        * Adapt files in directory "applicator/file/"
        * Adapt files in directory "applicator/calculate/"
        * Adapt files in directory "applicator/communicate/"
        * Move functionality of "applicator/communicate/send/" and "applicator/communicate/receive/"
            to "executor/communicator/sender/" and "executor/communicator/receiver/"
        * Delete "executor/communicator/sender.c" and "executor/communicator/receiver.c"

2011-09-09  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt files in directories "executor/maintainer/" and "applicator/maintain/"

2011-08-28  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt files of "applicator/modify/" and other directories
        * Introduce "shrink" flag for adjusting destination count when using "overwrite" operation
        * Move sub directories of "applicator/maintain/" to new directory "executor/maintainer/"

2011-08-27  Christian Heller  <christian.heller@tuxtax.de>

        * Move old files of "applicator/memoriser/" into new directories "applicator/memorise/" and "applicator/modify/"
        * Move old files of "applicator/calculator/" into new directory "applicator/calculate/"
        * Move old files of "applicator/filer/" into new directory "applicator/file/"
        * Move old files of "applicator/runner/" into new directory "applicator/run/"
        * Adapt files of "applicator/memorise/" and "applicator/modify/"

2011-08-24  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt old files of "applicator/maintainer/" and move into new directory "applicator/maintain/"
        * Move "sense.c" from "applicator/communicate/" into directory "applicator/live/"
        * Move "interrupt.c" from "applicator/maintainer/" into directory "applicator/live/"

2011-08-22  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt old files of "applicator/comparator/" and move into new directory "applicator/compare/"

2011-08-18  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt old files of "applicator/guider/" and move into new directory "applicator/flow/"
        * Add integer comparison files in directory "executor/comparator/basic/integer/",
            which is useful not only for clearer code, but also for using the function
            "compare_integer_unequal" as loop break flag condition with less parametres and overhead
            than "compare_integer" which has to find the right comparison operator first what costs runtime
        * Adapt some loops to use the new function "compare_integer_unequal" for their break flag
        * Adapt source code to use "FALSE_BOOLEAN_MEMORY_MODEL" and "TRUE_BOOLEAN_MEMORY_MODEL" for flags,
            instead of "NUMBER_0_INTEGER_MEMORY_MODEL" and "NUMBER_1_INTEGER_MEMORY_MODEL", respectively

2011-08-14  Christian Heller  <christian.heller@tuxtax.de>

        * Move some files from "executor/modifier/getter/" into "executor/modifier/knowledge_getter/"
        * Adapt reception of signal model from file in "initialiser.c"
        * Adapt old files of "applicator/communicator/" and move into new directory "applicator/communicate/"
        * Correct "hierarchical_part_getter.c" which still used old version of "get_name_part"
            and adapt "part_name_finder.c" as well as "part_name_getter.c" to accept an element index

2011-08-13  Christian Heller  <christian.heller@tuxtax.de>

        * Add new directory "executor/searcher/name_finder/" for finding
            a part with the given name in an investigated array/item/part
        * Simplify funtionality of "name_part_getter.c" with "part_name_finder.c"
            (first indentify the index of a searched part and only afterwards, get that part)
        * Add new directory "executor/modifier/name_getter/" for getting
            a part with the given name in an investigated array/item/part

2011-08-05  Christian Heller  <christian.heller@tuxtax.de>

        * Complete new version of "knowledge_part_getter.c" (formerly "get_universal_compound_element_by_name")
        * Adapt "handler.c" and delete "knowledge_handler.c" and "encapsulated_handler.c"
        * Hand over name as reference wherever "get_part_branch" is called

2011-08-04  Christian Heller  <christian.heller@tuxtax.de>

        * Delete outdated source files and -directories
        * Adapt files in "controller/" directory to new container infrastructure
        * Add directory "executor/modifier/appender/"
        * Activate new versions of several functions by deleting "_NEW" suffix

2011-07-29  Christian Heller  <christian.heller@tuxtax.de>

        * Eliminate warnings by including files or adding forward declarations of functions, respectively

2011-07-28  Christian Heller  <christian.heller@tuxtax.de>

        * Make "helper.c" and "informant.c" function again
        * Start refactoring file "manager.c"

2011-07-27  Christian Heller  <christian.heller@tuxtax.de>

        * Replace outdated "replacer" and "appender" functionality with "overwriter"
        * Fix "optionaliser.c", so that log file is usable again
        * Use item structure for knowledge file path in "cyboi.c" and functions called from there

2011-07-26  Christian Heller  <christian.heller@tuxtax.de>

        * Replace outdated "assigner" functionality with "copier"

2011-07-25  Christian Heller  <christian.heller@tuxtax.de>

        * Replace outdated "detect" function with new "detect_array" function

2011-07-24  Christian Heller  <christian.heller@tuxtax.de>

        * Fix prefix of indentation ("+-" or "#-") for model_diagram (knowledge tree) output
        * Test part retrieval via hierarchical knowledge path name in file "finder_tester.c"

2011-07-23  Christian Heller  <christian.heller@tuxtax.de>

        * Process hierarchical knowledge path names, in order to get a part from the knowledge tree
            (directories "executor/searcher/" and "executor/modifier/getter/")

2011-07-22  Christian Heller  <christian.heller@tuxtax.de>

        * Complete and test deep part comparison in files "part_comparator.c" and test in file "comparator_tester.c"

2011-07-21  Christian Heller  <christian.heller@tuxtax.de>

        * Complete and test deep part copying (pointer array elements including their children)
        * Continue deep comparison in file "part_comparator.c" and test in file "comparator_tester.c"

2011-07-20  Christian Heller  <christian.heller@tuxtax.de>

        * Correct testing file "modifier_tester.c", so that part retrieval from a whole works
        * Test shallow part copying (pointer array)
        * Complete simple knowledge part getter (not considering hierarchical names yet)

2011-07-19  Christian Heller  <christian.heller@tuxtax.de>

        * Move "finder/" into "searcher/" directory
        * Add files for knowledge part detection and selection in new "searcher/" directory
        * Start writing functions for getting a part from a compound/ whole/ knowledge model

2011-07-17  Christian Heller  <christian.heller@tuxtax.de>

        * Move "copier/" into "modifier/" directory
        * Implement finder functionality for array, item, part in directory "executor/finder/"

2011-07-16  Christian Heller  <christian.heller@tuxtax.de>

        * Move "set" functions into directory "modifier" and rename into "overwrite_element" and "insert_element"
        * Move "get" functions into directory "modifier" and rename into "get_element"
        * Refactor comparison functions and add several kinds of comparison, e.g. prefix, suffix

2011-07-15  Christian Heller  <christian.heller@tuxtax.de>

        * Refactor "get" and "set" functions so that count and size are set properly
        * Extend file "modifier_tester.c" for testing part

2011-07-13  Christian Heller  <christian.heller@tuxtax.de>

        * Add functions "insert", "remove", "overwrite" for array, item, part in directory "modifier/"
        * Add functions "get", "set" for item, part in directory "accessor/"

2011-07-12  Christian Heller  <christian.heller@tuxtax.de>

        * Add "array_inserter.c" and "array_remover.c"

2011-07-10  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt "model_diagram_encoder.c" to new container functions

2011-07-09  Christian Heller  <christian.heller@tuxtax.de>

        * Continue restructuring container functionality
        * Complete "part_copier.c" and corresponding testing file "copier_tester.c"
        * Add "append" functionality to part and item copier, for convenience

2011-07-03  Christian Heller  <christian.heller@tuxtax.de>

        * Continue restructuring container functionality
        * Automatically adjust size and count when reallocating an item's data element
        * Make part copying work

2011-06-29  Christian Heller  <christian.heller@tuxtax.de>

        * Continue restructuring container functionality
        * Delete compound, use only part instead, since the necessary loop is already in "array_copier.c"
        * Merge offset container functions into regular files
        * Move "character_value_copier.c" and others one level up and delete "value" directory

2011-06-27  Christian Heller  <christian.heller@tuxtax.de>

        * Continue restructuring container functionality (fraction, compound)

2011-06-26  Christian Heller  <christian.heller@tuxtax.de>

        * Continue restructuring container functionality (part)

2011-06-25  Christian Heller  <christian.heller@tuxtax.de>

        * Rename "executor/referencer/" into "executor/copier/",
            which is used for setting (copying) container elements;
            getting container elements is done via pointer array,
            which delivers a reference to the desired element
        * Adjust destination item's count automatically (similar to a wrapper)
        * Continue restructuring container functionality (array and item)

2011-06-06  Christian Heller  <christian.heller@tuxtax.de>

        * Search for solutions for compound-part handling
        * Decide, that compound should be just a pointer value storing part structures

2011-06-05  Christian Heller  <christian.heller@tuxtax.de>

        * Continue implementing and testing memoriser (allocation, deallocation)
        * Restructure container functionality (allocate, set)

2011-06-03  Christian Heller  <christian.heller@tuxtax.de>

        * Continue "executor/referencer/setter/"
        * Add file "executor/converter/encoder/abstraction_encoder.c"
        * Add function "test_memoriser_allocation"
        * Add file "offset_adder.c" for factoring out offset functionality

2011-05-27  Christian Heller  <christian.heller@tuxtax.de>

        * Implement "model" and "item" in "executor/memoriser/allocator/"
        * Continue "executor/referencer/setter/"

2011-05-26  Christian Heller  <christian.heller@tuxtax.de>

        * Correct "executor/comparator/", so that not only models, but also details are compared deeply
        * Continue "executor/referencer/setter/"

2011-05-13  Christian Heller  <christian.heller@tuxtax.de>

        * Continue "executor/referencer/setter/"

2011-05-08  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up old files in "executor/comparator/"
        * Start refactoring files in "executor/referencer/setter/"

2011-05-07  Christian Heller  <christian.heller@tuxtax.de>

        * Add (German language) beginner's manual of Stefan Bebber and Enrico Nipper

2011-05-05  Christian Heller  <christian.heller@tuxtax.de>

        * Complete file "model_comparator.c"
        * Add "if-else" cybol application of Andy Röhr

2011-05-03  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare shallow and deep comparison in "executor/comparator/"

2011-05-02  Christian Heller  <christian.heller@tuxtax.de>

        * Continue new files and delete old ones in "executor/comparator/"

2011-05-01  Christian Heller  <christian.heller@tuxtax.de>

        * Continue new files and delete old ones in "executor/comparator/"

2011-04-29  Christian Heller  <christian.heller@tuxtax.de>

        * Continue new files in "executor/comparator/"

2011-04-28  Christian Heller  <christian.heller@tuxtax.de>

        * Add udp socket presentation of Patrick Westphal to "tmp" directory
        * Add "time_output" cybol applications of Jens Rudek and Patrick Sperl

2011-04-26  Christian Heller  <christian.heller@tuxtax.de>

        * Continue new files in "executor/comparator/"

2011-04-21  Christian Heller  <christian.heller@tuxtax.de>

        * Add files "item_comparator.c" and "model_comparator.c"

2011-04-19  Christian Heller  <christian.heller@tuxtax.de>

        * Correct new "shell_output" cybol applications for "sequence", "branch" and "loop"

2011-04-18  Christian Heller  <christian.heller@tuxtax.de>

        * Add "sequence" control flow operation in parallel to "loop" and "branch"
        * Fix shell output error in "file_sender.c" (when sending byte streams to "stdout",
            the output has to be done in "wchar_t" anyway, since "stdout" was configured
            for wide characters at cyboi startup; therefore, use fwprintf in this case)
        * Add new "shell_output" cybol applications for "sequence", "branch" and "loop"

2011-04-16  Christian Heller  <christian.heller@tuxtax.de>

        * Continue new container functions "setter"

2011-04-15  Christian Heller  <christian.heller@tuxtax.de>

        * Continue new container functions
        * Adapt "setter" modules according to CYBOP knowledge schema:
            merge "compound" and "part" into "model"; rename "model" into "item"

2011-04-14  Christian Heller  <christian.heller@tuxtax.de>

        * Redesign container functions

2011-04-13  Christian Heller  <christian.heller@tuxtax.de>

        * Redesign container functions

2011-04-05  Christian Heller  <christian.heller@tuxtax.de>

        * Experiment with allocation- and other container functions

2011-04-01  Christian Heller  <christian.heller@tuxtax.de>

        * Implement and investigate fraction operations

2011-03-31  Christian Heller  <christian.heller@tuxtax.de>

        * Split container- and element-related functionality into separate files in "executor/comparator/"
        * Start reimplementation of "executor/accessor/getter/"

2011-03-27  Christian Heller  <christian.heller@tuxtax.de>

        * Completely redesign comparison modules in directory "executor/comparator/"

2011-03-26  Christian Heller  <christian.heller@tuxtax.de>

        * Add many kinds of comparator files to directory "executor/comparator/"
        * Add files "calculate_cybol_abstraction.c", "compare_cybol_abstraction.c", "route_cybol_abstraction.c"
            to directory "constant/abstraction/cybol/"
        * Add files "primitive_operation_abstraction.c", "operation_abstraction.c"
            to directory "constant/abstraction/operation/"
        * Delete "constant/abstraction/mime/" directory, as the constants specified by it
            were redundant and are already contained in directory "constant/abstraction/cybol/"

2011-03-23  Christian Heller  <christian.heller@tuxtax.de>

        * Make cybol applications "counter" and "counter_static_model" work fully
        * Add new cybol applications "addition", "addition_dynamic_model", "addition_dynamic_model_with_root", "addition_static_model"

2011-03-22  Christian Heller  <christian.heller@tuxtax.de>

        * Add new cybol application "counter"

2011-02-27  Christian Heller  <christian.heller@tuxtax.de>

        * Release CYBOP 0.10.0

2011-02-26  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up some minor issues in preparation of release CYBOP 0.10.0

2011-02-25  Christian Heller  <christian.heller@tuxtax.de>

        * Experiment with a few new container functions

2011-02-24  Christian Heller  <christian.heller@tuxtax.de>

        * Add file "part_replacer.c" and some constants

2011-02-23  Christian Heller  <christian.heller@tuxtax.de>

        * Update website
        * Add old scientific article "An Investigation ..." from February 2006

2011-02-22  Christian Heller  <christian.heller@tuxtax.de>

        * Update project plan on website

2011-02-19  Christian Heller  <christian.heller@tuxtax.de>

        * Fix error that size was set one too large in function "replace_adjust"
        * Fix error that count was increased before replacing elements in function "replace_adjust",
            which may cause memory errors when "sensing" threads access the destination
            because the count is higher than the actual number of valid elements
        * Replace old "append..." functions with new ones and delete directory "executor/accessor/appender/"

2011-02-06  Christian Heller  <christian.heller@tuxtax.de>

        * Solve conflict between old and new "replace" (formerly "set") functions

2011-02-03  Christian Heller  <christian.heller@tuxtax.de>

        * Move "assign" and "set" functionality from "executor/accessor/" into "executor/modifier/"
        * Rename "set" functions into "replace"

2011-02-01  Christian Heller  <christian.heller@tuxtax.de>

        * Complete "compound_reallocator" and "signal_memory_reallocator"
        * Adapt "compound_setter" and "signal_memory_setter" accordingly

2011-01-30  Christian Heller  <christian.heller@tuxtax.de>

        * Add files "compound_reallocator.c" and "signal_memory_reallocator.c"

2011-01-29  Christian Heller  <christian.heller@tuxtax.de>

        * Fix wrong cast to int instead of double for wait time in socket sensing service
        * Identify problem that html file http response was created twice and
            only first action was executed, but not later ones;
            the reason is the usage of "append" instead of "replace",
            so that all html models or uri actions were appended to previous ones

2011-01-20  Christian Heller  <christian.heller@tuxtax.de>

        * Complete prototype website for application "presence"
        * Add cybol application "http_communication"

2011-01-13  Christian Heller  <christian.heller@tuxtax.de>

        * Add prototype website for application "presence"

2011-01-12  Christian Heller  <christian.heller@tuxtax.de>

        * Make http communication work fully
        * Create new cybol application "presence"

2011-01-11  Christian Heller  <christian.heller@tuxtax.de>

        * Make http response encoding work

2011-01-10  Christian Heller  <christian.heller@tuxtax.de>

        * Debug http response encoder (resulting character array is empty)

2011-01-09  Christian Heller  <christian.heller@tuxtax.de>

        * Continue http response encoder (header entries)

2011-01-08  Christian Heller  <christian.heller@tuxtax.de>

        * Continue http response encoder (general structure)

2011-01-07  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare http response encoder

2011-01-05  Christian Heller  <christian.heller@tuxtax.de>

        * Factor out model diagram encoder functions to separate files in sub directory
        * Fix error that uri details were not displayed in model diagram (wrong constant count)
        * Make html encoder work again

2011-01-03  Christian Heller  <christian.heller@tuxtax.de>

        * Fix file "uri_decoder.c" and others, to make uri parsing work correctly

2011-01-02  Christian Heller  <christian.heller@tuxtax.de>

        * Distinguish four kinds of http request uri (no resource, absolute uri, authority form, absolute path)

2011-01-01  Christian Heller  <christian.heller@tuxtax.de>

        * Implement decoding of percent-encoded ASCII character arrays
        * Change copyright year to 2011 in all CYBOI source code files
        * Prepare distinction of request uri types (server "*", absolute, authority, path)

2010-12-31  Christian Heller  <christian.heller@tuxtax.de>

        * Figure out problem with uri handling (percent-decoding missing)

2010-12-30  Christian Heller  <christian.heller@tuxtax.de>

        * Continue uri handling

2010-12-29  Christian Heller  <christian.heller@tuxtax.de>

        * Continue uri handling

2010-12-28  Christian Heller  <christian.heller@tuxtax.de>

        * Continue uri authority handling

2010-12-27  Christian Heller  <christian.heller@tuxtax.de>

        * Replace "process" functions with "decode" functions
        * Replace "evaluate" functions with "select" functions

2010-12-23  Christian Heller  <christian.heller@tuxtax.de>

        * Replace "process" functions with "decode" functions
        * Factor out many functions into their own specific files

2010-12-20  Christian Heller  <christian.heller@tuxtax.de>

        * Investigate container classes of Java Class Framework
            (e.g. Collections, Maps, MutableTreeNode)
            in order to identify groups of necessary container functions
        * Store these functions in file "todo_cyboi_java_comparison.txt"

2010-12-14  Christian Heller  <christian.heller@tuxtax.de>

        * Create new files and continue uri handling
        * Extend "detect" function with flag indicating desired move of position

2010-12-10  Christian Heller  <christian.heller@tuxtax.de>

        * Create new files and continue uri handling
        * Distinguish between various http schemes using "evaluate" function

2010-11-29  Christian Heller  <christian.heller@tuxtax.de>

        * Create new files for uri handling
        * Add directory "executor/converter/evaluator/"

2010-11-26  Christian Heller  <christian.heller@tuxtax.de>

        * Factor out http request selecting functions to separate files

2010-11-25  Christian Heller  <christian.heller@tuxtax.de>

        * Change back all-at-once-conversion of http request header into wide characters,
            because the URI may contain percent-encoded octets that first have to be decoded,
            before decoding the therefrom resulting octets into wide characters
        * Factor out http request processing functions to separate files
        * Prepare decoding of percent-encoded character arrays (may be applied in a URI)

2010-11-24  Christian Heller  <christian.heller@tuxtax.de>

        * Start implementing URI decoding using files independent of HTTP, to make it reusable

2010-11-23  Christian Heller  <christian.heller@tuxtax.de>

        * Change http decoding so that the message header and -body are
            separated first, while still available as ASCII characters
        * Convert http message header into wide characters at once (not piece by piece)
        * Replace constants files "*compound_http_name.c" with "cyboi_http_name.c"
        * Change type of most http constants towards wide character, since the http
            message header is converted to wide characters, before processing it further

2010-11-17  Christian Heller  <christian.heller@tuxtax.de>

        * Set model count to zero in "model_allocator.c", since the model does initially not contain any elements;
            correct bug in "character_vector_addition_calculator.c" and "integer_vector_addition_calculator.c",
            where the count was forgotten to be set
        * Add one file with prefix "cyboi_" in parallel to each file containing http constants
            in directory "constant/name/http/";
            this is necessary, because names or models of standard formats
            are not always intuitive, so that CYBOI uses its own speaking names internally,
            e.g. HTTP header names start with a capital letter, but CYBOI uses lower-case names only;
            fields of the xDT standard are represented by numbers, but CYBOI uses speaking names (text) etc.
        * Continue writing of http request processor

2010-11-16  Christian Heller  <christian.heller@tuxtax.de>

        * Simplify source code by using the functions "allocate_model" and "deallocate_model"
            wherever a model (array, compound or another) with count and size gets created

2010-11-15  Christian Heller  <christian.heller@tuxtax.de>

        * Factor out functions of file "controller/globaliser.c" into separate files
            in new sub directories "controller/globaliser/" and "controller/unglobaliser/",
            and move unglobalise functionality into file "controller/unglobaliser.c"
        * Factor out functions of file "controller/checker.c" into separate files
            in new sub directory "controller/checker/"

2010-11-14  Christian Heller  <christian.heller@tuxtax.de>

        * Make "ui_control" cybol application work again
        * Investigate if and where to use architecture-independent types such as
            "size_t" and "ptrdiff_t" instead of "int";
            http://www.gnu.org/software/libtool/manual/libc/Important-Data-Types.html#Important-Data-Types;
            since cyboi assigns the sizes of all primitive types
            to special global integer variables at system startup
            (in module "globaliser.c"), there is no need to work with type "sizt_t";
            pointer subtractions return values of type "ptrdiff_t" in glibc;
            since pointer arithmetics is usually done in just one line in cyboi,
            and the resulting values are assigned to integer variables,
            nothing had to be changed for now in cyboi (possibly later, however)
        * Add new global size variables for various data types of the glibc,
            in order to avoid using the "sizeof" function throughout all source code
        * Assign new type size variables at system startup, in file "globaliser.c"
        * Adapt all source code

2010-11-13  Christian Heller  <christian.heller@tuxtax.de>

        * Debug file "creating_memoriser.c", where abstraction was decoded a second time
            and assign runtime abstraction instead

2010-11-12  Christian Heller  <christian.heller@tuxtax.de>

        * Debug runtime errors
        * Make standard application examples work again

2010-11-11  Christian Heller  <christian.heller@tuxtax.de>

        * Continue replacing integer-based memory abstraction constants in cyboi with wide characters
        * Correct compilation errors caused by new primitive abstraction constants;
            include file "constant/abstraction/memory/primitive_memory_abstraction.c" where necessary

2010-11-10  Christian Heller  <christian.heller@tuxtax.de>

        * Continue replacing integer-based memory abstraction constants in cyboi with wide characters

2010-11-09  Christian Heller  <christian.heller@tuxtax.de>

        * Replace integer-based memory abstraction constants in cyboi with wide characters;
            see files "constant/abstraction/memory/memory_abstraction.c"
            and "constant/abstraction/memory/primitive_memory_abstraction.c";
            it is true, integer numbers are more efficient when processed in cyboi;
            they have been applied, but the problem is, that runtime abstractions
            are also used in cybol applications, e.g. in operation "add", "copy", "create";
            if having integers, then cybol application developers would have to learn
            which number references which abstraction (type);
            even worse, the assignment of numbers to abstraction constants may change,
            e.g. due to additional abstractions having to be added to cyboi;
            therefore, using wide character sequences for abstraction constants is necessary
        * Replace branching in "executor/" directory and elsewhere using "comparison result" flag
            instead of direct comparison with abstraction integer value,
            due to change from integer-based memory abstraction constants to wide characters

2010-11-03  Christian Heller  <christian.heller@tuxtax.de>

        * Try to make "ui_control" cybol application work again
        * Find the reason why wide character-based abstraction constants
            should be used instead of integer numbers (because they are used in cybol)

2010-11-02  Christian Heller  <christian.heller@tuxtax.de>

        * Fix pointer bugs caused by wrong position of arguments in "get_universal_compound_element_by_name" function and -calls
        * Make "exit_text_file" and "exit_cybol_file" cybol applications work again

2010-11-01  Christian Heller  <christian.heller@tuxtax.de>

        * Fix pointer bugs caused by wrong position of arguments in "get_compound_element_index" function calls
        * Fix pointer bugs caused by passing plain argument instead of its reference to "set" function calls
        * Fix pointer bugs caused by passing result argument's reference instead of just argument in "*_operation_handler.c" functions
        * Make "exit" cybol application work again

2010-10-31  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bugs caused by wrong position of result argument in "compare_equal_arrays" function
        * Search and partly fix bug that the xml decoder does not work

2010-10-30  Christian Heller  <christian.heller@tuxtax.de>

        * Fix linking bug by adding "encode" function forward declaration to "compound_appender.c"
        * Update "architecture.odp" document

2010-10-28  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt all function calls of "set_array_elements" and "get_array_elements"
            to new order of arguments, to solve a couple of "Segmentation fault" errors

2010-10-27  Christian Heller  <christian.heller@tuxtax.de>

        * Search bug causing "Segmentation fault" at destruction of memory models

2010-10-26  Christian Heller  <christian.heller@tuxtax.de>

        * Debug "controller/manager.c"
        * Optimise allocation and deallocation by using "allocate_model"

2010-10-25  Christian Heller  <christian.heller@tuxtax.de>

        * Make logging work again, in either test mode or knowledge mode

2010-10-22  Christian Heller  <christian.heller@tuxtax.de>

        * Figure out why logging does not produce any message in log file

2010-10-20  Christian Heller  <christian.heller@tuxtax.de>

        * Add test functions

2010-10-19  Christian Heller  <christian.heller@tuxtax.de>

        * Restructure test function directory

2010-10-10  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up logical errors
        * Adapt "set" function to try to make it work with "tester.c"

2010-09-22  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up logical errors
        * Make cyboi runnable showing help message

2010-09-19  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up compilation errors stemming from previously implemented changes
        * Correct linking errors
        * Make cyboi fully compilable and linkable again

2010-09-04  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up compilation errors stemming from previously implemented changes
        * Correct linking errors

2010-09-03  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up compilation errors stemming from previously implemented changes
        * Correct linking errors

2010-08-14  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up compilation errors stemming from previously implemented changes
        * CAUTION! Parametre values such as *_MEMORY_ABSTRACTION should always be handed over together with MEMORY_ABSTRACTION_COUNT,
            but NOT for array functions, to avoid cyclic calls when evaluating an "ABSTRACTION" constant
            which is currently of type "integer" but might become a "wide_character" again in future

2010-08-13  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up compilation errors stemming from previously implemented changes

2010-08-12  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up compilation errors stemming from previously implemented changes

2010-08-10  Enrico Gallus  <enrico.gallus@googlemail.com>

        * Extend files constant/model/internet_protocol_model.c and constant/model/service_port_model.c

2010-08-06  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up compilation errors stemming from previously implemented changes

2010-06-02  Christian Heller  <christian.heller@tuxtax.de>

        * Correct include paths since some files are in a deeper directory now, after having restructured
        * Clean up errors stemming from previously implemented changes,
            in "applicator/" sub directories "maintainer", "memoriser" and "runner"

2010-03-01  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up compilation errors stemming from previously implemented changes
        * Remove superfluous "vector" files, e.g. "character_vector_allocator.c" etc.

2010-02-21  Christian Heller  <christian.heller@tuxtax.de>

        * Replace "compare_arrays" with "compare_equal_arrays" and correct order of parametres
        * Clean up compilation errors stemming from previously implemented changes
        * Remove superfluous "vector" files, e.g. "character_vector_getter.c" etc.
        * Remove further superfluous files, e.g. "character_vector_appender.c"
            and replace them with just one neutral file, e.g. "array_appender.c",
            since they differed only in their abstraction (type), but not their logic

2010-02-16  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up errors in "executor/" directory stemming from previously implemented changes

2010-02-13  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up errors in "executor/" directory stemming from previously implemented changes

2010-01-24  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt various files to use new integer-based "_MEMORY_ABSTRACTION" constants

2010-01-22  Christian Heller  <christian.heller@tuxtax.de>

        * Change copyright year to 2010 in all CYBOI source code files
        * Adapt branching files in "executor" directory (e.g. "appender.c") to use
            new integer-based "_MEMORY_ABSTRACTION" constants
        * Adapt source code by cleaning up errors stemming from
            previously implemented changes in arrays, abstraction constants, model constants etc.

2009-12-18  Christian Heller  <christian.heller@tuxtax.de>

        * Restructure "executor/comparator/" directory for distinguishing between "equality", "greaterness" etc.
        * Move content of "comparator.c" into this directory and delete the file from "executor/" directory

2009-12-17  Christian Heller  <christian.heller@tuxtax.de>

        * Distinguish between unary and binary operations in "executor/calculator/" directory
            (for unary operations it suffices to distinguish abstractions like "integer", "double" etc.
            and to offer a corresponding module and function for each such abstraction;
            for binary operations, the two operands may have different abstractions, so that
            different main modules have to be used, e.g. "integer_adder.c" instead of just "adder.c"
        * Rename "adder.c" file into "integer_adder.c" and create equally named sub directory
            with files "integer_integer_adder.c" and "pointer_integer_adder.c" (more are possible)
        * Keep structure extensible, since other files like "double_adder.c" or
            "wide_character_adder.c" may be added later on
        * Delete file "calculator.c"
        * Add new file "size_determiner.c" returning the size of a primitive type
        * Adapt files "array_allocator.c" and "array_reallocator.c"

2009-12-14  Christian Heller  <christian.heller@tuxtax.de>

        * Split file "assigner.c" and put resulting files into "executor/accessor/assigner/" directory

2009-11-27  Christian Heller  <christian.heller@tuxtax.de>

        * Extract comparison functions from "comparator.c" into extra files, e.g. "character_comparator.c"

2009-11-22  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt files in "executor" directory to new structure

2009-11-18  Christian Heller  <christian.heller@tuxtax.de>

        * Update architecture document in OpenOffice and PDF format

2009-11-09  Christian Heller  <christian.heller@tuxtax.de>

        * Debug source code by cleaning up errors stemming from previously implemented array changes
        * Spread array functions to different files
        * Rename "memoriser" directory into "executor"
        * Restructure and partly rename files in "executor" directory

2009-10-09  Christian Heller  <christian.heller@tuxtax.de>

        * Convert source code repository from Concurrent Versions System (CVS) to Subversion (SVN)

2009-10-06  Christian Heller  <christian.heller@tuxtax.de>

        * Convert memory abstraction constants from strings to numbers,
            for arrays, primitives vectors, compound types etc.
        * Merge array abstraction constants into file "memory_abstraction.c"
        * Add primitive operations for adding, multiplying, comparing values
        * Simplify and unify array functions by introducing NEW files with functions
            to "assign", "compare", "add" values of primitive data types;
            that way, the type handling is outsourced and redundancies are avoided
        * Add reworked array files (assigner, comparator, multiplier etc.) into directory "memoriser"
        * Delete now outdated directory "memoriser/array/"

2009-07-30  Christian Heller  <christian.heller@tuxtax.de>

        * Add new file "integer_assigner.c" starting extraction of source code
            handling primitives (assign, compare etc.)

2009-07-22  Christian Heller  <christian.heller@tuxtax.de>

        * Correct the names of a few constants in various files

2009-07-21  Christian Heller  <christian.heller@tuxtax.de>

        * Sort http constants alphabetically where useful
        * Add further http header constants, taken from the HTTP 1.1 RFC 2616 specification
        * Add further comparisons in function "select_http_request_header"

2009-03-03  Christian Heller  <christian.heller@tuxtax.de>

        * Continue handling of http headers in files "http_request_processor.c" and "http_request_selector.c"

2009-02-26  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt file "xml_processor.c" to using the new function "append_part"

2009-02-23  Christian Heller  <christian.heller@tuxtax.de>

        * Add file "compound_http_name.c" for storing parsed http elements in one compound model
        * Add file "part_accessor.c"
        * Continue http request parser

2009-02-21  Christian Heller  <christian.heller@tuxtax.de>

        * Readd files "http_request_converter.c" and "http_response_converter.c"

2009-02-17  Christian Heller  <christian.heller@tuxtax.de>

        * Delete files "http_request_converter.c" and "http_response_converter.c"
        * Add file "http_request_compound_selector.c"

2009-02-10  Christian Heller  <christian.heller@tuxtax.de>

        * Add files "http_response_processor.c" and "http_response_selector.c"
        * Investigate detection of content type in http messages and add corresponding
            comments and WWW resource links

2009-02-09  Christian Heller  <christian.heller@tuxtax.de>

        * Rename and move file "separator_http_model.c" to "separator_http_name.c"
        * Add files "http_request_processor.c" and "http_request_selector.c"
        * Start implementing http request parsing functionality, to soon replace the old file "http_request_converter.c"
        * Move directory "constant/name/cybol/xdt/" to "constant/name/xdt_model/"

2009-02-08  Christian Heller  <christian.heller@tuxtax.de>

        * Reactivate socket functionality
        * Add new file "detector.c" which replaces the now removed file "xml_detector.c";
            adapt file "xml_selector.c" to changed function calls;
            the new file "detector.c" simplifies implementing parsers for various
            data structure types and thereby files

2009-02-06  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt and correct minor things in project files
        * Remove log messages from threaded functions, since they:
            a) produced huge log files in the thread's endless loop
            b) could (possibly) cause strange behaviour as logging is not guaranteed to be thread-safe

2009-01-31  Christian Heller  <christian.heller@tuxtax.de>

        * Edit cybol application "ui_control" (menu entries, English user interface)
        * Change copyright year to 2009 in all CYBOI source code files
        * Release CYBOP 0.9.0

2009-01-30  Christian Heller  <christian.heller@tuxtax.de>

        * Change terminal attributes in file "gnu_linux_console_starting_maintainer.c",
            so that pressing a button causes an immediate reaction and does not wait for the next input
            (before that, the application did only react to the escape button when pressing it twice or yet another button);
            the terminal attribute "c_cc[VMIN]" had to be set to zero as value

2009-01-29  Christian Heller  <christian.heller@tuxtax.de>

        * Reactivate storage and manipulation of terminal settings at console startup, so that pressing
            the <enter> button is not required for input; restore settings at console shutdown
        * Investigate signal processing, which does not work reliably
        * Add mutex lock to functions "read_gnu_linux_console_character", wherever "fgetwc" or "ungetwc" are called;
            this is to prevent errors due to different threads manipulating gnu/linux console characters at the same time;
            this was leading to wrong behaviour, because (unpredictably) only some actions were accepted on gnu/linux console
        * Make cybol application "ui_control" work

2009-01-28  Christian Heller  <christian.heller@tuxtax.de>

        * Investigate signal processing, which does not work reliably

2009-01-27  Christian Heller  <christian.heller@tuxtax.de>

        * Simplify file "checker.c"
        * Investigate why only the first interrupt signal, but not following interrupts
            are detected on gnu/linux console

2009-01-26  Christian Heller  <christian.heller@tuxtax.de>

        * Correct a few pointer issues in file "checker.c"
        * Search bug that not all interrupts arrive correctly in functions "check_interrupts" and "check_signal"

2009-01-25  Christian Heller  <christian.heller@tuxtax.de>

        * Factor out handling of encapsulated- and knowledge logic into new files
            "encapsulated_handler.c" and "knowledge_handler.c"
        * Let both handle not only compound logic, but also operation logic
            (the latter was missing up to now, which is why some cybol application functions did not work)
        * Add tests for null pointer in file "x_window_system_communicator.c" to avoid
            a "Segmentation fault", if the X Window System was not started

2009-01-24  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare "project plan" web page for coming 0.9.0 release
        * Search and fix "Bus error" bug appearing since the autoconf/ make files were adapted to 64 Bit architecture:
            the reason was that "INTEGER_ARRAY_MEMORY_ABSTRACTION" instead of "POINTER_ARRAY_MEMORY_ABSTRACTION"
            was handed over to function calls of "get_array_elements" of file "compound_handler.c"
        * Fix bug causing tui input actions to bring a segmentation fault:
            the reason was superfluous function calls of "decode_utf_8_unicode_character_vector" in function "read_gnu_linux_console"

2009-01-23  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt file "configure.ac" to using 64 Bit compilation mode and "x86_64" architecture
        * Remove "libxml" dependency from files "configure.ac" and "src/controller/Makefile.am"
        * Fix bug in xml parsing files where "POINTER_PRIMITIVE_SIZE" was used instead of "WIDE_CHARACTER_PRIMITIVE_SIZE"
            (this bug became obvious because the 32-bit environment set int, long and pointer to 32 bits,
            but the now valid 64-bit environment sets int to 32 bits and long and pointer to 64 bits)
        * Prepare file "NEWS" for coming 0.9.0 release

2009-01-21  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bad bug in all arrays' function "reallocate": the new memory area to be allocated
            was always set, even if the new array size was smaller than the old array count,
            which caused the pointer to the new array to cross the array's boundary
        * Fix bug in file "gnu_linux_console_converter.c" that caused the content of
            compound parts to be painted even though it does not represent valid characters;
            this caused wrong characters or question marks to appear on screen;
            a null pointer is handed over instead of a compound model now

2009-01-20  Christian Heller  <christian.heller@tuxtax.de>

        * Investigate and fix gnu linux console input sensing mechanism

2009-01-19  Christian Heller  <christian.heller@tuxtax.de>

        * Replace last remaining Unicode character in "ascii" border or file "gnu_linux_console_converter.c"
            with ASCII vertical line (the non-ASCII pipe caused a wrong text user interface output)
        * Eliminate bug in file "cybol_detector.c" where || was used instead of && for CYBOL root node detection
        * Correct copying of strings; rename one of two redundant CYBOL operations (for memory and file) into "copy_file"

2009-01-18  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt cybol application "ui_control" to new MIME-type-like abstractions
        * Search bug that text user interface of cybol application "ui_control" does not get displayed properly
        * Change several minor things related to Unicode and UTF-8 handling
        * Investigate three possible ways for character conversion in GNU C library documentation:
            - "Non-reentrant Conversion"
            - "Restartable Multibyte Conversion"
            - "Generic Charset Conversion"
            currently, "Restartable Multibyte Conversion" functions are used in CYBOI,
            but since all of the above functions have drawbacks, CYBOI may have to
            implement its very own conversion functions in the future

2009-01-17  Christian Heller  <christian.heller@tuxtax.de>

        * Correct minor bugs in files "integer_converter.c" and "integer_vector_converter.c"
        * Review file "gnu_linux_console_converter.c" and adapt as well as simplify many pieces
        * Correct files "terminal_background_converter.c" and "terminal_foreground_converter.c"
        * Make cybol application "helloworld" work when sending to gnu_linux_console
        * Adapt several gnu linux console files for: startup, shutdown, conversion, writing
        * Simplify variable declaration and allocation using the file "model_allocator.c"

2009-01-16  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare project plan on website for coming release
        * Make cybol application "helloworld" work when sending to shell or a file

2009-01-15  Christian Heller  <christian.heller@tuxtax.de>

        * Search error in cyboi when processing cybol application "helloworld"
        * Replace wrong constants in function "get_universal_compound_element_by_name"
            (e.g. "KNOWLEDGE_PATH_CYBOL_ABSTRACTION" with "KNOWLEDGE_PATH_MEMORY_ABSTRACTION")
        * Delete unused redundant constants in file "constant/abstraction/memory/memory_abstraction.c"
            (e.g. "wide_character" since "wide_character_vector" is used everywhere)
        * Correct handling of compound element names in "compound_accessor.c"
            (forgotten to multiply indices with "*WIDE_CHARACTER_PRIMITIVE_SIZE",
            when determining name length; error stemed from changing to wide characters still)

2009-01-09  Christian Heller  <christian.heller@tuxtax.de>

        * Fix minor things to make CYBOL "create" operation work in cybol application "helloworld"

2009-01-08  Christian Heller  <christian.heller@tuxtax.de>

        * Make cybol application "program_execution" work
        * Uncomment function calls in all files of directory "controller/handler/operation/";
            adapt some files in directory "applicator/" and some constants
        * Add file "constant/abstraction/cybol/memory_cybol_abstraction.c",
            which contains constants for the creation of memory models

2009-01-07  Christian Heller  <christian.heller@tuxtax.de>

        * Delete files like "runner.c" etc. in directory "applicator/";
            they are replaced by the files in directory "controller/handler/operation/"
        * Add new category of operations called "file", within directory "filer";
            move "archive", "copy" and "list_directory_contents" from "runner" to "filer"
        * Make cybol application "shell_command_execution" work

2009-01-02  Christian Heller  <christian.heller@tuxtax.de>

        * Readd remaining old files from CVS in directory "controller/handler/operation/"
        * Adapt file "operation_handler.c"
        * Add forgotten null pointer test in function "deoptionalise_log_file",
            which caused a segmentation fault at system shutdown, if no log file was given at startup
        * Adapt year to 2009 and copyright to GPL 3 in all cybol files belonging to cyboi
        * Make cybol applications work by correcting minor things in cyboi (file system- and shell sending and -receiving)

2008-12-30  Christian Heller  <christian.heller@tuxtax.de>

        * Comment out call to "communicate_receiving_inline" to avoid processing meta data
            in function "communicate_receiving_with_parameters", at "inline" and "file" channel;
            this call caused a null pointer to be returned for the destination details;
            it is not needed for inline data as they are not accompanied with meta data;
            it may be needed later for data received through the file channel,
            as some file formats may deliver additional meta information; figure out later
        * Optimise and add some types to file "model_diagram_converter.c"
        * Fix bug that cut off part of an operation's model, so that no operation was processed;
            the reason was an old UTF-8 decoding call for inline data that could be deleted
        * Fix bug that the LOG_OUTPUT variable was not set to null in function "deoptionalise",
            so that subsequent logger calls caused segmentation faults at system shutdown,
            because the null pointer test within the logger was successful, even though the pointer was invalid
        * Readd old files from CVS in directory "controller/handler/operation/"
        * Adapt file "operation_handler.c"
        * Add new cybol application "signal"
        * Make CYBOI work again, just before the end of the year; the following was done in 2008:
            - complete interrupt mechanism and sleeping for different communication channels;
            - change from ASCII to UNICODE and UTF-8 CYBOL files;
            - restructure all constants following a MIME type-like style;
            - implement a self-written XML-and-CYBOL parser and skip the one from libxml2

2008-12-29  Christian Heller  <christian.heller@tuxtax.de>

        * Delete files "xml_node_allocator.c" and "xml_property_allocator.c"
        * Adapt many abstraction constants used in several converters; the original cybol abstraction
            gets converted into a runtime abstraction, because both are often not identical
            (for example, a cybol file gets converted into a cyboi memory compound);
            a runtime abstraction such as "KNOWLEDGE_PATH_MEMORY_ABSTRACTION" in turn may get interpreted
            differently, for example as "WIDE_CHARACTER_VECTOR_MEMORY_ABSTRACTION" in file "allocator.c"

2008-12-27  Christian Heller  <christian.heller@tuxtax.de>

        * Continue cybol converter
        * Correct files "converter.c" and "abstraction_converter.c" using the function "replace_wide_character_vector"
        * Delete file "cybol_selector.c"

2008-12-26  Christian Heller  <christian.heller@tuxtax.de>

        * Continue cybol converter
        * Call function "process_cybol_node" recursively

2008-12-23  Christian Heller  <christian.heller@tuxtax.de>

        * Start implementing cybol converter in file "cybol_converter.c"
        * Add files "cybol_processor.c", "cybol_selector.c", "cybol_detector.c"
        * Add file "inline_receiving_communicator.c"

2008-12-22  Christian Heller  <christian.heller@tuxtax.de>

        * Introduce function "add_compound_element_by_name_with_suffix" in file "compound_accessor.c",
            in order to be able to add element names with or without number suffix

2008-12-21  Christian Heller  <christian.heller@tuxtax.de>

        * Debug xml conversion and make it work fully
        * Make tag- and attribute xml nodes receive a name in function "process_xml_element"
            (use "PLAIN_TEXT_CYBOL_ABSTRACTION" instead of "WIDE_CHARACTER_VECTOR_MEMORY_ABSTRACTION")
        * Use "COMPOUND_MEMORY_ABSTRACTION" instead of "WIDE_CHARACTER_VECTOR_MEMORY_ABSTRACTION"
            in function call to "allocate_part" in function "process_xml_element",
            because a part gets converted into a compound; only tag- and attribute names are wide character arrays

2008-12-11  Christian Heller  <christian.heller@tuxtax.de>

        * Search bug in xml conversion -- parent node is null when adding element nodes

2008-12-06  Christian Heller  <christian.heller@tuxtax.de>

        * Debug xml conversion

2008-11-29  Christian Heller  <christian.heller@tuxtax.de>

        * Debug xml conversion

2008-11-28  Christian Heller  <christian.heller@tuxtax.de>

        * Debug logger which called array functionality that called the logger in turn,
            thereby causing a circular reference and endless loop

2008-11-27  Christian Heller  <christian.heller@tuxtax.de>

        * Replace all usages of "stderr" stream with "stdout",
            on the search for some bug in the logger
        * Debug "stream_socket_communicator.c" and "datagram_socket_communicator.c"
            by replacing "=" with "==" for comparison (found by chance)

2008-11-14  Christian Heller  <christian.heller@tuxtax.de>

        * Debug xml conversion
        * Fix file "model_diagram_converter.c"; do not convert integer etc. from multibyte;
            instead, convert multibyte into wide character altogether, the complete cybol file,
            before calling the model diagram converter; only afterwards, convert (decode)
            the single wide characters into integer etc.
        * Add new functions append, replace, insert, overwrite to file "wide_character_vector_accessor.c"

2008-11-13  Christian Heller  <christian.heller@tuxtax.de>

        * Debug integer_converter.c, compound_accessor.c

2008-11-12  Christian Heller  <christian.heller@tuxtax.de>

        * Debug xml conversion, compound_accessor.c, integer_vector_converter.c

2008-11-11  Christian Heller  <christian.heller@tuxtax.de>

        * Debug xml conversion

2008-11-03  Christian Heller  <christian.heller@tuxtax.de>

        * Implement new test function "test_decode_utf8" in file "tester.c"
        * Debug file "file_communicator.c" from a wrong destination size setting
            (forgot to add one, so that the first character of a file was not read
            and the utf-8 decoding did not work afterwards)
        * Debug files "xml_converter.c", "xml_processor.c", "xml_selector.c", "xml_detector.c"

2008-10-28  Christian Heller  <christian.heller@tuxtax.de>

        * Search bug that utf-8 decoding does not work for a CYBOL/ XML file
            (it does work if handing over an internal ASCII character sequence; not found yet)

2008-10-25  Christian Heller  <christian.heller@tuxtax.de>

        * Debug file "xml_converter.c" and related files
        * Split file "xml_converter.c" into many files
        * Add new "memoriser" sub directories "detector", "processor", "selector"

2008-10-24  Christian Heller  <christian.heller@tuxtax.de>

        * Correct wide- into normal character array in function "communicate_receiving_file_system"
            of file "file_system_receiving_communicator.c"
        * Adapt "decode" function in module "converter.c", to first
            convert cybol into xml and only afterwards into a cyboi compound

2008-10-23  Christian Heller  <christian.heller@tuxtax.de>

        * Debug source code to the point where the "initialiser.c" calls the
            function "communicate_receiving_file_system" in file "file_system_receiving_communicator.c"

2008-10-13  Christian Heller  <christian.heller@tuxtax.de>

        * Start adapting website "http://www.cybop.org" to using modern CSS layout

2008-10-05  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up compilation errors
        * Clean up linking errors

2008-10-02  Christian Heller  <christian.heller@tuxtax.de>

        * Finish implementing XML parser in file "xml_converter.c"
        * Replace "libxml2" parser with this own solution
        * Add file "xml_cybol_name.c"

2008-09-25  Christian Heller  <christian.heller@tuxtax.de>

        * Continue implementing XML parser in file "xml_converter.c"

2008-09-22  Christian Heller  <christian.heller@tuxtax.de>

        * Continue implementing XML parser in file "xml_converter.c"

2008-09-21  Christian Heller  <christian.heller@tuxtax.de>

        * Continue implementing XML parser in file "xml_converter.c"

2008-09-20  Christian Heller  <christian.heller@tuxtax.de>

        * Continue implementing XML parser in file "xml_converter.c"

2008-09-19  Christian Heller  <christian.heller@tuxtax.de>

        * Continue implementing CYBOL parser in file "cybol_converter.c"
        * Add file "model_allocator.c"; a "model" is a memory structure together
            with its "count" and "size" as meta information about that memory structure
        * Add file "part_allocator.c"; a "part" is a memory structure of arbitrary abstraction;
            a part may be added as entry to a compound, but it is not to be mixed up with the "compound" structure itself;
            a part contains information ("name" and "abstraction") about the "model" it contains,
            and optionally further meta information ("details) which is also called properties
        * Add file "xml_converter.c", so that all kinds of XML files can now be translated into a compound tree,
            which afterwards can be converted in a second step into an arbitrary memory structure;
            this is comparable to the well-known Document Object Model (DOM) approach;
            a Simple API for XML (SAX)-like approach was intended first as it could be faster,
            but then special, largely redundant converters would have to be written for each XML-based format
            (Of course, the possibility of callback-like functions was considered.
            These can be realised in a non-OOP language by just forwarding an "abstraction" and then doing
            if-else comparisons -- just like the Virtual Machine (VM) of any OOP language does internally --,
            to finally call a matching function that would convert a specific XML-based format.
            However, since the number of attributes of an arbitrary XML element is unknown,
            but CYBOI relies on "name", "channel", "abstraction" and "model",
            in order to be able to create a memory structure -- depending on the "abstraction" attribute --,
            a DOM-like approach seems the clearer solution, even if it is a bit slower in performance.
            Anyway, it brings more flexibility and saves redundant code when parsing other XML formats besides CYBOL.)

2008-09-18  Christian Heller  <christian.heller@tuxtax.de>

        * Continue implementing CYBOL parser in file "cybol_converter.c"

2008-09-17  Christian Heller  <christian.heller@tuxtax.de>

        * Continue implementing CYBOL parser in file "cybol_converter.c"

2008-09-16  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt source code to match new constants

2008-09-14  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt source code to match new constants
        * Add files with MIME type constants in directory "constant/abstraction/mime/";
            their values are partly redundant to the CYBOL abstraction constants
            in directory "constant/abstraction/cybol/", but have been introduced
            to allow source code files (e.g. converters) to reference MIME constants
            independently of CYBOL constants
        * Rename files and directory "linux_console" into "gnu_linux_console"
        * Move files "xdt_field_cyboi_name.c" and "xdt_record_cyboi_name.c"
            from directory "constant/name/xdt/" into directory "constant/name/cybol/xdt/"
        * Rename file "keyboard_cybol_name.c" into "keyboard_key_cybol_name.c"

2008-09-12  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt automake files to new directory structure
        * Remove xml declaration (first line) from all cybol application files;
            when no such declaration exists, a Unicode encoding is assumed,
            as defined by a Unicode Byte Order Mark before the document's first character;
            if the mark does not exist, UTF-8 encoding is assumed;
            cybol files are UTF-8 encoded, so the declaration is not needed
        * Start implementing a CYBOL parser in file "cybol_converter.c"

2008-09-11  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt source code to match new constants

2008-09-09  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt source code to match new constants

2008-09-08  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt source code to match new constants

2008-09-07  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt source code to match new constants
        * Move file "builder.c" as "building_memoriser.c" to directory "applicator/memoriser/"
        * Remove directory "controller/handler/operation" and merge
            its files' functionality into those in directory "applicator/";
            adapt file "controller/handler/operation_handler.c"

2008-09-06  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt source code to match new constants
        * Add new files in directory controller/handler/operation/

2008-09-04  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt source code to match new constants

2008-09-03  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt source code to match new constants
        * Rename files in directory variable/

2008-08-25  Christian Heller  <christian.heller@tuxtax.de>

        * Finish adapting files in directory constant/model/
        * Finish adapting files in directory constant/name/

2008-08-19  Christian Heller  <christian.heller@tuxtax.de>

        * Check in LaTeX source files and graphics of CYBOP book to CVS

2008-08-18  Christian Heller  <christian.heller@tuxtax.de>

        * Finish adapting file in directory constant/channel/

2008-08-14  Christian Heller  <christian.heller@tuxtax.de>

        * Finish adapting files in directory constant/abstraction/

2008-08-01  Christian Heller  <christian.heller@tuxtax.de>

        * Continue to restructure directory "constants/" and rename its files

2008-07-25  Christian Heller  <christian.heller@tuxtax.de>

        * Restructure complete directory "globals/constants/" and move/ rename to just "constant/"

2008-07-24  Christian Heller  <christian.heller@tuxtax.de>

        * Rename all files and sub directories of directory "applicator/" from verbs into nouns,
            e.g. "add.c" into "adder.c", "count/" into "counter/" etc.

2008-07-23  Christian Heller  <christian.heller@tuxtax.de>

        * Apply GPL version 3 licence to CYBOI source code

2008-07-18  Christian Heller  <christian.heller@tuxtax.de>

        * Split module "cybol_language_constants.c" into many files residing in new directory "globals/constants/cybol/language/"
        * Remove module "cybol_language_constants.c"
        * Split module "cybol_model_constants.c" into many files residing in new directory "globals/constants/cybol/message/"
        * Remove module "cybol_model_constants.c"

2008-07-13  Christian Heller  <christian.heller@tuxtax.de>

        * Remove module "cybol_constants.c", after having moved its constants into the modules
            "cybol_attribute_constants.c", "cybol_markup_constants.c" and "cybol_separator_constants.c"

2008-07-12  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt constants in modules "cybol_language_constants.c", "memory_structure_constants.c" and
            "memory_abstraction_constants.c", which are used when decoding CYBOL into memory;
            the "language" constants of cybol and runtime memory "abstraction" constants
            need to be distinguished, because they are not always identical, e.g.
            a cybol "path/knowledge" abstraction gets converted into an in-memory "wide_character" abstraction;
            a cybol "text/plain" abstraction gets converted into an in-memory "wide_character" abstraction;
            a cybol "wide_character" abstraction does not exist at all,
            because the cybol "text/plain" abstraction is always expected to be utf-8 encoded
            (other encodings might get implemented later into CYBOI)
        * Remove module "cybol_abstraction_constants.c"

2008-07-11  Christian Heller  <christian.heller@tuxtax.de>

        * Use Internet media types (mime types, content types), which became known as
            Multipurpose Internet Mail Extensions (MIME) as new CYBOL "language" constants
            (formerly called "abstraction" constants), in module "cybol_language_constants.c"
        * Add CYBOL-specific language (media) types, e.g. "number", (knowledge) "path" etc.
        * Adhere to ISO/EN/DIN standards for date and time

2008-07-07  Christian Heller  <christian.heller@tuxtax.de>

        * Restructure and rename files in directory "src/globals/constants/character/" and add more constants

2008-07-05  Christian Heller  <christian.heller@tuxtax.de>

        * Fix module "initialiser.c" temporarily by using "decode_utf_8_unicode_character_vector"
            instead of "decode" for abstraction of initial signal

2008-07-03  Christian Heller  <christian.heller@tuxtax.de>

        * Add temporary attribute constants to module "cybol_constants.c", e.g. NAME_ATTRIBUTE_AS_CHAR in addition to NAME_ATTRIBUTE
            (this is necessary for string comparison in module "compound_converter.c", since the libxml2 parser returns UTF-8 strings)
        * Correct character (string) errors in module "compound_converter.c", which prevented proper decoding of cybol values
        * Adapt modules "converter.c", "inline_communicator.c"

2008-06-19  Christian Heller  <christian.heller@tuxtax.de>

        * Rollback changes from 2008-06-06, because function "optionalise" already returns wide character parametres
        * Hand over "&k" instead of just "k" in function call "optionalise" of function "main"

2008-06-06  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bug in module "initialiser.c" by handing over multibyte character strings
            instead of wide character strings in function call "decode"

2008-05-28  Christian Heller  <christian.heller@tuxtax.de>

        * Replace function calls to "strlen" with "wcslen", where suitable
        * Convert files from "char" to "wchar_t" in directory "applicator/"
        * Finish adapting all source code to 32 Bit wide characters
        * Convert CYBOL files to UTF-8 Unicode character encoding

2008-05-27  Christian Heller  <christian.heller@tuxtax.de>

        * Convert files from "char" to "wchar_t" in directory "memoriser/converter/"

2008-05-25  Christian Heller  <christian.heller@tuxtax.de>

        * Convert files from "char" to "wchar_t" in directory "memoriser/converter/character/"

2008-05-24  Christian Heller  <christian.heller@tuxtax.de>

        * Verify that no conversion is necessary for files in directories "memoriser/array/", "memoriser/allocator/"
        * Convert files from "char" to "wchar_t" in directories "memoriser/", "memoriser/accessor/", "memoriser/communicator/"

2008-05-21  Christian Heller  <christian.heller@tuxtax.de>

        * Convert files from "char" to "wchar_t" in directory "globals/"

2008-05-20  Christian Heller  <christian.heller@tuxtax.de>

        * Remove function calls of "allocate_array" etc. from module "logger.c"
            and use the global log message array "LOG_MESSAGE" instead, in order to assure thread safety
        * Add global variables "LOG_MESSAGE" and "LOG_MESSAGE_COUNT" in module "log_variables.c" and
            allocate/ initialise them in module "globaliser.c"
        * Replace function calls of "fputws" with "log_write_terminated_message", everywhere;
            this has the advantage that changes such as from character to wide character only have to be done in one place

2008-05-16  Christian Heller  <christian.heller@tuxtax.de>

        * Remove initial values for all variables in modules of directory "globals/variables/"
            and only initialise variables in function "globalise" of module "globaliser.c"
            (this avoids compiler errors a la "initializer element is not constant"
            and also avoids runtime errors, because a proper *NULL_POINTER value can be
            assigned as initial value, so that variables can be compared to it later)
        * Revise modules "cyboi.c" and "optionaliser.c" to using wide characters,
            assuming that the char** received by the "main" function is a pointer array
            containing multibyte strings, which have to be converted into wide character strings
        * Change the type of variable "LOG_LEVEL" from "int" to "int*" and
            the type of variable "LOG_OUTPUT" from "int" to "FILE*"
            and adapt all affected source code files

2008-05-15  Christian Heller  <christian.heller@tuxtax.de>

        * Replace "write" function call in module "logger.c" with "log_write_terminated_message"
        * Assemble complete log message in one array before writing it to console
        * Add new functions "log_write_message" and "log_write_terminated_message" to module "logger.c"
        * Add new files "helper.c" and "informant.c", in order to bundle special output messages
        * Add an extra function call to "orient" for all streams, also the log file,
            in "main" function of module "cyboi.c"
        * Remove sub directory "controller/checker/", the functionality of whose files
            is now filled by function "check_interrupts" in module "checker.c"
        * Clean up module "checker.c" by removing old code that was commented out
        * Correct parametre casts in function "check_signal" of module "checker.c"
        * Add encoding test files

2008-05-12  Christian Heller  <christian.heller@tuxtax.de>

        * Rollback function "main" in module "cyboi.c" to using standard ascii characters,
            since the command line arguments array of the "main" function uses the "char" type
        * Rollback function "open" in module "optionaliser.c" to using standard ascii characters
        * Continue converting all source code to wide character
        * Finish module "utf_8_unicode_character_converter.c"

2008-05-08  Christian Heller  <christian.heller@tuxtax.de>

        * Move character conversion modules into new directory memoriser/converter/character/
        * Prepare module "utf_8_unicode_character_converter.c" (not complete yet)

2008-05-06  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt source code to wide character, by replacing
            "static char* " with "static wchar_t* "
            "static char " with "static wchar_t "
            "', '" with "', L'"
            "= {'" with "= {L'"
            "%s" with "%ls"
            "CHARACTER_ARRAY" with "WIDE_CHARACTER_ARRAY"

2008-05-04  Christian Heller  <christian.heller@tuxtax.de>

        * Extend module "test.c" with function "test_wide_character_wprintf" to figure out
            how to properly define and handle wide character arrays

2008-05-03  Christian Heller  <christian.heller@tuxtax.de>

        * Update year 2007 to 2008 in copyright notice of each source code file
        * Adapt all source code to wide character, by replacing
            "LOG_LEVEL, (void*) "" with ""
            "stderr, "" with "stderr, L""
            "fprintf(" with "fwprintf("
            "fputs("" with "fputws(L""
        * Add new module "controller/orienter.c" with function "orient" for setting
            standard stream orientation for "stdout", "stdin" and "stderr" to "wide character"
        * Investigate problem that wide characters are not printed on standard output stream --
            each stream has a fixed orientation, either for wide or for (narrow) characters;
            the orientation is set upon first output of characters or via the function "fwide"
        * Start adapting source code from "character" to "wide character"
            (this seems to be necessary to properly catch keyboard events via gnu/linux console)

2008-05-02  Christian Heller  <christian.heller@tuxtax.de>

        * Find a way to detect a simple escape character (key press input),
            but also escape control sequences, using the glibc function "ungetc"

2008-05-01  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bug in function "read_gnu_linux_console" where
            only one character was read due to uncomplete loop

2008-04-30  Christian Heller  <christian.heller@tuxtax.de>

        * Add new functions "set" and "set_character" automatically adjusting the destination's count and size
        * Complete function "decode_gnu_linux_console_character" using new "set" function
        * Correct function "receive_gnu_linux_console";
            the command is now not determined within the "receive" operations anymore,
            but instead has to be assembled in CYBOL knowledge files with the advantages:
            1 avoid problems with two calls of the function "get_universal_compound_element_by_name"
              (once for the operation's "commands" parametre and another time for determining the actual command)
            2 more flexibility since the knowledge path of a command can be manipulated in CYBOL
            3 no "commands" parametre has to be handed over to the CYBOL "receive" operation anymore
        * Make cybol application "ui_control" work with at least "exit" operation

2008-04-27  Christian Heller  <christian.heller@tuxtax.de>

        * Debug functions "receive_gnu_linux_console" and "decode_gnu_linux_console"

2008-04-25  Christian Heller  <christian.heller@tuxtax.de>

        * Correct pointer values in function "check_interrupts" of module "checker.c"
        * Make cybol application "ui_control" work with at least "exit" operation
            in knowledge file "handle_gnu_linux_console.cybol"

2008-04-23  Christian Heller  <christian.heller@tuxtax.de>

        * Correct parametres and bugs in module "checker.c" and others

2008-04-22  Christian Heller  <christian.heller@tuxtax.de>

        * Set handler abstraction, model, details in function "sense"
        * Assign correct handler (receive function) in function "check_interrupts" of module "checker.c"

2008-04-13  Christian Heller  <christian.heller@tuxtax.de>

        * Get handler variables "gnu_linux_console_handler" etc. in function "check"
        * Hand over handler variables to function "check_signal" and further to "check_interrupts",
            in order to get returned the correct handler corresponding to the detected interrupt channel,
            whereby the handler gets forwarded as signal and handled by the cyboi system
        * Adapt module "sense.c" introducing new function "sense_handler"
        * Adapt modules "receive.c" and "receive_gnu_linux_console.c"
        * Add necessary system-wide constants
        * Adapt CYBOL application "examples/ui_control/"
        * Add new "logic/handler/*" files containing "receive" operations
        * Hand over knowledge model representing CYBOL "receive" operation,
            as property of "sense" operation in file "startup.cybol"

2008-03-29  Christian Heller  <christian.heller@tuxtax.de>

        * Replace old character-based handling using escape character mode and escape control sequence mode
            in function "decode_gnu_linux_console" with simple character array comparisons
            (this has become possible because the input stream is read at once in function "read_gnu_linux_console" now)

2008-03-28  Christian Heller  <christian.heller@tuxtax.de>

        * Continue and adapt function "receive_gnu_linux_console" and others

2008-03-27  Christian Heller  <christian.heller@tuxtax.de>

        * Add sleep time variables (existing for all threads/ interrupts) to internal memory
        * Delete global sleep time variables

2008-03-19  Christian Heller  <christian.heller@tuxtax.de>

        * Debug "checker.c" by correcting a number of double-referenced pointer variables
        * Make "User Interface" cybol application display the TUI again; key presses are not detected yet

2008-03-14  Christian Heller  <christian.heller@tuxtax.de>

        * Make "Hello, World!" cybol application work again

2008-02-15  Christian Heller  <christian.heller@tuxtax.de>

        * Fix or temporarily commented out bugs in source code to make cyboi compilable again

2008-02-14  Christian Heller  <christian.heller@tuxtax.de>

        * Continue functions "receive_gnu_linux_console.c" and "gnu_linux_console_communicator.c"

2008-01-26  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt modules "checker.c", "receive_gnu_linux_console.c",
            "read_gnu_linux_console.c", "decode_gnu_linux_console.c"

2007-12-28  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt and optimise new functions in "applicator/sense"

2007-12-08  Christian Heller  <christian.heller@tuxtax.de>

        * Move suitable functions away from "sense_gnu_linux_console.c" into "gnu_linux_console_communicator.c"
            and add "ungetc" function right after "fgetc", to unread a detected character in the input stream,
            in order to make it available again to "read_gnu_linux_console"
        * Move suitable functions away from "sense_x_window_system.c" into "x_window_system_communicator.c"
            and only leave one function "XEventsQueued" to get notified of a key/ mouse event

2007-12-01  Christian Heller  <christian.heller@tuxtax.de>

        * Move suitable functions away from "sense_socket.c" into special communicator files, e.g. "memoriser/communicator/datagram_socket_communicator.c"
        * Add warning log message to all top-level files containing only conditions, if no comparison matched, in files "accessor.c", "allocator.c", "communicator.c" etc.

2007-11-24  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare merging of files in directory "controller/checker/" and remove directory again
        * Create files in new directory "applicator/sense/", by copying thread-specific content from "applicator/receive/"

2007-11-18  Christian Heller  <christian.heller@tuxtax.de>

        * Add new sub directory "controller/checker/" containing the new files
            "gnu_linux_console_interrupt_checker.c", "x_window_system_interrupt_checker.c",
            "www_service_interrupt_checker.c", "cyboi_service_interrupt_checker.c"

2007-11-17  Christian Heller  <christian.heller@tuxtax.de>

        * Add new interrupt variables for gnu/linux console, x window system, www service and cyboi service
            and store these in internal memory; these irqs are set when some signal arrives via tui, gui, wui
        * Adapt files "manager.c", "initialiser.c", "checker.c"

2007-10-30  Christian Heller  <christian.heller@tuxtax.de>

        * Determine body count at first, before adding it to http header in "http_response_converter.c"
        * Delete a number of outdated functions
        * Add temporary "dirty" changes to make http request and response back to the same client socket run for the first time
            (e.g. misuse the signal id to forward the client socket as parametre attached to the signal)
        * Merge all "applicator/interrupt/interrupt_*.c" files into "applicator/interrupt.c"
        * Adapt "applicator/shutdown/shutdown_*.c" files accordingly
        * Delete directory "applicator/interrupt/" recursively

2007-10-15  Christian Heller  <christian.heller@tuxtax.de>

        * Debug "startup_socket.c" so that buffer size is initialised first, before allocating the buffer;
            this bug caused the following error when deallocating the character buffer in "shutdown_socket.c":
            *** glibc detected *** free(): invalid next size (fast): 0x080d6198 ***
                Aborted

2007-10-14  Christian Heller  <christian.heller@tuxtax.de>

        * Hand over thread identification and thread interrupt as parametres,
            in all shutdown- and interrupt functions

2007-10-03  Christian Heller  <christian.heller@tuxtax.de>

        * Add correct LOG_LEVEL constant to all log messages of all source code files,
            so that the correct prefix (information, warning, error, debug) appears
        * Delete "Information: " etc. which were sometimes written directly into the log message
        * Rename "log_message_debug" function to "log_terminated_message" and require
            the log level as additional parametre
        * Eliminate "malloc" function from "logger.c", since the logger is also called from threads
            and memory allocation would result in an error like:
                *** glibc detected *** malloc(): memory corruption (fast): 0x080e0470 ***
                Aborted

2007-10-02  Christian Heller  <christian.heller@tuxtax.de>

        * Extract loop body of "check" function in module "checker.c" and split it into the four functions
            "check", "check_signal", "check_handle", "check_wait", in order to gain more clearity

2007-09-20  Christian Heller  <christian.heller@tuxtax.de>

        * Add file "cyboi_identification_constants.c" and insert some renamed constants, taken from "log_message_constants.c"

2007-09-19  Christian Heller  <christian.heller@tuxtax.de>

        * Add new files "unicode_character_encoding_constants.c", "utf_8_unicode_character_converter.c", "utf_16_unicode_character_converter.c" and adapt "converter.c" accordingly

2007-09-18  Christian Heller  <christian.heller@tuxtax.de>

        * Replace value "(int*) NULL_POINTER_ARRAY" in initialisation of global variables with "NUMBER_0_INTEGER_ARRAY";
            the old initialisation was actually a void** casted to an int* and therefore not correct, even if it was working

2007-09-17  Christian Heller  <christian.heller@tuxtax.de>

        * Rename "get_new_signal_id" to "get_new_signal_identification"
        * Clean up "get_new_signal_identification" and add "set_new_signal_identification" function in "signal_memory_accessor.c"
        * Correct wrong references to local variables like &p3, that get destroyed when a function is left, in function "set_signal"
        * Forward signal priority and -identification as references in functions "handle", "handle_compound", "handle_operation", "loop", "branch" etc.
        * Eliminate signal identification creation wherever a new signal is generated, and use integer constants instead;
            the reason is that allocations are not allowed in threads (linux console, x window system, tcp sockets with http requests etc.);
            if the threads allocated a "signal identification" value, this would result in an error like:
                *** glibc detected *** malloc(): memory corruption (fast): 0x080e0470 ***
                Aborted
        * Remove special "prefix key" that had been introduced accidentially some days ago;
            the "get_universal_compound_element_by_name" function uses the full name given,
            if it does not contain the prefixes "." or "#"; therefore, a special prefix
            variable does not have to be created at socket startup, nor be handed over to the thread

2007-09-16  Christian Heller  <christian.heller@tuxtax.de>

        * Use an extra http receive model part (defined as cybol name constant) for
            (1) http request "method" and (2) "action" parametre in "http_request_converter.c"

2007-09-15  Christian Heller  <christian.heller@tuxtax.de>

        * Debug "http_request_converter.c"
        * Add new cybol name- and cybol model constants for http request
        * Add a "prefixed key" parametre that is necessary to add a prefix "." or "#" to the parametre name;
            it is created at socket startup and forwarded to the "receive_socket.c" thread

2007-09-14  Christian Heller  <christian.heller@tuxtax.de>

        * Mention parametres (as defined in CYBOL specification) in comment block of all operations in "applicator" directory
        * Debug "http_request_converter.c"

2007-09-10  Christian Heller  <christian.heller@tuxtax.de>

        * Synchronise xdt fields in "xdt_field_constants.c" and "xdt_converter.c"
            (function "decode_xdt_select_field" at "decode_xdt_decode_model" function calls)
        * Set correct abstractions in "xdt_converter.c"
            (function "decode_xdt_select_field" at "decode_xdt_decode_model" function calls)
        * Add new autoconf/ automake files prepared by Didier Link <didier@famille-link.fr>

2007-09-06  Christian Heller  <christian.heller@tuxtax.de>

        * Add xDT/GDT constants to files "xdt_record_constants.c", "xdt_record_name_constants.c",
            "xdt_field_constants.c", "xdt_field_name_constants.c", "xdt_converter.c"

2007-09-05  Christian Heller  <christian.heller@tuxtax.de>

        * Split file "xdt_field_name_constants.c" and create new files "xdt_record_name_constants.c" and "xdt_package_name_constants.c"
        * Add yet missing constants to file "xdt_field_name_constants.c"
        * Add yet missing conditions with new constants in "xdt_converter.c"

2007-08-31  Christian Heller  <christian.heller@tuxtax.de>

        * Add yet missing constants to "xdt_field_constants.c", taken from specification "BDT-Satzbeschreibung"

2007-08-29  Christian Heller  <christian.heller@tuxtax.de>

        * Add "uri_separator_constants.c"
        * Continue "receive_socket.c"
        * Complete first working version of file "http_request_converter.c"
            (decode http request line, headers and body, and add the entries to the given model)

2007-08-24  Christian Heller  <christian.heller@tuxtax.de>

        * Complete "html_character_entity_constants.c"
        * Replace hard-coded characters with their hexadecimal code in "character_constants.c"
        * Continue "http_request_converter.c"

2007-08-23  Christian Heller  <christian.heller@tuxtax.de>

        * Use new http separator constants instead of hard-coded characters in "http_response_converter.c"

2007-08-22  Christian Heller  <christian.heller@tuxtax.de>

        * Add "http_separator_constants.c"
        * Continue "http_response_converter.c" and "http_request_converter.c" and adapt "send_socket.c" to changes

2007-08-21  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt "receive.c" and "receive_socket.c" by handing over new parametres "model", "details", "language"

2007-08-20  Christian Heller  <christian.heller@tuxtax.de>

        * Create files "html_character_entity_reference_constants.c", "xml_character_entity_reference_constants.c", "character_entity_reference_converter.c"
        * Rename files "html_character_constants.c" to "numeric_character_reference_constants.c", "html_character_converter.c" to "numeric_character_reference_converter.c"

2007-08-16  Christian Heller  <christian.heller@tuxtax.de>

        * Delete "memoriser/mapper" directory and move/rename all files into "memoriser/converter"
        * Replace converter's "parse" and "serialise" function names with more neutral "decode" and "encode"
        * Introduce new global variables for setting the "sleep" loop times in "checker.c" and "receive_x_window_system.c"
        * Delete "variables.c" and move its content into new files:
            "primitive_type_size_variables.c", "thread_identification_variables.c",
            "service_interrupt_variables.c", "reallocation_factor_variables.c",
            "log_variables.c", "sleep_time_variables.c"

2007-08-15  Christian Heller  <christian.heller@tuxtax.de>

        * Delete "cyboi_constants.c" and move its content into new files:
            "cyboi_operation_mode_constants.c", "cyboi_signal_priority_constants.c"
        * Delete "system_constants.c" and move its content into new files:
            "system_file_name_constants.c" and "system_executable_constants.c"
        * Replace "INVALID_VALUE" constant in all source code with "NUMBER_MINUS_1_INTEGER",
            since that value is always context-related anyway
        * Make variables of array- and file reallocation factors, that were formerly
            defined as constants in "memory_structure_constants";
            move new variables into "variables.c";
            adapt file "globaliser.c" with variable initialisations accordingly

2007-08-14  Christian Heller  <christian.heller@tuxtax.de>

        * Complete "url_escape_code_mapper.c" and "html_character_mapper.c"

2007-08-13  Christian Heller  <christian.heller@tuxtax.de>

        * Replace all integer numbers like 0, 1 etc. with the corresponding constant *NUMBER_0_INTEGER, *NUMBER_1_INTEGER etc.
        * Remove "get_index_in_array" function and replace with "get_array_elements_index" function, wherever it was used
        * Clean up source code a bit, deleting outdated comments etc.

2007-08-12  Christian Heller  <christian.heller@tuxtax.de>

        * Add "url_escape_code_constants.c", "url_escape_code_mapper.c", "url_escape_code_converter.c"
        * Add "http_request_converter.c", "http_response_converter.c"
        * Add "html_character_constants.c", "html_character_mapper.c"
        * Add "lcid_language_constants.c" (just for the future)

2007-08-04  Christian Heller  <christian.heller@tuxtax.de>

        * Continue to work through and update file "applicator/receive/receive_socket.c"
        * Comment out "#include <GL/freeglut.h>" in file "controller/tester.c",
            as including "glut.h" of the official xorg glut package suffices
            (hint from  Didier Link <didier@famille-link.fr>)

2007-08-03  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt "applicator/send/send_socket.c" to wrap xhtml messages as http body with http protocol, status code and headers
        * Add "globals/constants/character/character_set_constants.c" file
        * Add "globals/constants/file_extension/" directory with one file containing text file extension constants
        * Add "globals/constants/http/http_header_constants.c" file
        * Add "globals/constants/http/http_header_variable_constants.c" file
        * Add "globals/constants/mime_type/" directory with 15 files containing mime type constants

2007-07-31  Christian Heller  <christian.heller@tuxtax.de>

        * Add "meta" property (a CYBOL model containing details) to "receive" operation, which is needed for creating HTML tags from CYBOL
        * Publish Cybernetics Oriented Language (CYBOL) API Specification

2007-07-30  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt all cybol applications to property name changes
        * Fix forgotten casts of parametres handed over to "receive_file_system", in function "receive_message"
        * Fix forgotten model allocation in workaround section of function "parse_compound_cybol_node"
        * Split function "parse_compound_cybol_properties" by extracting loop body
        * Split function "parse_compound_cybol_nodes" by extracting loop body

2007-07-27  Christian Heller  <christian.heller@tuxtax.de>

        * Clean up and correct "receive_file_system" function
        * Put loop body of "parse_compound_cybol_node" into extra function
        * Put loop body of "handle_compound" into extra function "handle_compound_part"

2007-07-23  Christian Heller  <christian.heller@tuxtax.de>

        * Adapt applicator/create.c function
        * Move some constants from globals/constants/cybol/cybol_abstraction_constants.c
            to globals/constants/memory_structure/array_constants.c and globals/constants/memory_structure/memory_abstraction_constants.c
        * Add "memoriser/mapper/abstraction_mapper.c"
        * Change "receive_file_system_model" into "parse" function, in compound_converter.c
        * Delete xml_converter.c, translator.c, cybol_translator.c, xdt_translator.c
        * Merge cybol_translator.c into compound_converter.c
        * Merge xml_converter.c into compound_converter.c
        * Adapt properties of "receive" operation: rename "abstraction" into "language", add "message" and delete superfluous ones;
            mind the change in meaning of the "model" property, which now labels an existing,
            empty model that was created before and is to be filled in the "receive" operation

2007-07-19  Christian Heller  <christian.heller@tuxtax.de>

        * Rename "abstraction" property of "create" operation into "language" and delete superfluous property constants
        * Implement checks in "compound_accessor.c" to avoid segmentation fault when trying to retrieve
            a compound element with empty name and abstraction "knowledge" or "encapsulated"

2007-07-15  Christian Heller  <christian.heller@tuxtax.de>

        * Remove reading of "enable" property in handler.c again;
            the CYBOL "branch" operation may now be used to branch the program flow (conditional execution);
            it is NOT necessary anymore to have an "enable" property for logic models (operations)
            in order to be executed only if that property is set to "true"
        * Adapt cybol applications accordingly

2007-07-12  Christian Heller  <christian.heller@tuxtax.de>

        * Extend applicator/receive/receive_file_system.c so that details may be given as parametre
            (for example, this is necessary when creating an HTML table row of a web user interface,
            because the HTML tag has to be given as property = meta data in this case)

2007-06-29  Christian Heller  <christian.heller@tuxtax.de>

        * Rename controller/manager/initial_signal_manager.c into controller/initialiser.c
            and move source code for initial signal there
        * Read "enable" property for all operations in handler.c;
            CAUTION! ALL logic models (operations) have to have an "enable" property
            now and are only executed, if that property is set to "true";
            this is necessary for using conditional execution, depending on a flag

2007-06-28  Christian Heller  <christian.heller@tuxtax.de>

        * Add new cybol operations for comparing strings: all, prefix, suffix, part
        * Implement enable flag for all signals (operations), in order to handle conditional execution

2007-06-24  Christian Heller  <christian.heller@tuxtax.de>

        * Add new operation 'get'
        * Rename equally named function in accessor.c and all code to 'get_element'
        * Rename 'set' function to 'set_element' in all code, in order to be uniform

2007-06-22  Christian Heller  <christian.heller@tuxtax.de>

        * Replace "Linux" symbol names in all project and source files with "GNU/Linux"; see:
            http://www.gnu.org/gnu/linux-and-gnu.html

2007-06-16  Christian Heller  <christian.heller@tuxtax.de>

        * Add new or extend operations like copy, count, compare etc.
        * Extend send_shell function with line_feed option
        * Update loop function

2007-05-28  Christian Heller  <christian.heller@tuxtax.de>

        * Release cybop 0.8.0, including: CYBOP theory documentation, CYBOL specification and examples, CYBOI interpreter program

2007-05-26  Christian Heller  <christian.heller@tuxtax.de>

        * Restructure cyboi command line argument handling to allow for dynamic log file, log level etc.
        * Move log_message_constants.c to new directory and split away log_level_constants.c and log_level_name_constants.c; adapt all source code files
        * Add opengl startup and shutdown

2007-05-24  Christian Heller  <christian.heller@tuxtax.de>

        * Add opengl/ mesa libraries to makefile

2007-05-16  Christian Heller  <christian.heller@tuxtax.de>

        * Update cybol applications
        * Move away NULL_POINTER from "variables.c" into an own file "pointer_constants.c"
        * Change NULL_POINTER so that it is now a void**, pointing to an array containing just a null void pointer;
            Change NULL_POINTER values in all source code into *NULL_POINTER
            Change &NULL_POINTER values in all source code into NULL_POINTER

2007-05-15  Christian Heller  <christian.heller@tuxtax.de>

        * Fix error in gnu_linux_console_converter serialisation that caused the tui to crash (integer vector elements were read as pointers, not integers)
        * Start searching error that null pointers do not keep their value in pointer arrays; included debug log messages

2007-05-10  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bug with integer parsing and -serialisation

2007-05-09  Christian Heller  <christian.heller@tuxtax.de>

        * Add name, name count, name size to functions "get_compound_element_by_name" and "get_universal_compound_element_by_name"
        * Adjust all source code by adding name parametres to these function calls
        * Fix bug that pointer vector instead of integer vector was used
        * Adjust comma characters to be added only if one element already exists in the destination array

2007-05-08  Christian Heller  <christian.heller@tuxtax.de>

        * Add "fflush" wherever a stream is output to a file, in order to not delay the output to an arbitrary system event

2007-05-01  Christian Heller  <christian.heller@tuxtax.de>

        * Correct bug that details model was not always created when reading a part from a CYBOL file that did not have details;
            but a details compound ALWAYS has to be allocated, because at runtime, properties might be added as details to a part model;
            this was changed in the cybol_translator.c file

2007-04-26  Christian Heller  <christian.heller@tuxtax.de>

        * Complete "model_diagram_converter.c"
        * Add "name" parametres to "get_compound_element_by_index" function and adapt all code
        * Replace some integer values with constants of the kind NUMBER_X_INTEGER

2007-04-24  Christian Heller  <christian.heller@tuxtax.de>

        * Fix bug that no compound was created for "xdt" abstraction in "receive_file_system"
        * Continued model_diagram_converter.c

2007-04-23  Christian Heller  <christian.heller@tuxtax.de>

        * Continue shell output of text
        * Prepare file output of text

        * Add configure.ac and Makefile.am files to root- and source directory

2007-04-16  Christian Heller  <christian.heller@tuxtax.de>

        * Move "tester.c" into controller/ directory
        * Add "optionaliser.c" source file
        * Move command line option evaluating into new optionaliser
        * Recognise command line options: version, help, test

        * Restructure globals/constants/ directory

2007-04-09  Christian Heller  <christian.heller@tuxtax.de>

        * Rename all ASCII character constants to just "CHARACTER"
        * Rename wide character constants to "_WIDE_CHARACTER"

2007-04-07  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare printing of application knowledge tree as structured model diagram into file or onto shell
        * Add shell input, output, error output
        * Continue shell output
        * Prepare file output

2007-04-04  Christian Heller  <christian.heller@tuxtax.de>

        * Implement rudimentary shell output

2007-03-27  Christian Heller  <christian.heller@tuxtax.de>

        * Add "add_compound_element_by_name" and "replace_compound_element_by_name" functions to "compound_accessor.c"
        * Make compound element names in "add_compound_element_by_name" function receive an enumerated index suffix
        * Adapt "xdt_converter.c" accordingly, using the "add_compound_element_by_name" function

2007-03-18  Christian Heller  <christian.heller@tuxtax.de>

        * Complete xdt_converter
        * Fix xdt parsing problem

2007-03-17  Christian Heller  <christian.heller@tuxtax.de>

        * Correct some bugs in xdt parser (for example, temporary pointers local to function
            were returned and of course null as soon as the function was left)

2007-03-16  Christian Heller  <christian.heller@tuxtax.de>

        * Rename "bdt" into "xdt"
        * Complete first (buggy) version of xdt_converter

2007-03-11  Christian Heller  <christian.heller@tuxtax.de>

        * Add "integer_converter.c"
        * Correct integer and integer_vector conversion
        * Add three new test procedures in tester.c
        * Continue bdt_converter (parser)

2007-03-09  Christian Heller  <christian.heller@tuxtax.de>

        * Continue bdt parser
        * Make receive_file_system ... hand over part details to the "parse" operation of the converter
        * Extend the "parse" operation's number of parametres

2007-03-04  Christian Heller  <christian.heller@tuxtax.de>

        * Change minor things for bdt parsing

2007-02-07  Christian Heller  <christian.heller@tuxtax.de>

        * Prepare xdt (bdt) import

2007-02-01  Christian Heller  <christian.heller@tuxtax.de>

        * Correct bug in "character_converter.c", that caused arrays not to be extended
        * Generate formatted xhtml code, with tags and attributes, from CYBOL

2007-01-30  Christian Heller  <christian.heller@tuxtax.de>

        * Correct socket handling in send_socket operation
        * Start xhtml_converter

2007-01-28  Christian Heller  <christian.heller@tuxtax.de>

        * Continue socket functionality

2007-01-26  Christian Heller  <christian.heller@tuxtax.de>

        * Add "communication_partner" socket, address, address_size to internal memory
        * Add some temporary debugging messages for finding a bug at socket shutdown/ interrupt

2007-01-21  Christian Heller  <christian.heller@tuxtax.de>

        * Add information about cybop book to website

2007-01-19  Christian Heller  <christian.heller@tuxtax.de>

        * Publish printed book on Cybernetics Oriented Programming (CYBOP)
        * Upload book as pdf file to website

2007-01-18  Christian Heller  <christian.heller@tuxtax.de>

        * Make "close" command work in http server when sent from a web browser
        * Add http constants

2007-01-14  Christian Heller  <christian.heller@tuxtax.de>

        * Make ipv4 socket send/ receive connections work not only among two processes, e.g. from shell to shell,
            but also from a web browser sending a request to a cyboi service;
            the problem was that port numbers had not been converted from host- into network byte order;
            host addresses were already converted properly

        * Change year in copyright statement of all source code files

2007-01-11  Christian Heller  <christian.heller@tuxtax.de>

        * Continue socket send procedure
        * Test functionality
        * Fix bugs

2007-01-07  Christian Heller  <christian.heller@tuxtax.de>

        * Continue send socket functionality

2006-12-30  Christian Heller  <christian.heller@tuxtax.de>

        * Start implementing send_socket
        * Add errno handling
        * Make socket non-blocking
        * Add sleep call to receive_socket procedure

2006-12-29  Christian Heller  <christian.heller@tuxtax.de>

        * Debug "receive_socket" operation
        * Continue receive socket procedure
        * Implement more clever handling of different socket services

2006-12-28  Christian Heller  <christian.heller@tuxtax.de>

        * Complete startup_socket.c
        * Finish socket address handling
        * Continue implementing unified socket handling
        * Remove unix socket everywhere
        * Rename tcp socket into www service
        * Unify unix- and tcp socket files into just "socket" source files

2006-12-27  Christian Heller  <christian.heller@tuxtax.de>

        * Extend and rename socket handling

2006-09-09  Christian Heller  <christian.heller@tuxtax.de>

        * Release cyboi 0.7.0
        * Add libpthread library to Makefile, for linking
        * Add minor things to Makefile, for GNU/Linux-Windows platform compilations,
            so that conditional preprocessor directives like:
            #ifdef LINUX_OPERATING_SYSTEM can be used in the source code
        * Implement x window system gui event handling
        * Update and add more things for wide character handling
        * Investigate CPU idle mechanisms including: pause, sleep and system signals
            --> the decision fell on a simple sleep loop for reasons explained in the code;
            change signal wait loop to become blocking, that is to react only to interrupts;
            this avoids wasting system resources (CPU activity) as it happened up to now
        * Implement threads using mutexes (atomic flags) for reception of signals via x window system and gnu linux console (terminal)
        * Exit threads using the USR1 operating system signal
        * Prepare access to meta elements of a compound double hierarchy and completely restructure
            memoriser/accessor/compound_accessor.c
            two knowledge tree separators are now possible: the part separator . and the meta separator #
        * Restructure "memoriser/accessor/compound_accessor.c" once more; the three procedures:
            1 set_compound_element_by_name
            2 remove_compound_element_by_name
            3 get_compound_element_by_name
            do now not only get handed over the compound model,
            but also the corresponding compound details (meta information)
            -- that way, meta properties can be determined properly
            (which was done wrong before, as the properties were searched
            in the compound model instead of in the compound details
        * Merge two procedures "get_compound_element_by_encapsulated_name" and "get_real_compound_element_by_name"
            - rename this new, merged procedure to "get_universal_compound_element_by_name"
            - adapt all source code to new procedure
            - change all places where logic parametres were retrieved with "get_compound_element_by_name" to the new "get_universal_compound_element_by_name"
            - this means that from now on, CYBOL knowledge templates can be written much more flexibly, since models can be given as
            1 hard-coded inline value
            2 hierarchical name to a model (= encapsulated model)
            3 hierarchical name pointing to another hierarchical name containing a model (= double-encapsulated model)
        * Add unix shell command processing from within CYBOL
        * Factor out copy procedures for single types into an own applicator/copy/ directory
        * Fix hard-to-find bug that colour values were not always copied correctly for the textual user interface (tui);
            the reson is that, when copying a colour value, the destination array ALWAYS has to be resized,
            no matter whether it is greater or smaller than the source array;
            otherwise, some suffixes may be left at the end of a newly copied colour and make that colour unknown/ unusable
        * Rework textual user interface (tui) handling; introduce windowing technique
        * Correct bug that tui is walking right and down when sending it several times:
            the reason was that the original value coming from cybol was manipulated,
            when calculating the coordinates according to the given layout;
            copies are used instead now, so that the original tui parametres are stable
        * Implement selective repaint; small areas instead of the whole textual user interface (tui) can be repainted now
        * Implement clear as property to the send operation, so that the tui is not cleared every time, only if wanted
        * Add enter (carriage return, line feed) and escape character handling for tui
        * Decrease sleep time from 1 to 0.1 --> much better performance, but processor is more busy now :-|
        * Comment out my own implementation of fork/ execv/ wait, which did not work reliably for running external processes;
            probably, there are some conflicts with the threads/ mutexes/ signal checker loop used in CYBOI;
            for now, the system function is used to run external commands/ programs in an own child process;
            this even has the advantage of better portability between platforms :-)
        * Rename create function to "receive_file_system function;
            prepare receive_file_system procedure for receiving various file formats:
            this is to foresee coming file format conversions when receiving (loading) or sending (saving) files;
            this may be done on the local file system or over a remote connection
        * Eliminate bug that compound logic models were not processed;
            --> the reason was that cybol was given as abstraction in CYBOL
            so that the abstraction at runtime still was cybol instead of compound;
            therefore, rename/ merge all cybol abstractions into compound
        * Eliminate bug at shutdown: when shutting down the x window system service,
            CYBOI tried to remove some entries from the internal memory,
            which moved all other entries one place forward in that memory,
            so that none of the pointers pointed to the correct place anymore
        * Extend signal handler by enabling processing of signals with abstractions encapsulated_knowledge
            and knowledge, in addition to the already existing abstractions compound and operation
        * Check and correct interrupting (exiting) of receive service threads
        * Interrupt (exit) and free resources of all receive service threads automatically at
            system shutdown, which is necessary in case a CYBOL application developer forgot to do that
        * Factor out some manager code into the new procedures startup_internal_memory and startup_system_signal_handler
        * Check for an existing thread first, before creating a new one;
            when a receive procedure is called more than once,
            for example to hand over a new command set to wait for and receive,
            a new thread MUST NOT be created every time
        * Add a number of new model constants (boolean operations, bit manipulation operations etc.)
        * Remove CYBOL_ABSTRACTION everywhere and replace with COMPOUND_ABSTRACTION, which existed in parallel

        * Release cybol 1.1.0
        * Add EBNF and XSD schema files
        * Add new cybol applications

        * Release cybop 1.1.0
        * Add "Linux World" 2005 poster
            Authors: Christian Heller <christian.heller@tuxtax.de>
        * Add "Reflexions on Knowledge Modelling" 2006 paper
            Authors: Christian Heller <christian.heller@tuxtax.de>

2005-08-30  Christian Heller  <christian.heller@tuxtax.de>

        * Release cyboi 0.6.0
        * Update debian package files using multi-binary packages
        * Prepare terminal handling of Textual User Interfaces (TUI); (see Zemljanka and TurboVision)
        * Debug many errors caused by NULL_POINTER checks which tested the variables instead of their dereferenced values
            wrong: if (a != NULL_POINTER)
            right: if (*a != NULL_POINTER)
            this caused knowledge models not to be created/ added to the knowledge root/ whole model
        * Replace NULL_POINTER with &NULL_POINTER, where a local void** variable is initialised
        * Remove all const keywords before static variables and before parametres in headers of procedures, for less code, improved readability and because the const keyword is considered useless now:
            pointers that were handed over do mostly not get manipulated directly anyway, only pointers within the array pointed to
            arrays defined with = {} are constant anyway
        * Delete all character counts and replace them with just one count constant
        * Change and unify all comparisons, so that their if expressions now compare for equality with 0 instead of 1
        * Replace constant count variables with the already existing integer counts, to save redundant code and also some memory, e.g.:
            static const int COMMA_CHARACTER_COUNT_ARRAY[] = {1};
            static const int* COMMA_CHARACTER_COUNT = COMMA_CHARACTER_COUNT_ARRAY;
            replaced with:
            static const int* COMMA_CHARACTER_COUNT = NUMBER_1_INTEGER_ARRAY;
        * Delete superfluous source files for primitives; only vectors are used now everywhere
        * Rename string to character vector
        * Simplify source code by replacing POINTER_NULL_POINTER, INTEGER_NULL_POINTER, FILE_NULL_POINTER etc. in all source files with just NULL_POINTER
        * Replace allocate_integer and others with more general procedure allocate
        * Prepare send_terminal procedure for tui output
        * Rename low-level receive/ send into read/ write, to better distinguish them from the high-level receive/ send CYBOL operations
        * Rename low-level create/ destroy into allocate/ deallocate, to better distinguish them from the high-level create/ destroy CYBOL operations
        * Rename file set.c to copy.c
        * Add knowledge memory and signal memory to internal memory; this HAS TO BE DONE, because when using threads, ONLY ONE parametre (the internal memory) can be handed over to these
        * Hand over internal memory, knowledge memory and signal memory as parametres, instead of reading them every time from internal_memory
        * Rename internals_memory to internal_memory
        * Adapt some include paths and procedure names after restructuring
        * Delete memory managers and put code into general manager.c
        * Write log messages to a file instead of to console
        * Replace all American English (e.g. lize suffixes) with British (Commonwealth) English (e.g. lise) which is now consistently used throughout all source code
        * Move directories communicator, converter and translator from parent directory controller to parent directory memoriser
        * Rename directory computer to applicator
        * Restructure source code directories in relation to von Neumann computer architecture, i.e. consisting of the parts:
            memoriser (Memory, containing states)
            controller (Control Unit, coordinating flow)
            applicator (Algorithmic Logic Unit = ALU, containing logic)
            globals (additional, global constants and variables)
            tester (additional, for testing)

        * Release cybol 1.0.0
        * Change package structure to better comply with debian maintainer guidelines

2005-06-27  Christian Heller  <christian.heller@tuxtax.de>

        * Release cyboi 0.5.0.0
        * Add Makefile and exclude file for compilation
        * Move some paragraphs and change a few formulations in documentation
        * Complete implementation of the loop operation
        * Correct bug in get_new_signal_id of signal_memory_accessor.c
        * Implement Web User Interface (WUI) handling by generating (translating) HTML from CYBOL (comparable to XUL/ UIML)
        * Extend sources for handing over string parametres in URL, using escape code sequences
        * Add url_refresh operation
        * Implement post operation for web communication
        * Add new abstraction knowledge for runtime access to knowledge model
        * Enable dynamically created logic models
        * Generalise handling of services using startup/ shutdown operations
        * Run tcp service in an own thread
        * Synchronise signal memory using Mutex
        * Use send operation for placing runtime signals read from a CYBOL source into the signal memory
        * Restructure source directories, following von Neumann architecture (controller, memory, computer, globals)
        * Remove /web directory (tcp procedures are now in receive_tcp_socket.c; client socket and signal numbers are in internals_memory_accessor.c)
        * Remove input_output_activator.c (now done by startup/ shutdown and receive/ interrupt/ send service calls in CYBOL)
        * Remove input_output_handler.c (activation/ blocking flags etc. are now created/ destroyed in corresponding startup/ shutdown procedure)

        * Release cybop 1.0.0
        * Add "Untersuchung der Realisierungsmoeglichkeiten von CYBOL-Webfrontends,
            unter Verwendung von Konzepten des Cybernetics Oriented Programming (CYBOP)"
            paper and presentation
            Authors: Rolf Holzmueller <rolf.holzmueller@gmx.de>

        * Release cybop 0.1.0.0
        * Create CYBOP meta package
        * Add "Res Medicinae / CYBOP (ResMedLib) Architecture" presentation
            Authors: Christian Heller <christian.heller@tuxtax.de>
        * Add "Cybernetics Oriented Programming (CYBOP) in Res Medicinae" presentation
            Authors: Christian Heller <christian.heller@tuxtax.de>
        * Add "Medizinische Informatik: Open Source erreicht die Medizin" paper
            Authors: Christian Heller <christian.heller@tuxtax.de>
        * Add "Res Medicinae Design Paper (Outdated!!)" paper
            Authors: Christian Heller <christian.heller@tuxtax.de>
        * Add "An Extended Component Lifecycle" paper
            Authors: Christian Heller <christian.heller@tuxtax.de>
        * Add "Moeglichkeiten der Gestaltung flexibler Softwarearchitekturen fuer Praesentationsschichten, dargestellt anhand episodenbasierter medizinischer Dokumentation unter Einbeziehung topologischer Befundung" paper
            Authors: Jens Bohl <info@jens-bohl.de>
        * Add "Untersuchung zur Realisierbarkeit einer technologieneutralen Mapping-Schicht für den Datenaustausch am Beispiel einer Anwendung zum medizinischen Formulardruck als integrativer Bestandteil eines Electronic Health Record (EHR)" paper
            Authors: Torsten Kunze <info@torstenkunze.de>
        * Add "Erstellen eines Backup Moduls unter Verwendung gaengiger Design Patterns aus dem ResMedLib Framework" paper
            Authors: Dirk Behrendt <behrendt.dirk@web.de>
        * Add "Erstellung intuitiver Web Frontends zur Terminplanung und Verwaltung administrativer Daten, basierend auf einem Webserver mit JSP Technologie sowie Anbindung an ein Medizinisches Informationssystem" paper
            Authors: Rolf Holzmueller <rolf.holzmueller@gmx.de>
        * Add "Erstellung und Anbindung intuitiver Frontends an eine Anwendung zur Verwaltung administrativer Personendaten unter Beachtung von Aspekten der Internationalisierung" paper
            Authors: Kumanan Kanagasabapathy <kumanan@uni.de>
        * Add "A flexible Software Architecture for Presentation Layers demonstrated on Medical Documentation with Episodes and Inclusion of Topological Report" paper
            Authors: Christian Heller <christian.heller@tuxtax.de>,
            Jens Bohl <info@jens-bohl.de>,
            Torsten Kunze <info@torstenkunze.de>,
            Ilka Philippow <ilka.philippow@tu-ilmenau.de>
        * Add "Ein Beitrag zur Evaluierung von Komponententechnologien im Umfeld von Software zur medizinischen Bildbearbeitung" paper
            Authors: Jens Kleinschmidt <jens.kleinschmidt@gmx.de>
        * Add "A new Concept for System Communication" paper
            Authors: Christian Heller <christian.heller@tuxtax.de>,
            Torsten Kunze <info@torstenkunze.de>,
            Jens Bohl <info@jens-bohl.de>,
            Ilka Philippow <ilka.philippow@tu-ilmenau.de>
        * Add "Cybernetics Oriented Language (CYBOL)" paper
            Authors: Christian Heller <christian.heller@tuxtax.de>
        * Add "A new Pattern Systematics" paper
            Authors: Christian Heller <christian.heller@tuxtax.de>,
            Detlef Streitferdt <detlef.streitferdt@tu-ilmenau.de>,
            Ilka Philippow <ilka.philippow@tu-ilmenau.de>

2005-05-12  Christian Heller  <christian.heller@tuxtax.de>

        * Update CYBOL specification as DTD, XSD and EBNF

2005-04-25  Christian Heller  <christian.heller@tuxtax.de>

        * Update developer documentation and tutorials

2005-02-28  Christian Heller  <christian.heller@tuxtax.de>

        * Release cyboi 0.4.0.0
        * Add first minimal CYBOI documentation manual (simple text file)
        * Move global variables and constants into special files
        * Use encapsulated primitives so that pointers
            can be handed through the system, instead of
            copies of char, int, double etc.;
            encapsulation is also necessary to preserve a
            primitive's value in memory -- otherwise, their value
            gets lost as soon as a parser procedure is left
        * Complete system lifecycle and waiting loop
        * Simplify configuration file which now consists
            of solely key-value pairs, on just one level,
            NOT hierarchically
        * Store configuration values internally in a simple
            pointer array instead of an extra data structure;
            it is not necessary to store additional type information
            in a second column of the internals memory, because
            internals are ALWAYS simple pointers to some date
            structure that was created outside the internals memory
        * Adapt whole system to new configuration handling
        * Factor out code from cyboi main function into separate
            files and procedures, for better overview
        * Change all get procedures in arrays, so that only references,
            but NOT copies are delivered back; change system accordingly
        * Change complete CYBOI system from unnecessary triple-referenced
            pointers to simple ones
        * Only hand over those variables as double reference which:
            * will carry a result to be delivered back
            * have to be treated as array
        * Remove signal from signal_memory only AFTER
            the signal has been handled
        * Correct A LOT OF bugs causing segmentation faults at runtime
        * Get Hello, World! application running

        * Release cybol 1.0.0.0
        * Add cybol application "helloworld_dynamic_logic"
        * Add "addition" application
        * Prepare empty Debian packages "core" and "healthcare"
        * Add cybol applications "exit", "exit_text_file", "exit_cybol_file", "helloworld"
        * Add Document Type Definition (DTD)
        * Add XML Schema Definition (XSD)

2004-12-06  Christian Heller  <christian.heller@tuxtax.de>

        * Release cyboi 0.3.1.1
        * marked /etc/cyboi/config.cybol as conffile
        * added manpage cyboi.1.gz

2004-11-23  Christian Heller  <christian.heller@tuxtax.de>

        * Release cyboi 0.3.1.0
        * changed handling of Internals
        * prepared TCP/IP Sockets

2004-09-13  Christian Heller  <christian.heller@tuxtax.de>

        * Release cyboi 0.3.0.0
        * Communication over Sockets
        * Reimplement compound model, according to new CYBOL structure
        * Continue XML parser, using libxml2 as temporary solution

2004-06-23  Christian Heller  <christian.heller@tuxtax.de>

        * Release cyboi 0.2.2.0
        * Fix several bugs in model handling
        * Create transient copies of all persistent sources, instead of pointing to persistent sources which get freed after some time which resulted in null pointers
        * Extend number of command line parametres, providing more options for running CYBOI
        * Enable reading of sources from inline and file location

2004-06-11  Christian Heller  <christian.heller@tuxtax.de>

        * Release cyboi 0.2.1.0
        * Correct determination of highest priority index in signal memory
        * Restructure project directories: /constants --> /constant; /model --> /array; /model --> /state; /statics --> /state; /dynamics --> /logic
        * Move operation (being state knowledge) to /state
        * Bundle all constants in just one place
        * Use more constants, instead of hard-coded values
        * Introduce constants for log messages
        * Improve logger; removed all dependencies from other project parts (like array)
        * Hand over size and count as parametres; do not keep them in one array with pointers
        * Prepare processing of compound signals
        * Factor out two procedures handle_create_model_signal and handle_send_signal from handle_operation_signal
        * Adapt create_model procedure to read cybol sources from several locations like inline|file|ftp
        * Add test procedures in an own testing module
        * Prepare processing of compound signals

2004-04-29  Christian Heller  <christian.heller@tuxtax.de>

        * Release cyboi 0.2.0.0
        * Rewrite CYBOI in C programming language
        * Start writing or using an existing XML parser (like libxml)
        * Insert first graphics drawing routines (xlibs)

2004-02-09  Christian Heller  <christian.heller@tuxtax.de>

        * Add first version of CYBOL DTD and XSD

2003-09-18  Christian Heller  <christian.heller@tuxtax.de>

        * Revise project and feature plan for CYBOP and Res Medicinae

2003-09-11  Christian Heller  <christian.heller@tuxtax.de>

        * Release cyboi 0.1.0.0
        * CYBOI is an interpreter that can read CYBOL files and create systems
        * Write CYBOI in Java
        * Catch events from Java AWT event queue
        * Use the Apache Xerces XML parser
        * Create static structures of instances in memory
        * Run dynamic loop catching signals from internal signal memory (queue)
        * Create GUI using Java Swing (as temporary workaround)
        * Create CYBOI by renaming and altering the ResMedLib base library of the Res Medicinae project

2003-07-04  Christian Heller  <christian.heller@tuxtax.de>

        * Revise requirements analysis page and change a number of links

2003-06-23  Christian Heller  <christian.heller@tuxtax.de>

        * Release Res Medicinae 0.0.7.0 with CYBOP as separate Framework

2003-05-19  Claudia Neumann  <dr.claudia.neumann@gmx.de>

        * Update manual on how to use Electronic Health Record (EHR) applications in DOSemu under Linux

2003-04-28  Christian Heller  <christian.heller@tuxtax.de>

        * Release Res Medicinae 0.0.6.0 with CYBOP as separate Framework

2003-03-15  Christian Heller  <christian.heller@tuxtax.de>

        * Release Res Medicinae 0.0.5.0 with CYBOP as separate Framework

2003-03-07  Christian Heller  <christian.heller@tuxtax.de>

        * Move design stuff, tutorials and some implementation issues from Res Medicinae project to this CYBOP project

2003-02-20  Christian Heller  <christian.heller@tuxtax.de>

        * Factor out ResMedLib framework into an own project called Cybernetics Oriented Programming (CYBOP), since it has grown complex and provides a rather general architecture

2003-02-10  Christian Heller  <christian.heller@tuxtax.de>

        * Launch new CYBOP project which is hosted on the German BerliOS free software developer portal

2002-12-09  Christian Heller  <christian.heller@tuxtax.de>

        * Publish user guide on how to use the german medical practice management system AP Wiegand (APW) in DOSemu under Linux

2002-11-08  Christian Heller  <christian.heller@tuxtax.de>

        * Publish presentation for the OSHCA Conference in Los Angeles, showing ideas on domain-driven development using class ontologies and application lifecycle named Cybernetics Oriented Programming (CYBOP)

2002-10-04  Christian Heller  <christian.heller@tuxtax.de>

        * Release Res Medicinae 0.0.4.0 with graphical installation wizzard IzPack

2002-08-23  Christian Heller  <christian.heller@tuxtax.de>

        * Update Res Medicinae UML diagrams

2002-08-21  Christian Heller  <christian.heller@tuxtax.de>

        * Upload screenshots of modules "Record", "ReForm" and "ResData"

2002-06-13  Christian Heller  <christian.heller@tuxtax.de>

        * Release Res Medicinae 0.0.3.0

2002-05-07  Christian Heller  <christian.heller@tuxtax.de>

        * Publish developer tutorial for Res Medicinae and the ResMedLib framework

2002-04-14  Christian Heller  <christian.heller@tuxtax.de>

        * Factor out common functionality into the new ResMedLib framework
        * Update presentation on the Res Medicinae architecture

2002-01-28  Christian Heller  <christian.heller@tuxtax.de>

        * Release Res Medicinae 0.0.2.0

2001-12-25  Christian Heller  <christian.heller@tuxtax.de>

        * Publish presentation describing the system architecture

2001-12-21  Christian Heller  <christian.heller@tuxtax.de>

        * Upload design document

2001-11-25  Christian Heller  <christian.heller@tuxtax.de>

        * Start development of first child application module "Record"

2001-10-22  Christian Heller  <christian.heller@tuxtax.de>

        * Add first screenshots to homepage

2001-09-29  Christian Heller  <christian.heller@tuxtax.de>

        * Change structure of project directories and homepage to avoid redundancies

2001-06-29  Christian Heller  <christian.heller@tuxtax.de>

        * Release first minor prototype 0.0.1.0 giving a first impression of the user interface

2001-06-11  Karsten Hilbert  <karsten.hilbert@gmx.net>

        * Publish first version of analysis paper

2001-04-06  Christian Heller  <christian.heller@tuxtax.de>

        * Create german-speaking mailing list for interested developers and medical doctors to support open source in health care

2001-01-25  Christian Heller  <christian.heller@tuxtax.de>

        * Set up mailing list "resmedicinae-developers"

2000-12-21  Christian Heller  <christian.heller@tuxtax.de>

        * Hold UML modelling presentation on first OSDEM conference in Brussels

2000-09-30  Christian Heller  <christian.heller@tuxtax.de>

        * Announce project in several news groups

2000-05-31  Christian Heller  <christian.heller@tuxtax.de>

        * Investigate on existing projects

2000-03-20  Christian Heller  <christian.heller@tuxtax.de>

        * Register at developer portal https://sourceforge.net/
        * Get acquainted with portal services

2000-03-14  Christian Heller  <christian.heller@tuxtax.de>

        * Set up wish list for components to develop
        * Determine first problems to solve

2000-03-05  Christian Heller  <christian.heller@tuxtax.de>

        * Find name and design homepage for Res Medicinae project

1999-10-01  Christian Heller  <christian.heller@tuxtax.de>

        * Develop first Java application with AWT/Swing Graphical User Interface (GUI)

