CDP4Rules-CE 27.2.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package CDP4Rules-CE --version 27.2.1                
NuGet\Install-Package CDP4Rules-CE -Version 27.2.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CDP4Rules-CE" Version="27.2.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CDP4Rules-CE --version 27.2.1                
#r "nuget: CDP4Rules-CE, 27.2.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install CDP4Rules-CE as a Cake Addin
#addin nuget:?package=CDP4Rules-CE&version=27.2.1

// Install CDP4Rules-CE as a Cake Tool
#tool nuget:?package=CDP4Rules-CE&version=27.2.1                

CDP4-COMET

CDP4-COMET is the new name for what was previously called the CDP4. We are transitioning the applications and software libraries. The code and documentation will still refer to CDP4 in a number of places while we are updating.

The CDP4-COMET Software Development Kit is an C# SDK that that is compliant with ECSS-E-TM-10-25A Annex A and Annex C. The SDK contains multiple libraries that are each packaged as a nuget and avaialble from nuget.org. The SDK is used in the CDP4-COMET to create an ECSS-E-TM-10-25A compliant implementation, both for the Web Services and the Desktop Application. The following libraries are made avaiable in the Community Edition under the GNU LGPL:

  • CDP4Common
  • CDP4DalCommon
  • CDP4Rules
  • CDP4RequirementsVerification
  • CDP4JsonSerializer
  • CDP4MessagePackSerializer
  • CDP4Reporting
  • CDP4Dal
  • CDP4DalCommon
  • CDP4JsonFileDal
  • CDP4ServicesDal
  • CDP4WspDal
  • CDP4Web
  • CDP4ServicesMessaging

Nuget

The SDK contains multiple libraries that are each packaged as a nuget and avaialble from nuget.org.

Package Link
CDP4Common NuGet Badge
CDP4Rules NuGet Badge
CDP4RequirementsVerification NuGet Badge
CDP4JsonSerializer NuGet Badge
CDP4MessagePackSerializer NuGet Badge
CDP4Reporting NuGet Badge
CDP4Dal NuGet Badge
CDP4DalCommon NuGet Badge
CDP4JsonFileDal NuGet Badge
CDP4ServicesDal NuGet Badge
CDP4WspDal NuGet Badge
CDP4Web NuGet Badge
CDP4ServicesMessaging NuGet Badge

Build status

GitHub actions are used to build and test the libraries

Branch Build Status
Master Build Status
Development Build Status

SonarQube Status:

Quality Gate Status Maintainability Rating Reliability Rating Security Rating

Coverage Duplicated Lines (%)

Bugs Lines of Code Technical Debt Vulnerabilities

CDP4Common

The CDP4Common library is a C# implementation of the CDP4-COMET UML master model. The CDP4-COMET UML master model is based on the ECSS-E-TM-10-25A Annex A UML master model and extends it with CDP4-COMET concepts to improve the use of ECSS-E-TM-10-25A Annex A for Concurrent Design of complex systems. The library contains both POCO and DTO implementations of the classes defined in the CDP4-COMET UML master model. The POCO classes are used when a full object graph is required. The DTO's are used when a full object graph is not required, references to other class are represented by unique identifiers in the form of a GUID.

The CDP4Common library also includes a set of so-called MetaInfo classes. These classes are used to provide information about the classes in the UML master model such as the properties, relationships to other classes etc. These classes provide similar functionality as the C# reflection system, but with higher performance.

CDP4Rules

The CDP4Rules library provides a mechanism for checking CDP4-COMET instances versus defined rules. This rule checking mechanism is introduced to verify the correctness of POCO's that cannot be verified based on the CDP4-COMET Master (UML) model (such as multiplicity, type information, etc.). Each rule has a code, description and default severity.

CDP4RequirementsVerification

The CDP4RequirementsVerification library is used to perform requirements verification. E-TM-10-25 contains concepts to make record of requirements and to verify whether a design meets those requirements.

CDP4JsonSerializer

The CDP4JsonSerializer library is an optimized CDP4Common specific JSON (de)serialization library that is used to serialize and deserialize the classes implemented in the CDP4Common class library. The (de)serialization makes use of the popular Json.NET framework to serialize and deserialize the CDP4Common DTO classes.

CDP4MessagePackSerializer

The CDP4MessagePackSerializer library is an optimized CDP4Common specific MessagePack (de)serialization library that is used to serialize and deserialize the classes implemented in the CDP4Common class library.

CDP4Dal

