From 222f3d061155f68eedabe22556ae9193f513f052 Mon Sep 17 00:00:00 2001 From: Eduard Kamburjan Date: Sun, 14 Jan 2024 22:02:31 +0100 Subject: [PATCH] update website --- website/source/conf.py | 3 +- website/source/getting-started.rst | 34 ++++++++-------- website/source/images/SMOL_Circular_Small.png | Bin 0 -> 44892 bytes .../source/images/SMOL_Logo_transparent.png | Bin 0 -> 22484 bytes website/source/index.rst | 5 ++- website/source/language/datatypes.rst | 2 + website/source/language/expressions.rst | 38 +++++++----------- website/source/publications.rst | 24 ++++++++--- 8 files changed, 59 insertions(+), 47 deletions(-) create mode 100644 website/source/images/SMOL_Circular_Small.png create mode 100644 website/source/images/SMOL_Logo_transparent.png diff --git a/website/source/conf.py b/website/source/conf.py index ab700e95..d590b2e8 100644 --- a/website/source/conf.py +++ b/website/source/conf.py @@ -19,7 +19,7 @@ project = 'The SMOL Language' html_short_title = "SMOL" -copyright = '2022, Eduard Kamburjan, Rudolf Schlatte' +copyright = '2022-2024, Eduard Kamburjan, Rudolf Schlatte' author = 'Eduard Kamburjan, Rudolf Schlatte' @@ -51,6 +51,7 @@ "source_url": 'https://github.com/smolang/SemanticObjects/' } + # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". diff --git a/website/source/getting-started.rst b/website/source/getting-started.rst index 34bc3d0e..32e7a461 100644 --- a/website/source/getting-started.rst +++ b/website/source/getting-started.rst @@ -102,22 +102,24 @@ SMOL Command-Line Parameters :: - Options: - -e, -l, --execute, --load - -b, --back PATH path to a file containing OWL class - definitions as background knowledge. - -d, --domain TEXT prefix for domain:. (default - https://github.com/Edkamb/SemanticObjects/ontologies/default#) - -i, --input PATH path to a .smol file which is loaded on startup. - -r, --replay PATH path to a file containing a series of shell - commands. - -o, --outdir PATH path to a directory used to create data - files. - -v, --verbose Verbose output. - -m, --materialize Materialize triples and dump to file. - -p, --prefixes VALUE Extra prefixes, given as a list PREFIX=URI - -h, --help Show this message and exit - + Options: + -e, -l, --execute, --load + -j, --jenaReasoner TEXT Set value of the internally used reasoner to + 'off', 'rdfs', or 'owl' (default -> 'owl') + -s, --sparqlEndpoint TEXT url for SPARQL endpoint + -b, --back PATH path to a file containing OWL class definitions + as background knowledge. + -d, --domain TEXT prefix for domain:. + -i, --input PATH path to a .smol file which is loaded on startup. + -r, --replay PATH path to a file containing a series of REPL + commands. + -o, --outdir PATH path to a directory used to create data files. + -v, --verbose Verbose output. + -m, --materialize Materialize triples and dump to file. + -q, --useQueryType Activates the type checker for access + -p, --prefixes VALUE Extra prefixes, given as a list -p PREFIX1=URI1 + -p PREFIX2=URI2 + -h, --help Show this message and exit .. _repl: diff --git a/website/source/images/SMOL_Circular_Small.png b/website/source/images/SMOL_Circular_Small.png new file mode 100644 index 0000000000000000000000000000000000000000..ad666091fc5cc7a809509681b57500b8a6291eb6 GIT binary patch literal 44892 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 z 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 K>$L_d{Qm&o`3?L4 literal 0 HcmV?d00001 diff --git a/website/source/images/SMOL_Logo_transparent.png b/website/source/images/SMOL_Logo_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..916f8bb22faa9d539336a8ef4cb065ab792ae81e GIT binary patch literal 22484 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 l1 = new List(5, null); List l2 = new List(3, l1); +.. NOTE:: + Lists are ``hidden`` by default and not lifted. If you need to lift a list, use ``ExplList``. diff --git a/website/source/language/expressions.rst b/website/source/language/expressions.rst index d17daf96..2378cf24 100644 --- a/website/source/language/expressions.rst +++ b/website/source/language/expressions.rst @@ -9,7 +9,7 @@ the language elements that can occur on the right hand side of an assignment (ev Expressions are divided syntactially into two categories: *Simple Expressions*, which can be nested, and *Top Level Expressions*, which cannot be sub-expressions of other expressions. This slight notational inconvenience -makes it easier to develop static analysis techniques and tools for SMOL. +makes it easier to develop tools for SMOL. :: @@ -54,11 +54,15 @@ Unary and Binary Operator Expressions ------------------------------------- SMOL has a range of unary and binary operators working on pre-defined -datatypes. +datatypes. Additionally, there are conversion operators between strings, integers, and doubles. :: - OperatorExpression ::= UnaryOperatorExpression | BinaryOperatorExpression + OperatorExpression ::= UnaryOperatorExpression | ConversionExpression | BinaryOperatorExpression + + ConversionExpression ::= Conversion '(' Expression ')' + + Conversion ::= 'intToString' | 'doubleToString' | 'intToDouble' | 'doubleToInt' UnaryOperatorExpression ::= UnaryOperator Expression @@ -66,7 +70,7 @@ datatypes. BinaryOperatorExpression ::= Expression BinaryOperator Expression - BinaryOperator ::= '/' | '%' | '*' | '+' | '-' | '==' | '!=' | '>=' | '<=' | '>' | '<' | '&&' | '||' + BinaryOperator ::= '/' | '%' | '*' | '+' | '-' | '==' | '!=' | '>=' | '<=' | '>' | '<' | '&&' | '||' | '++' *Example:* @@ -144,6 +148,10 @@ to high precedence. - division - numeric - numeric + * - ``e1 ++ e2`` + - concatenation + - String + - String Semantics of Comparison Operators ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -212,7 +220,7 @@ The Field Expression -------------------- Field expressions evaluate to the current content of the named field in the -given object. The object can be ``this`` or another object. +given object. The object can be ``this``, another object, or an FMO. Note that fields of the current object cannot be accessed without the ``this.`` prefix. @@ -229,22 +237,6 @@ Note that fields of the current object cannot be accessed without the ``this.`` this.x an_object.a_long_field_name -The FMU Field Expression ------------------------- - -This expression reads the current value of the named out port of the given -:term:`FMU`. - -:: - - FmuFieldExpression ::= SimpleExpression '.' 'port' '(' StringLiteral ')' - -*Example:* - -.. code-block:: java - - my_fmu.port("outport") - The New Expression ------------------ @@ -252,7 +244,7 @@ The New expression creates a new object of the given class. Values for the class's constructor parameters are given as simple expressions inside parentheses. All generic type parameters of a class must be instantiated. -The optional ``models`` clause overrides any ``domain`` modifier or ``models`` +The optional ``models`` clause adds to an eventual ``models`` clause of the new object's class declarations (see :ref:`class_declaration_ref`). @@ -264,7 +256,7 @@ clause of the new object's class declarations (see .. code-block:: java - new Person("Name", 35) models "a :person" + new Person("Name", 35) models "a :person." The New FMU Expression ----------------------- diff --git a/website/source/publications.rst b/website/source/publications.rst index abd5c593..7c33a291 100644 --- a/website/source/publications.rst +++ b/website/source/publications.rst @@ -6,13 +6,13 @@ Core Publications - | Eduard Kamburjan, Vidar Norstein Klungre, Rudolf Schlatte, Einar Broch Johnsen, Martin Giese | *Programming and Debugging with Semantically Lifted States.* - | ESWC 2021: 126-142 + | ESWC 2021 DOI: `10.1007/978-3-030-77385-4_8 `_ - | Eduard Kamburjan, Einar Broch Johnsen. | *Knowledge Structures Over Simulation Units.* - | ANNSIM 2022: 78-89 + | ANNSIM 2022 DOI: `10.23919/ANNSIM55834.2022.9859490 `_ @@ -22,7 +22,7 @@ Extensions - | Eduard Kamburjan, Vidar Norstein Klungre, Martin Giese. | *Never Mind the Semantic Gap: Modular, Lazy and Safe Loading of RDF Data.* - | ESWC 2022: 200-216 + | ESWC 2022 DOI: `10.1007/978-3-031-06981-9_12 `_ @@ -38,12 +38,26 @@ Digital Twins - | Eduard Kamburjan, Crystal Chang Din, Rudolf Schlatte, Silvia Lizeth Tapia Tarifa, Einar Broch Johnsen. | *Twinning-by-Construction: Ensuring Correctness for Self-adaptive Digital Twins.* - | ISoLA (1) 2022: 188-204 + | ISoLA (1) 2022 DOI: `10.1007/978-3-031-19849-6_12 `_ - | Eduard Kamburjan, Vidar Norstein Klungre, Rudolf Schlatte, Silvia Lizeth Tapia Tarifa, David Cameron, Einar Broch Johnsen. | *Digital Twin Reconfiguration Using Asset Models.* - | ISoLA (4) 2022: 71-88 + | ISoLA (4) 2022 DOI: `10.1007/978-3-031-19762-8_6 `_ + + +Published Case Studies +---------------------- + +- | Yuanwei Qu, Eduard Kamburjan, Anita Tarabi, Martin Giese. + | *Semantically triggered qualitative simulation of a geological process.* + | Applied Computing and Geosciences. Vol. 21. 2024 + + DOI: `10.1016/j.acags.2023.100152 `_ + +- | Eduard Kamburjan, Riccardo Sieve, Chinmayi Prabhu Baramashetru, Einar Broch Johnsen, Marco Amato, Gianluca Barmina, Eduard Occhipinti + | *GreenhouseDT: An Exemplar for Digital Twins.* + | SEAMS 2024. To appear