CDP4Rules-CE
27.2.0
See the version list below for details.
dotnet add package CDP4Rules-CE --version 27.2.0
NuGet\Install-Package CDP4Rules-CE -Version 27.2.0
<PackageReference Include="CDP4Rules-CE" Version="27.2.0" />
paket add CDP4Rules-CE --version 27.2.0
#r "nuget: CDP4Rules-CE, 27.2.0"
// Install CDP4Rules-CE as a Cake Addin #addin nuget:?package=CDP4Rules-CE&version=27.2.0 // Install CDP4Rules-CE as a Cake Tool #tool nuget:?package=CDP4Rules-CE&version=27.2.0
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.
Build status
GitHub actions are used to build and test the libraries
Branch | Build Status |
---|---|
Master | |
Development |
SonarQube Status:
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 | Versions 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. |
-
.NETFramework 4.8
- CDP4Common-CE (>= 27.2.0)
-
.NETStandard 2.0
- CDP4Common-CE (>= 27.2.0)
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 | 76 | 10/23/2024 |
27.4.0-rc1 | 61 | 10/23/2024 |
27.3.5 | 100 | 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