Initial Updates for O2DES.NET Version 4.0 #12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces several configuration and codebase changes to improve code style consistency, version control behavior, and compatibility for the project. The most significant updates include the addition of a comprehensive
.editorconfigfile for C# coding conventions, updates to.gitattributesfor improved diff and merge handling, removal of Visual Studio workspace state files, and new internal utility and compatibility classes for array operations and .NET Standard support.Configuration and Coding Standards
.editorconfigfile specifying indentation, spacing, naming conventions, and C#/.NET coding preferences to enforce consistent code style across the project.Version Control Settings
.gitattributesto clarify default behaviors for diffing, merging, and handling binary files, and improved comments for easier maintenance. This includes removing explicit text/eol settings for project files and adding commented-out sections for binary and document diffing. [1] [2] [3]Cleanup of IDE Files
.vs/ProjectSettings.jsonand.vs/VSWorkspaceState.jsonto avoid tracking user-specific Visual Studio workspace state in version control. [1] [2]Internal Utilities
MathNet.Numerics/ArrayExtensions.cs, providing extension methods for efficient array copying for several numeric types..NET Standard Compatibility
MathNet.Numerics/Compatibility.cs, which defines internal classes and methods to mimic missing .NET features (such as parallelism and attributes) when targetingNETSTANDARD1_3.O²DES.NET
O²DES.NET is a framework for Object-Oriented Discrete Event Simulation.
It hybrids both event-based and state-based formalism, and implement them in an object-oriented programming language. As it is event-based in the kernel, O²DES.NET is able to model the structure and behaviors of a system precisely. On top of it, the state-based formalism enables modularization and hierarchical modeling. Besides, the object-oriented paradigm abstracts the model definitions and makes them seamless to interact with analytical functionalities, regardless of their fidelity levels.
It is developed and used .NET with C# programming language. O2DES.NET library facilitates flexible integration with the latest academic research in simulation analytics and enables the connection to a variety of industrial-standard modern developments within the .NET ecosystem, including .NET Aspire to host as distributed applications, web API applications, mobile applications, enterprise software, Mix-Reality, and for Artificial Intelligence.
Supported .NET Version
Setup Options for .NET 9 (Windows/Linux/MacOS)
Change Log
Version 4.0 (Breaking Changes)
New Features
TimeSpaninstead ofDateTime. TheClockTimeis also now usingTimeSpan.SandboxandHourCounterto improve usability.LogFileand other debugging methods are removed.Serilogadded.GetStatisticsmethod toHourCounterto retrieve statistics such as mean, standard deviation, min, max, and percentiles.MathNET.Numericslibrary is now included in the solution.Version 3.6
Improvement of HourCounter to synchronize with simulator ClockTime #1
Version 3.5.1
+ Include Beta, LogNormal, Normal, Triangular distributions...
Version 2.4.1
+ Include Uniform and Exponential for the random generators.Version 2.4
Version 2.3.2
Version 2.3.1
Version 2.3.0
Version 2.2.1
Verssion 2.2.0
Version 2.1.2
Version 2.1.1
+ Simplifies structure of Component definition, by encapsulate StaticProperty based on root class, i.e., Component<TStatics> : Component.Version 2.1.0