Skip to content
/ one Public

XEPL OE One - Operating Environment for Dynamic, Multi-Threaded, Distributed Agents

License

Notifications You must be signed in to change notification settings

xepl/one

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XEPL Operating Environment C++

XEPL is a software operating environment for applications to use multi-threading on a common world view of data.

Beautiful Multi-Threading

C++ is the best language, bare none. Top performance, extensible, flexible, portable, and zero active runtime. XEPL is 100% Pure C++.

XEPL is C++

Building XEPL

Just as simple as compiling Hello, World!

Be sure that you have a C++ Compiler. XEPL uses C++17.

mkdir xepl

cd xepl

git clone https://github.com/xepl/one.git one

git clone https://github.com/xepl/solo.git solo

cd solo

g++ -std=c++17 *.cpp

./a.out

XEPL is Smart

Real-time C++ has always been challenged by new/delete.

XEPL is so smart, it recycles memory, avoiding the delete.

Memory Recycler

XEPL uses a per-thread backpack to recycle previous allocations to deliver non-blocking dynamic memory.

One world view

Neurons are for processing DNA, and DNA is a Data Structure composed of cross connected Genes of DNA, offering a three dimensional, instant access no schema database.

Neuron processing DNA

Together, DNA powers Neurons to use DNA as source structures with the instructions to build and refine neuron networks that signal and all co-operate on a common world view of data.

DNA as Code

What is XEPL

Never before, has anyone, gone back this far and challenged the rationale, that a distributed system ... need, in any way ... be limited.

Thinking about software

Multi-threading was hard when programming was young, and honestly, we were scared. Scared that any error in any piece of code ... could crash everything.

First Personal Computers

When Multi-Cores arrived, the walled in process dominated. and developers where barely able to scratch the surface of what is available.

Early Multi-Tasking

XEPL Breakthrough

Multi-Core, Multi-Threading isn't hard. Doing it in a general purpose OS is nearly impossible, but doing it in an app specific OE ... Hmmm.

Rethinking Multi-Threading

Today, Software comes in many forms ... most of them ... huge. Since the years of the first multi-core chips ... software has lagged and lost focus, struggling to gain power.

OS Struggling with clones

Operating Systems grew inwards to tackle the latest hardware and cores, and upwards to handle interconnected clouds.

Software is Big Business

Software Frameworks conquered core business functionality, and micro-services encouraged a distributed network. Everything seems peachy.

Consumer Delight

All of that is good stuff ... but, what about the multi-core processor. What about in-process, in memory Parallel & Concurrent access to data structures share with other cores. Who solved that ? Dijkstra, Hoare, Wirth, Hewitt ? ... They were all right !

See what you've been missing

XEPL is laser focused on one thing ... delivering the perfect Operating Environment experience for Software Developers ... by solving the hard problems that software developers need solving, and then getting out of the way.

Cortex processing DNA building Cortex

The XEPL Operating Environment is for Neurons to work together on a common view of the world. To process signals their interested in, and to generate signals others might be interested. DNA is used both as Control and as Data.

Integrated CPU and Neuron processing

As XEPL Neurons process Signals of DNA, they generate fresh Signals that trigger other Neurons to generate more Signals; all working together on a common world view.

Interconnected Neuron Reactions

Alongside all the normal things of an environment, such as Methods, Properties, etc, XEPL provides developers additional state management that is exactly what developers need to distribute, communicate and synchronize effectively.

Neuron internal/external state

XEPL is a perfect balance of simplicity, capability, expressibility, changeability, and functionality.

Perfect State Management

When it comes to building dynamic neuron networks, parsing data, signaling, rendering, and teardown; XEPL does all the heavy lifting you described in XML.

XEPL does all the heavy lifting

With XEPL you describe massive networks that come and go ... in an instant.

Transforming Neuron Networks

The Source Code

C++ is a language of Inheritance. XEPL makes extreme use of Inheritance; as such, the XEPL Core is implemented in under 5,000 lines of C++ source code.

Inherited functionality

Using another 5,000 LOC, the XEPL Engine (XE) offers functional Brain.Kits. XEPL is complete and independent of the brain.Kits.

Application Specific brain.kits

In contrast, todays 'process' environments strive to provide connections between computers, and pretty much ignore inter thread communications.

Massive Data Center

Off-process processing

While there are many libraries that offer off-process stovepipes of functionality, and/or libraries of algorithms to accomplish specific tasks, the tools are segregated from the common world view and need our help to communicate to/fro is via their API.

Stovepipe of Functionality

We, application programmers are relegated to writing glue code to marshal the data in/out of libraries of code. We package our requests, invoke the API, and unpack the responses.

From there, our requests are handled by a software factory.

And they respond, in kind, over the same lines as the API Request.

Careful now ... going off processor exposes you to unauthorized observation and release of information to tricksters.

Penetration Testing

It's endless ... they will never stop.

At every door, in every window

XEPL is better.

XEPL is in-process, in-memory, fully secure, multi-core magic.