summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2026-01-22 14:58:15 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2026-01-22 14:58:15 +0100
commit6109c58ebd454f51a7eb9b61a85632d176fb6157 (patch)
tree398850eaf137571f8b3e318fd595e86c9ff1e4b2
parent09d1b38677420745fe533909abd4a2a8e821437a (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.cff14
-rw-r--r--source/README.md1
-rw-r--r--source/wg01/wg01.tex6
-rw-r--r--source/wg02/wg02.tex4
-rw-r--r--source/wg03/wg03.tex8
-rw-r--r--source/wg05/wg05.tex94
-rw-r--r--tools/mktex.ml2
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}