CDP4Common-CE 24.2.0

.NET Standard 2.0 .NET Framework 4.6.2
dotnet add package CDP4Common-CE --version 24.2.0
NuGet\Install-Package CDP4Common-CE -Version 24.2.0
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="CDP4Common-CE" Version="24.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CDP4Common-CE --version 24.2.0
#r "nuget: CDP4Common-CE, 24.2.0"
#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 CDP4Common-CE as a Cake Addin
#addin nuget:?package=CDP4Common-CE&version=24.2.0

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

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
  • CDP4Rules
  • CDP4RequirementsVerification
  • CDP4JsonSerializer
  • CDP4MessagePackSerializer
  • CDP4Reporting
  • CDP4Dal
  • CDP4JsonFileDal
  • CDP4ServicesDal
  • CDP4WspDal

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
CDP4JsonFileDal NuGet Badge
CDP4ServicesDal NuGet Badge
CDP4WspDal 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.

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.

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@rheagroup.com. 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-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 is compatible. 
.NET Framework net461 was computed.  net462 is compatible.  net463 was computed.  net47 is compatible.  net471 is compatible.  net472 is compatible.  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)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (9)

Showing the top 5 NuGet packages that depend on CDP4Common-CE:

Package Downloads
CDP4Dal-CE

CDP4 Data Access Layer library, a consumer of an ECSS-E-TM-10-25 Annex C API

CDP4JsonSerializer-CE

CDP4 JSON Serialization Library

CDP4ServicesDal-CE

CDP4ServicesDal Dal Plugin

CDP4JsonFileDal-CE

CDP4 Json File Dal Plugin

CDP4WspDal-CE

CDP4 WSP Dal Plugin

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
24.2.0 508 11/14/2023
24.1.1 618 10/18/2023
24.1.0 2,331 9/1/2023
24.0.0 730 8/13/2023
23.0.0 836 6/26/2023
10.0.0-rc01 587 3/16/2023
9.0.0 5,124 11/22/2022
8.3.0 4,613 9/5/2022
8.2.0 1,954 2/1/2022
8.1.0 3,698 12/3/2021
8.0.0 2,098 10/1/2021
7.5.1 2,239 9/20/2021
7.5.1-rc1 1,113 8/6/2021
7.5.0 2,163 7/8/2021
7.4.0 2,549 5/18/2021
7.3.0 3,509 2/3/2021
7.2.0 2,470 1/28/2021
6.3.0 3,960 11/5/2020
6.2.0 2,677 9/28/2020
6.1.1 1,338 6/22/2020
6.1.0 2,771 6/10/2020
6.0.0-rc02 1,457 3/21/2020
6.0.0-rc01 1,424 3/19/2020
5.1.0 1,077 1/28/2020
5.0.1 2,681 12/20/2019
4.0.0 2,437 12/5/2019
4.0.0-rc2 1,348 11/18/2019
3.5.0 2,386 10/24/2019
3.4.0 1,246 10/15/2019
3.3.0 2,672 9/1/2019
3.2.0 1,100 4/27/2019
3.1.0 2,132 4/26/2019
3.0.0 2,377 3/17/2019
2.1.0 2,487 1/25/2019
2.0.0 2,762 1/21/2019
1.9.0 2,077 1/14/2019
1.8.1 1,787 12/22/2018
1.8.0 2,874 11/2/2018
1.7.4 2,045 10/26/2018
1.7.3 2,143 9/18/2018
1.6.0 2,130 9/16/2018
1.5.1 2,832 8/17/2018
1.5.0 2,159 8/13/2018
1.4.0 2,214 8/4/2018
1.3.0 2,391 6/19/2018
1.2.0 3,334 5/6/2018
1.1.1 1,268 4/8/2018
1.1.0 2,997 4/8/2018
1.1.0-rc1 1,711 4/8/2018
1.0.7-rc1 1,763 3/30/2018
1.0.6 2,788 2/18/2018
1.0.4 2,644 2/5/2018
1.0.3 2,655 1/23/2018
1.0.2 2,717 1/12/2018
1.0.1-rc02 1,653 1/7/2018
1.0.0-rc9 1,281 12/28/2017
1.0.0-rc8 1,576 12/12/2017
1.0.0-rc7 1,438 11/23/2017
1.0.0-rc6 1,353 11/18/2017
1.0.0-rc5 1,314 11/18/2017
1.0.0-rc4 1,353 11/5/2017
1.0.0-rc3 1,281 11/4/2017
1.0.0-rc2 1,244 10/25/2017
1.0.0-rc10 1,944 1/5/2018

[Add] Actor Property added