The CDP4Dal library is a library that provides the basis to implement ECSS-E-TM-10-25A Annex C. Annex C specifies both the JSON REST API and the exchange file format. The CDP4Dal library contains the Assembler that is used to create a fully dereferenced object graph, a message bus to send events for consumptions in applications that implement the MVVM design pattern as well as the Session class that manages a connection to a datasource.

CDP4DalCommon

The CDP4DalCommon library provides common classes to support the ECSS-E-TM-10-25 and CDP4-COMET protocol.

CDP4JsonFileDal

The CDP4JsonFileDal library is a C# library that provides an implementation of ECSS-E-TM-10-25A Annex C.3, the JSON Exchange File Format. This file format is a ZIP archive in which a number of files are stored that each contain one or more ECSS-E-TM-10-25 objects that are serialized in the form of a JSON array of JSON objects. The CDP4JsonFileDal library can be used to read from such a ZIP archive, and to create such a ZIP archive. The ZIP archive is typically used to exchange complete models between organizations.

CDP4ServicesDal

The CDP4ServicesDal library is a C# library that provides an implementation of ECSS-E-TM-10-25A Annex C.2, the JSON REST API, which includes concepts that are specific to CDP4-COMET. These CDP4-COMET specific items are pure extensions of ECSS-E-TM-10-25A. The CDP4ServicesDal library can only be used to communicate with a CDP4-COMET Services instance, dedicated HTTP headers are used to verify that the REST API is indeed a COMET Services instance.

CDP4WspDal

The CDP4WspDal library is a C# library that provides an implementation of ECSS-E-TM-10-25A Annex C.2, the JSON REST API. The CDP4WspDal can be used to communicate with any ECSS-E-TM-10-25A Annex C.2 implementation, including the COMET Services.

CDP4Web

The CDP4Web library is a C# library that provides helpful classes that facilitate the use of the CDP4ServicesDal to any client.

CDP4ServicesMessaging

The CDP4ServicesMessaging library is a C# library that provides abstractions over Rabbit MQ to support AMQP messaging

License

The libraries contained in the COMET-SDK Community Edition are provided to the community under the GNU Lesser General Public License. Because we make the software available with the LGPL, it can be used in both open source and proprietary software without being required to release the source code of your own components.

Contributions

Contributions to the code-base are welcome. However, before we can accept your contributions we ask any contributor to sign the Contributor License Agreement (CLA) and send this digitaly signed to s.gerene@stariongroup.eu. You can find the CLA's in the CLA folder.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
27.4.0 73 10/23/2024
27.4.0-rc1 58 10/23/2024
27.3.5 97 10/19/2024
27.3.4 90 10/3/2024
27.2.3 120 8/15/2024
27.2.2 107 8/14/2024
27.2.1 91 7/16/2024
27.2.0 74 7/12/2024
27.1.0 75 7/2/2024
27.0.2 94 5/30/2024
27.0.1 89 5/28/2024
27.0.0 78 5/13/2024
26.6.2 150 4/17/2024
26.6.1 102 4/9/2024
26.6.0 114 3/14/2024
26.5.1 115 3/6/2024
26.5.0 120 3/5/2024
26.4.0 117 3/5/2024
26.3.0 103 2/16/2024
26.2.0 130 2/6/2024
26.1.0 98 2/1/2024
26.0.1 103 1/29/2024
26.0.0 99 1/29/2024
25.1.0 97 1/24/2024
25.0.0 96 1/23/2024
24.6.0 127 1/8/2024
24.5.0 149 12/18/2023
24.4.0 133 12/8/2023
24.3.0 122 12/7/2023
24.2.0 163 11/14/2023
24.1.1 132 10/18/2023
24.1.0 181 9/1/2023
24.0.0 175 8/13/2023
23.0.0 153 6/26/2023
22.2.0 151 6/26/2023
10.0.0-rc01 144 3/16/2023
9.0.0 360 11/22/2022
8.3.0 447 9/5/2022
8.1.0 378 12/3/2021
8.0.0 338 10/1/2021
7.5.1 367 9/20/2021
7.5.1-rc1 284 8/6/2021
7.5.0 364 7/8/2021
7.4.0 543 5/18/2021
7.3.0 454 2/3/2021
7.2.0 399 1/28/2021
6.3.0 550 11/5/2020
6.2.0 441 9/28/2020
6.1.0 518 6/10/2020
6.0.0-rc02 457 3/21/2020
6.0.0-rc01 390 3/19/2020
1.2.1 587 12/20/2019
1.2.0 529 12/5/2019
1.2.0-rc2 385 11/18/2019
1.1.1 544 10/24/2019
1.0.0 574 9/1/2019

[BUMP] To CDP4Common 27.2.0