Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ To get up-and-running and to learn more about PPS, please read its documentation

> [!NOTE]
> Contributions are always welcome!
> Before starting PPS development, please read the [PPS Developer Guide](plugins/nl.esi.pps.doc.developer/adoc/index.adoc).
> Before starting PPS development, please read the [PPS Developer Guide](https://tno.github.io/PPS/develpperguide/).

Follow these instructions to set up a PPS development environment.

Expand Down
17 changes: 17 additions & 0 deletions features/nl.esi.pps.tmsc.reconstruct.feature/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>nl.esi.pps.tmsc.reconstruct.feature</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.pde.FeatureBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.FeatureNature</nature>
</natures>
</projectDescription>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8
11 changes: 11 additions & 0 deletions features/nl.esi.pps.tmsc.reconstruct.feature/build.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#
# Copyright (c) 2018-2025 TNO and Contributors to the GitHub community
#
# This program and the accompanying materials are made available
# under the terms of the MIT License which is available at
# https://opensource.org/licenses/MIT
#
# SPDX-License-Identifier: MIT
#

bin.includes = feature.xml
39 changes: 39 additions & 0 deletions features/nl.esi.pps.tmsc.reconstruct.feature/feature.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--

Copyright (c) 2018-2025 TNO and Contributors to the GitHub community

This program and the accompanying materials are made available
under the terms of the MIT License which is available at
https://opensource.org/licenses/MIT

SPDX-License-Identifier: MIT

-->
<feature
id="nl.esi.pps.tmsc.reconstruct.feature"
label="Custom TMSC Reconstructor Example Feature"
version="0.30.0.qualifier"
provider-name="ESI (TNO)">

<description url="http://www.example.com/description">
[Enter Feature Description here.]
</description>

<copyright url="http://www.example.com/copyright">
[Enter Copyright Description here.]
</copyright>

<license url="http://www.example.com/license">
[Enter License Description here.]
</license>

<plugin
id="nl.esi.pps.tmsc.reconstruct"
version="0.0.0"/>

<plugin
id="nl.esi.pps.tmsc.reconstruct.ui"
version="0.0.0"/>

</feature>
14 changes: 10 additions & 4 deletions plugins/nl.esi.pps.doc.developer/adoc/_section_reconstructor.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,21 @@ include::_initCommon.adoc[]
The TMSC textual syntax allows you to create small example traces, to explore the PPS features.
The textual syntax is not developed for large traces as it will suffer from scalability issues.
Besides that, it is assumed that when using PPS in another domain, traces in another format are already available.
In both cases it is advised to write your own _reconstructor_ that converts these trace directly into a <<tmsc, TMSM meta-model>> instance.
In both cases it is advised to write your own _reconstructor_ that converts these trace directly into a <<tmsc, TMSC meta-model>> instance.
This section gives an example on how to create such a custom reconstructor.

The custom TMSC reconstructor example is included in the PPS distribution, in the `examples` directory.
The example can be easily imported into your development environment by using the menu:File[Import...] menu and then choose to import menu:General[Existing Projects into Workspace] from the tree.
Now continue the wizard and select all the projects from the `examples` directory to be imported.
The custom TMSC reconstructor example is included in the PPS distribution.
The example can be easily imported into your development environment by:

. Use the menu:File[Import...] menu and then choose to import menu:Plug-in Development[Plug-ins and Fragments] from the tree.
. On the next wizard page, select the `Projects with source folders` in the `Import As` section.
. On the next wizard page filter the available plug-ins and fragments by `nl.esi.pps.tmsc.reconstruct` and click the btn:[Add All ->] button.
- Now btn:[Finish] the wizard to import the projects.

TIP: For more information on creating custom EMF resources or using extension points, please read the Eclipse and EMF documentation.

TIP: You can test the example by creating a `*.tmsctrace` file in a project within the Eclipse runtime instance and then use its menu:Reconstruct TMSC[] context menu to create a TMSC for the trace.

First choose a syntax for your trace (e.g., `tmsctrace` in our example) and register it by means of the `org.eclipse.emf.ecore.extension_parser` extension point in the <<plugin-xml-nl.esi.pps.tmsc.reconstruct, plugin-xml>> of your plugin.

[[plugin-xml-nl.esi.pps.tmsc.reconstruct]]
Expand Down
18 changes: 9 additions & 9 deletions plugins/nl.esi.pps.doc.developer/adoc/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -38,22 +38,22 @@ This section describes how to convert your PPS to an Eclipse PDE to customize PP
. First extract the PPS distribution, choose a PPS version (i.e., windows or linux), extract it and start it, e.g. `pps.exe`.
. Now use the menu:Help[Install New Software...] menu to install the `Eclipse Plugin Development Tools` from the Eclipse 2024-09 (i.e., 4.33) update site: https://download.eclipse.org/eclipse/updates/4.33/[] +
+
image::{imgsdir}/install-pde.png[width=869,height=705]
image::{imgsdir}/install-pde.png[width=869,height=638]

. Continue the wizard using the btn:[Next] button and finally the btn:[Finish] button.
When asked, choose to restart the Eclipse IDE.
. (The next steps are optional, yet advised) Install the PPS sources by again using the menu:Help[Install New Software...] menu.
Now choose to add an update site by clicking the btn:[Add..] button.
. In the `Add Repository` dialog, choose to add an archived update site by clicking the btn:[Archive...] button.
Navigate to the directory where the PPS distribution is extracted and select the `nl.esi.pps.product-__<version>__.zip` archive.
Finally click the btn:[Add] button in the dialog to add the repository.
. Now select the `PPS` category in the wizard and continue the wizard using the btn:[Next] button and finally the btn:[Finish] button.
. After restart install the PPS sources by using the menu:Help[Install New Software...] menu.
Select the `PPS` category from the PPS (e.g., v0.30.0) update site: https://tno.github.io/PPS/update-site/v0.30.0/[] +
+
IMPORTANT: Please make sure to select the right update site version for your installation.
You can see your installed PPS version from the menu:Help[About PPS vX.X] menu.
. Continue the wizard using the btn:[Next] button and finally the btn:[Finish] button.
When asked, choose to restart the Eclipse IDE.

Your environment is now ready for extending PPS, e.g., <<tmsc-reconstructor, adding a custom TMSC reconstructor>> or <<data-analysis, extending its data analysis>>.

TIP: To start a PPS including your extensions, simply select one of your projects in the project/package explorer view and use its context menu (i.e., right mouse click) to menu:Run As[Eclipse Application].
A new Eclipse instance will be executed containing all PPS features including your own features.
A new Eclipse instance (i.e. an Eclipse runtime instance) will be executed containing all PPS features including your own features.

<<<

Expand Down
24 changes: 24 additions & 0 deletions plugins/nl.esi.pps.doc.developer/assembly.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<!--

Copyright (c) 2018-2025 TNO and Contributors to the GitHub community

This program and the accompanying materials are made available
under the terms of the MIT License which is available at
https://opensource.org/licenses/MIT

SPDX-License-Identifier: MIT

-->
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
<id>website</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>${project.build.directory}/website</directory>
<outputDirectory />
</fileSet>
</fileSets>
</assembly>
Binary file modified plugins/nl.esi.pps.doc.developer/images/install-pde.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
71 changes: 71 additions & 0 deletions plugins/nl.esi.pps.doc.developer/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@

<artifactId>nl.esi.pps.doc.developer</artifactId>
<packaging>eclipse-plugin</packaging>
<name>PPS Developer Guide</name>

<build>
<plugins>
Expand Down Expand Up @@ -128,6 +129,58 @@
</attributes>
</configuration>
</execution>

<!-- Rendering Website -->
<execution>
<id>generate-website</id>
<phase>prepare-package</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/website</outputDirectory>
<backend>html5</backend>
<attributes>
<imagesdir />
<imgsdir>images</imgsdir>
<sectnums />
<sectanchors>true</sectanchors>
<toc>left</toc>
<output-html />
<output-site />
</attributes>
<resources>
<resource>
<directory>${basedir}/images</directory>
<targetPath>images</targetPath>
</resource>
</resources>
</configuration>
</execution>

<!-- Rendering the PDF -->
<execution>
<id>generate-pdf</id>
<phase>prepare-package</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<sourceDocumentName>index.adoc</sourceDocumentName>
<outputFile>${project.build.directory}/website/pps-developer-guide.pdf</outputFile>
<backend>pdf</backend>
<attributes>
<imagesdir />
<imgsdir>${basedir}/images</imgsdir>
<sectnums />
<toc />
<numbered />
<pagenums />
<output-pdf />
<output-site />
</attributes>
</configuration>
</execution>
</executions>
</plugin>

Expand Down Expand Up @@ -176,6 +229,24 @@
</additionalFileSets>
</configuration>
</plugin>

<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>package-website</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>${basedir}/assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ private void reconstruct(IFile traceIFile) throws IOException, CoreException {

// Saving models to file
URI traceURI = URI.createPlatformResourceURI(traceIFile.getFullPath().toString(), true);
URI tmscURI = traceURI.trimFileExtension().appendFileExtension("tmscz");
URI tmscURI = traceURI.trimFileExtension().appendFileExtension("tmsc");
ResourceSet resourceSet = new ResourceSetImpl();
Resource tmscResource = resourceSet.createResource(tmscURI);
tmscResource.getContents().add(reconstructor.getTmsc());
Expand Down
14 changes: 10 additions & 4 deletions products/nl.esi.pps.product/category.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@
<feature id="nl.esi.pps.common.ui.feature.source">
<category name="nl.esi.pps"/>
</feature>
<feature id="nl.esi.pps.tmsc.reconstruct.feature">
<category name="nl.esi.pps"/>
</feature>
<feature id="nl.esi.pps.tmsc.reconstruct.feature.source">
<category name="nl.esi.pps"/>
</feature>
<bundle id="nl.esi.pps.common.emf.codegen.ecore">
<category name="nl.esi.pps"/>
</bundle>
Expand All @@ -43,8 +49,8 @@
The Platform Performance Suite, by ESI (TNO)
</description>
</category-def>
<repository-reference location="https://download.eclipse.org/trace4cps/nightly/update-site/" enabled="true" />
<repository-reference location="https://download.eclipse.org/lsat/nightly/update-site/" enabled="true" />
<repository-reference location="https://hallvard.github.io/plantuml/" enabled="true" />
<repository-reference location="https://download.eclipse.org/tools/orbit/downloads/drops/R20211122181901/repository/" enabled="true" />
<repository-reference location="https://download.eclipse.org/trace4cps/nightly/update-site/" name="" enabled="true" />
<repository-reference location="https://download.eclipse.org/lsat/nightly/update-site/" name="" enabled="true" />
<repository-reference location="https://hallvard.github.io/plantuml/" name="" enabled="true" />
<repository-reference location="https://download.eclipse.org/tools/orbit/downloads/drops/R20211122181901/repository/" name="" enabled="true" />
</site>
2 changes: 1 addition & 1 deletion products/nl.esi.pps.product/eclipse.product
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<launcherArgs>
<programArgs>--launcher.defaultAction openFile --launcher.appendVmargs
</programArgs>
<vmArgs>-Dosgi.requiredJavaVersion=11
<vmArgs>-Dosgi.requiredJavaVersion=21
-Declipse.p2.unsignedPolicy=allow
-Djava.net.preferIPv4Stack=true
-Dfile.encoding=UTF-8
Expand Down
22 changes: 22 additions & 0 deletions releng/launches/Check License Headers.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
<intAttribute key="M2_COLORS" value="0"/>
<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
<stringAttribute key="M2_GOALS" value="license:check"/>
<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
<booleanAttribute key="M2_OFFLINE" value="false"/>
<stringAttribute key="M2_PROFILES" value=""/>
<listAttribute key="M2_PROPERTIES"/>
<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
<intAttribute key="M2_THREADS" value="1"/>
<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
<stringAttribute key="M2_USER_SETTINGS" value=""/>
<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE" value="false"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:nl.esi.pps.root}"/>
</launchConfiguration>
4 changes: 3 additions & 1 deletion releng/launches/PPS Product.launch
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,17 @@
<stringAttribute key="featurePluginResolution" value="workspace"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../pps_product_workspace"/>
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
</listAttribute>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE" value="false"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -clearPersistedStateX"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.p2.unsignedPolicy=allow -XX:+UseG1GC -Xmx8g"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.p2.unsignedPolicy=allow -XX:+UseG1GC -Xmx8g --add-modules=ALL-SYSTEM --add-opens java.base/java.util.zip=ALL-UNNAMED"/>
<booleanAttribute key="pde.generated.config" value="false"/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="nl.esi.pps.product.branding.product"/>
Expand Down
22 changes: 22 additions & 0 deletions releng/launches/Update License Headers.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
<intAttribute key="M2_COLORS" value="0"/>
<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
<stringAttribute key="M2_GOALS" value="license:format"/>
<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
<booleanAttribute key="M2_OFFLINE" value="false"/>
<stringAttribute key="M2_PROFILES" value=""/>
<listAttribute key="M2_PROPERTIES"/>
<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
<intAttribute key="M2_THREADS" value="1"/>
<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
<stringAttribute key="M2_USER_SETTINGS" value=""/>
<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE" value="false"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:nl.esi.pps.root}"/>
</launchConfiguration>
Loading