ESys.net
Encyclopedia
ESys.net is a hardware system design library for the .net
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

/Mono
Mono (software)
Mono, pronounced , is a free and open source project led by Xamarin to create an Ecma standard compliant .NET-compatible set of tools including, among others, a C# compiler and a Common Language Runtime....

 frameworks
Software framework
In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by user code, thus providing application specific software...

 that is basically a port of the SystemC
SystemC
SystemC is a set of C++ classes and macros which provide an event-driven simulation kernel in C++ . These facilities enable a designer to simulate concurrent processes, each described using plain C++ syntax...

 framework for C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

. Entirely rewritten in C#, the framework allows "most of the concepts found in the SystemC environment [...] and all the operating system primitives planned in SystemC 3.0" to be used.

The target is to overcome several of SystemC's limitations that arise from the usage of C++ by porting the framework to a language that offers features that make subsequent tasks easier to accomplish. These features, such as reflection / introspection
Type introspection
In computing, type introspection is a capability of some object-oriented programming languages to determine the type of an object at runtime. This is a notable capability of the Objective-C language, and is a common feature in any language that allows object classes to be manipulated as first-class...

, the translation to an intermediate representation instead of machine code (the CIL
Common Intermediate Language
Common Intermediate Language is the lowest-level human-readable programming language defined by the Common Language Infrastructure specification and is used by the .NET Framework and Mono...

) that still contains information about user-defined classes, platform independence and extensive thread
Thread (computer science)
In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process...

management functionality, are supposed to allow for faster development and easier debugging of systems .

The framework's source code has been published under the LGPL license.

Further Reading

  • Aboulhamid, Mostapha El and Rousseau, Frederic (2009): "System Level Design with .Net Technology". CRC Press, Boca Raton, FL, USA (ISBN 978-1439812112)

External Links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK