diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2026-01-22 14:58:15 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2026-01-22 14:58:15 +0100 |
| commit | 6109c58ebd454f51a7eb9b61a85632d176fb6157 (patch) | |
| tree | 398850eaf137571f8b3e318fd595e86c9ff1e4b2 | |
| parent | 09d1b38677420745fe533909abd4a2a8e821437a (diff) | |
feat: Add WG05 Paper 'The Execution Semantics: On Axioms, Domains, and
Authority.'
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
| -rw-r--r-- | CITATION.cff | 14 | ||||
| -rw-r--r-- | source/README.md | 1 | ||||
| -rw-r--r-- | source/wg01/wg01.tex | 6 | ||||
| -rw-r--r-- | source/wg02/wg02.tex | 4 | ||||
| -rw-r--r-- | source/wg03/wg03.tex | 8 | ||||
| -rw-r--r-- | source/wg05/wg05.tex | 94 | ||||
| -rw-r--r-- | tools/mktex.ml | 2 |
7 files changed, 119 insertions, 10 deletions
diff --git a/CITATION.cff b/CITATION.cff index a6b3272..4799514 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,11 +1,11 @@ cff-version: 1.2.0 -title: NeKernel Working Group Papers. -message: NeKernel.org Working Group Papers. -type: software +title: NeKernel.org Working Group Papers. +message: The NeKernel.org Working Group papers. +type: collection authors: - given-names: Amlal family-names: El Mahrouss - email: aelmahrouss@acm.org + email: amlal@nekernel.org identifiers: - type: url value: 'https://nekernel.org' @@ -13,10 +13,10 @@ identifiers: repository-code: 'https://github.com/nekernel-org/draft' url: 'https://nekernel.org' abstract: >- - Working Group Papers of NeKernel.org + Working Group Papers of NeKernel.org, authored by Amlal El Mahrouss. keywords: - - os - - cpp + - cs - systems + - os - pl license: Apache-2.0 diff --git a/source/README.md b/source/README.md index 8454f94..b01ace7 100644 --- a/source/README.md +++ b/source/README.md @@ -10,4 +10,5 @@ - WG02: `Systems Group`. - WG03: `Compiler Design Group`. - WG04-SPACE-RF: `Distributed Systems Group`. +- WG05: `Execution Semantics Group`. diff --git a/source/wg01/wg01.tex b/source/wg01/wg01.tex index 4782f12..1f2fe31 100644 --- a/source/wg01/wg01.tex +++ b/source/wg01/wg01.tex @@ -55,10 +55,14 @@ And some of them, such as EKA2 use the C++ programming language. Although notori This is why most production-grade software (Linux, XNU, and NT) are mostly written in C. With a higher-level subset in C++. However, when correctly applying the following principles to freestanding development, it becomes much easier to ensure correctness of such programs. } +\begin{center} + \rule[1cm]{17cm}{0.01cm} +\end{center} + \section{The Three Principles of Freestanding Development.} \subsection{I: The Run-Time Evaluation Domain.} { -The problem lies in the programming language runtime, which assumes an existing host. The contrary of a hosted environment is freestanding, a computing mode which doesn't expect a hosted runtime. Such programs may use the compile-time evaluation domain to achieve minimal run-time domain usage. +The problem lies in the programming language runtime—which assumes an existing host. The contrary of a hosted environment is freestanding—a computing mode which doesn't expect a hosted runtime. Such programs may use the compile-time evaluation domain to achieve minimal run-time domain usage. } \subsection{II: The Compile-Time Evaluation Domain.} diff --git a/source/wg02/wg02.tex b/source/wg02/wg02.tex index 4e48745..9db8fbb 100644 --- a/source/wg02/wg02.tex +++ b/source/wg02/wg02.tex @@ -51,6 +51,10 @@ \abstract {CoreProcessScheduler governs how the scheduling backend and policy of the system works, It is the common gateway for schedulers inside NeKernel based systems.} +\begin{center} + \rule[1cm]{17cm}{0.01cm} +\end{center} + \section{I: Introduction.} {CoreProcessScheduler (now referred as CPS) serves as the foundation between the scheduler backend and system.} {It takes care of process life-cycle management, team-based process grouping, and affinity-based CPU based allocation to mention the least.} diff --git a/source/wg03/wg03.tex b/source/wg03/wg03.tex index 6f93aa5..13f1550 100644 --- a/source/wg03/wg03.tex +++ b/source/wg03/wg03.tex @@ -9,7 +9,7 @@ \usepackage[margin=0.5in,top=1in,bottom=1in]{geometry} \title{The Nectar Programming Language.} -\author{Amlal El Mahrouss\\amlal@nekernel.org} +\author{Amlal El Mahrouss\\\texttt{amlal@nekernel.org}} \date{January 2026} \definecolor{codegray}{gray}{0.95} @@ -50,6 +50,12 @@ \abstract { + Nectar as presented in its Primer is a systems compiled programming language—designed for low-level systems programming with high-level abstractions. + It is statically typed—compiled, and supports programming paradigms such as generic programming—and procedural programming. } +\begin{center} + \rule[1cm]{17cm}{0.01cm} +\end{center} + \end{document} diff --git a/source/wg05/wg05.tex b/source/wg05/wg05.tex new file mode 100644 index 0000000..aa34cbc --- /dev/null +++ b/source/wg05/wg05.tex @@ -0,0 +1,94 @@ +% AUTHOR: Amlal El Mahrouss +% PURPOSE: WG05: The Execution Semantics: On Axioms, Domains, and Authority. + +\documentclass[11pt,a4paper]{article} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{amsmath,amssymb,amsthm} +\usepackage{hyperref} +\usepackage[margin=1in]{geometry} + +\title{The Execution Semantics: On Axioms, Domains, and Authority.} +\author{Amlal El Mahrouss\\ +\texttt{amlal@nekernel.org}} +\date{January 2026} + +\begin{document} + +\bf \maketitle + +\begin{center} + \rule[1cm]{17cm}{0.01cm} +\end{center} + +\begin{abstract} +This paper presents a foundational framework for execution semantics, consisting of three interconnected theories: the General Harvard Separation Axiom, Execution Domains Theory, and Execution Authority Theory. Together, these establish execution as a primitive concept that cannot be derived from computational models, define boundaries for execution semantics and resource visibility, and formalize the authority governing execution contexts. +\end{abstract} + +\begin{center} + \rule[1cm]{17cm}{0.01cm} +\end{center} + +\section{The General Harvard Separation Axiom} + +Let $G$ be a theory that formally defines execution semantics (domains, contexts, authority). Let $O$ be any theory of computational behavior. + +\subsection{Properties} + +\begin{itemize} + \item If $O$ models computation, then $O$ requires execution to occur. + \item Therefore $O$ implicitly depends on $G$'s primitives (execution must be defined for computation to be theorized). + \item $G$ does not depend on $O$ (execution semantics are primitive, not derived from computational models). +\end{itemize} + +\subsection{Conclusion} + +We cannot derive $G$ from $O$ without circularity: +\begin{itemize} + \item Deriving execution semantics from $O$ would mean ``execution depends on a theory that assumes execution exists.'' + \item This creates an impossible circular dependency. + \item Therefore $G$ must be \textbf{axiomatic}—a foundational primitive that cannot be reduced to other computational theories. +\end{itemize} + +Any attempt to make $G = O$ or $G \subseteq O$ fails because $O$ already assumes $G$'s primitives exist. + +\section{Execution Domains Theory} + +\subsection{Abstract} + +An execution domain defines a boundary for execution semantics, resource visibility, and control flow. + +Let $C$ denote an execution domain in an execution context $E$. Let $D$ be of the same type as $C$ but of a different execution context. + +\subsection{Properties} + +\begin{itemize} + \item $C$ shall not be equal to $D$, as $C$ has a different execution context than $D$. + \item $C$ may be composed of sub-programs within the execution context $E$. +\end{itemize} + +\subsection{On Execution Contexts} + +Execution contexts are treated as abstract semantic parameters, and execution domains as abstract structures indexed by those parameters. + +\section{Execution Authority Theory} + +\subsection{Abstract} + +An execution domain is defined as previously stated in Section~2. An execution authority is responsible for defining whose semantics may be used for an execution context. + +A \emph{trait} is a set of formal rules defining the semantic concepts of an execution context. + +Let $A$ be an execution authority of type $T$, where $T$ is a trait of an execution context. + +\subsection{Properties} + +Let $C$ denote an execution domain in an execution context $E$. Let $Z$ denote an execution domain in an execution context $X$. + +\begin{itemize} + \item If $X$ does not equal or is not semantically substitutable with $E$—or vice versa—then $C$ shall not equal $Z$. + \item If $Z$ or $C$ are defined as a null execution context, then the said context—defined as $N$—is not equal to $\lnot N$. +\end{itemize} + +\end{document} diff --git a/tools/mktex.ml b/tools/mktex.ml index fe1fc62..5ec6f4f 100644 --- a/tools/mktex.ml +++ b/tools/mktex.ml @@ -20,7 +20,7 @@ let format = format_of_string " \\usepackage[margin=0.5in,top=1in,bottom=1in]{geometry} \\title{%s} -\\author{John Doe.\\\\example@nekernel.org} +\\author{John Doe.\\\\john@nekernel.org} \\date{\\today} \\begin{document} |
