-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
22 changed files
with
53 additions
and
62 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,4 @@ | ||
# @cm2ml/bag-of-paths-encoder | ||
|
||
This package provides a Bag-of-Paths encoder with configurable textual representations of paths. | ||
Based on the work of [Ali and Bork](https://link.springer.com/chapter/10.1007/978-3-031-61057-8_7). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
# @cm2ml/feature-encoder | ||
|
||
This package provides both a standalone and a composable feature encoder. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,4 @@ | ||
# @cm2ml/graph-encoder | ||
|
||
This plugin provides a raw graph encoder that supports feature encoding and both adjacency lists and matrices. | ||
Based on the work of [López et al.](https://dl.acm.org/doi/10.1145/3550355.3552461) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,4 @@ | ||
# @cm2ml/pattern-miner | ||
|
||
This package provides a pattern miner for the CM2ML framework. | ||
Based on the work of [Fumagalli et al.](https://link.springer.com/chapter/10.1007/978-3-031-17995-2_4) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,4 @@ | ||
# @cm2ml/tree-encoder | ||
|
||
This plugins provides a tree-bases encoder that supports feature encoding, and different tree formats. | ||
Based on the work of [Burgueño et al.](https://link.springer.com/article/10.1007/s10270-021-00893-y) and [Weyssow et al.](https://arxiv.org/abs/2104.01642) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
# @cm2ml/builtin | ||
|
||
This package provides all built-in parsers and encoders of the CM2ML framework. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
# @cm2ml/cli-adapter | ||
|
||
This package provides a CLI adapter for the CM2ML framework. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,4 @@ | ||
# @cm2ml/cli | ||
|
||
This package provides a command `cm2ml` that can be used to run the CM2ML framework from the command line. | ||
This CLI has all built-in parsers and encoders applied. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
# @cm2ml/cm2ml | ||
|
||
This package provides all built-in parsers and encoders of the CM2ML framework, as well as a CLI and REST server. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
# @cm2ml/deduplicate | ||
|
||
This package provides a plugin for deduplicating data. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,4 @@ | ||
# @cm2ml/ir-post-processor | ||
|
||
This package provides a post-processor plugin for the intermediate representation (IR) of the CM2ML framework. | ||
It may be used to enrich and validate the IR after it has been generated by the parser. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
# @cm2ml/ir | ||
|
||
This package provides the intermediate representation (IR) of the CM2ML framework. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
# @cm2ml/metamodel-refiner | ||
|
||
This package provides utilities for refining an IR instance according to a metamodel. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
# @cm2ml/metamodel | ||
|
||
This package provides utilities for enriching an IR instance with metamodel information. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,4 @@ | ||
# @cm2ml/plugin-adapter | ||
|
||
This package provides an abstract plugin adapter for the CM2ML framework. | ||
It may be used to implement plugin adapters for specific environments, such as CLIs and HTTP servers. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,5 @@ | ||
# @cm2ml/plugin | ||
|
||
## Data propagation | ||
|
||
Plugins propagate data via two mechanisms as described below. | ||
|
||
### Push-forward mechanism - Input - Output | ||
|
||
The first and more important mechanism is the `input` parameter and the return value of the `invoke` method. | ||
These form a "push-forward" mechanism, where the plugin receives data from the previous plugin and returns data to the next plugin. | ||
|
||
### Pull-forward mechanism - Batch Metadata | ||
|
||
In contrast to this approach, there is batch metadata. | ||
Batch metadata is created by a plugin via the optional `batchMetadataCollector` method. | ||
This methods receives the entire batch of input data (if the execution is non-batched, the batch will contain only one element, i.e, the plugins own input) as well as (possibly `undefined`) batch metadata of the previous plugin and returns the new batch metadata that is received by the same plugin's `invoke` method. | ||
|
||
This is also referred to as a "pull-forward" mechanism, as the `batchMetadataCollector` is able to pull batch metadata from the previous plugin if required. | ||
|
||
The use case for the batch metadata are plugins that need information about the entire batch. | ||
Examples include feature vector creation, where the plugin needs to know the number of features in the entire batch to create a consistent feature vector. | ||
|
||
> Note: The `batchMetadataCollector` is only executed once per batch, right before the `invoke` method is called for every item of the batch. | ||
> As such, it is suitable for calculating batch-wide metadata, but not for per-item calculations. | ||
Plugins are building blocks will typed input and output, as well as declarative parameters. | ||
A schema for validating parameter input is generated for each plugin. | ||
Plugins may be composed or modified through a number of operators. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
# @cm2ml/rest-adapter | ||
|
||
This package provides a REST adapter for the CM2ML framework. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,4 @@ | ||
# @cm2ml/rest | ||
|
||
This package provides a command `cm2ml-server` that can be used to start a REST server that runs the CM2ML framework. | ||
This server has all built-in parsers and encoders applied. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,5 @@ | ||
# @cm2ml/xml-parser | ||
|
||
This package provides an XML parser that parses XML files into a preliminary IR model. | ||
The parser does handle attributes, but will not instantiate any edges. | ||
It must be configured with a metamodel configuration. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,41 +1,3 @@ | ||
# @cm2ml/uml | ||
|
||
## Limitations | ||
|
||
Since the complexity of the UML metamodel is high, only the following metamodel elements (and their generalizations) of the `Classes` diagram type will be implemented in their entirety: | ||
|
||
- [x] BehavioredClassifier | ||
- [x] Class | ||
- [x] Classifier | ||
- [x] EncapsulatedClassifier | ||
- [x] Extension | ||
- [x] Property | ||
- [x] Operation | ||
- [x] Reception | ||
|
||
### Transitive | ||
|
||
- [x] Association | ||
- [x] BehavioralFeature | ||
- [x] ConnectableElement | ||
- [ ] DeploymentTarget | ||
- addEdge_deployedElement | ||
- [x] Element | ||
- [x] Feature | ||
- [x] MultiplicityElement | ||
- [x] NamedElement | ||
- [x] Namespace | ||
- [x] PackageableElement | ||
- [x] ParameterableElement | ||
- [ ] RedefinableElement | ||
- addEdge_redefinedElement | ||
- addEdge_redefinitionContext | ||
- [x] Relationship | ||
- [x] StructuralFeature | ||
- [ ] StructuredClassifier | ||
- addEdge_role | ||
- [x] TemplateableElement | ||
- [x] Type | ||
- [x] TypedElement | ||
|
||
For a detailed description of the diagram type reference section 11.4 of the UML spec v2.5.1. | ||
This package provides a UML parser that supports classes of all UML diagram types, except those found in Annex B of the UML spec v2.5.1. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
# @cm2ml/visualizer | ||
|
||
This package contains the visualizer of the CM2ML framework. |