PCM Codebereiche
Die vorliegende Seite enthält einen Überblick über Codebereiche und Projekte der PCM Codebasis und die zugehörigen Verantwortlichkeiten.
Code-Überblick
Die Codebasis der PCM-Tools besteht aus Eclipse-Projekten, die strukturiert im SVN-Repository [1] abgelegt sind. Dabei sind die einzelnen Projekte den folgenden Codebereichen zugeordnet. Änderungen im SVn sollten immer sofort hier nachgetragen werden, allerdings kann nicht garantiert werden, dass diese Seite aktuell ist.
(s. auch sdqinternal:Rollen der Mitarbeiter#PCM_Aufgaben für die allg. Aufgabenbereiche, die nicht immer in Codepakete mappen)
Anleitung zum Lesen der Projektnamen: als erstes wird der Projektname bzw. der Präfix der projektnamen einer zusammengehörigen Gruppe von Projekten, wie er nach dem PCM Namenschema sein sollte, angegeben. In Klammern folgt ggf. der tatsächliche Projektname im SVN.
Weitere Infos zu den Projekten im JavaDoc zum Nighly Build oder JavaDoc zur Version von 2009-03-07
Projekt(-Präfix) | Codebereich (= SVN Verzeichnisse) | Beschreibung | Ansprechpartner1 | Stellvertreter |
---|---|---|---|---|
de.uka.ipd.sdq.{benchmarking,BySuite,palladioFileShare} (PalladioFileShare) | CaseStudies/FileShare | Interne Evaluation für Machine Learning + Bytecode-basierte Vorhersage | Klaus | Michael |
de.uka.ipd.sdq.code2model (code2model) | Palladio/Discontinued/Java2PCM (discontinued) | Reverse engineering of RDSEFFs from Java source code. Based on work of Thomas Kappler. Ersetzt durch GAST2SEFF | Klaus | Johannes |
de.uka.ipd.sdq.resourcestrategies | Palladio/Core/trunk/ProtoCom | Project which simulates resource demands on physical hardware, used by ProtoCom as well as (in the future) Palladio.ByCounter | Michael, Micha | Martin Krogmann |
de.uka.ipd.sdq.benchmarks.concurrency | Discontinued/Palladio.Benchmark | Jens Diss implementation for concurrency stress tests | formerly Jens; new person has to be found | ? |
de.uka.ipd.sdq.ByCounter (ByCounter) | BySuite/Palladio.ByCounter | Runtime counting of bytecode instructions and method invocations through application instrumentation | Michael | Martin Krogmann |
de.uka.ipd.sdq.BySuite (BySuite) | BySuite/Palladio.BySuite | Stand-alone bytecode-based performance prediction, on the basis of ByCounter (see above) and ByBench (not yet in this repository) | Michael | ? |
de.uka.ipd.sdq.codeconventions | Development | SDQ Code Conventions to be used with Checkstyle | Franz | Johannes |
de.uka.ipd.sdq.dialogs, de.uka.ipd.sdq.errorhandling | WorkflowEngine/trunk | Core-Plugins which are needed more than once by other plugins ?? | Klaus | Steffen |
de.uka.ipd.sdq.dsexplore | Palladio/Core/trunk/PerOpteryx | Plugins that realise the Design Space Exploration of PCM instances, as proposed in Annes work. Should be moved into Addons | Anne | (nicht nötig) |
de.uka.ipd.sdq.capra | Palladio/Discontinued/Capra (auf Eis) | Contains the current Version of the CAPRA process algebra. Discontinued | formerly Jens and Bara; new person has to be found | - |
de.uka.ipd.sdq.spa | Palladio/Core/trunk/Solver (auf Eis, aber immer noch im Core) | Contains the current Version of the SPA process algebra. | formerly Jens and Bara; new person has to be found | - |
de.uka.ipd.sdq.branding | Palladio/Core/trunk/IDE | ?? | Klaus | Steffen |
de.uka.ipd.sdq.identifier | Palladio/Core/trunk/MetaModels | ?The EMF based PCM plugins containing the PCM Meta-Models? | Klaus | Steffen |
de.uka.ipd.sdq.pcm | Palladio/Core/trunk/MetaModels, Palladio/Core/trunk/Editors | The EMF based PCM plugins containing the PCM Meta-Model | Klaus, Chris (GMF/EMF) | Steffen, Pierre (GMF/EMF), Johannes (GMF/EMF) |
de.uka.ipd.sdq.pcm.gmf | Palladio/Core/trunk/Editors | The GMF graphical editors | Chris | Pierre, Johannes |
de.uka.ipd.sdq.tests | Palladio/Core/trunk/Build | The testing starting point, calls other tests | Steffen? | Klaus? |
de.uka.ipd.sdq.probfunction | Palladio/Core/trunk/ProbFunction | Package to model probability distributions and perform basic computations on them | formerly Jens; new person has to be found | Franz |
de.uka.ipd.sdq.units | Palladio/Core/trunk/MetaModels, Palladio/Core/trunk/Editors | EMF Meta-Model for modelling units for stochastic expressions in the PCM, not integrated (problematic for experiments) | Michael, Klaus | Chris |
various example PCM instances | Palladio/Core/trunk/Examples, Palladio/Core/tags/..., Palladio/Discontinued/ExamplesForPublications | Examples for the PCM and its tools | Franz | Steffen |
de.uka.ipd.sdq.featureconfig, de.uka.ipd.sdq.featureinstance, de.uka.ipd.sdq.featuremodel | FeatureModel/Core/trunk, FeatureModel/Addons/FeatureInstanceEditor/trunk | EMF Meta-Model for Feature Diagrams and Feature Configurations | Lucia | Steffen |
de.uka.ipd.sdq.pluginbuilder | Palladio/Core/trunk/Build | Central project for configuring the PCM / PCM Bench nightly build | Klaus | Steffen |
RSA-Models: de.uka.ipd.pcm.rsa | Palladio/Core/trunk/MetaModels | All RSA model files. Should be refactored to only contain PCM RSA models. Different projects should have their own RSA project. | (siehe jeweils Teilprojekte) | (siehe jeweils Teilprojekte) |
de.uka.ipd.sdq.codegen.simudatavisualisation.datatypes | Palladio/Core/trunk/SensorFramework (discontinued, only bugfixing) | Interface between persistency and GUI | Henning | ? |
de.uka.ipd.sdq.generator.uml2jpa | Palladio/Core/trunk/SensorFramework TODO: delete im SVN | UML zu jpa Transformationen | Steffen | ? |
de.uka.ipd.sdq.sensorframework | Palladio/Core/trunk/SensorFramework (discontinued, only bugfixing) | Framework to place and store sensors in Simulations or to instrument code | Michael | Henning |
de.uka.ipd.sdq.scheduler | Palladio/Core/trunk/SimuCom | Jens' Scheduler Simulation from his dissertation (for CAPRA and SimuCom?) | Micha, Fabian, Niko | Henning |
de.uka.ipd.sdq.stoex, de.uka.ipd.sdq.pcm.stochasticexpressions | Palladio/Core/trunk/StoEx | Grammar and Parser tools for Stochastic Expressions TODO: Some StoEx parser code still resides in the de.uka.ipd.sdq.pcm project! | Martin | - |
de.uka.ipd.sdq.statistics | Palladio/Core/trunk/Statistics | Statistic algorithms such as warmup filter, independence test for a series of samples, batch mean confidence | Philipp Merkle | Anne |
de.uka.ipd.sdq.TimerMeter (TimerMeter) | TimerMeter | Application to measure resolution and cost of timer invocations | Michael | Martin Krogmann |
de.uka.ipd.sdq.workflow | WorkflowEngine | Palladio Workflow Engine. Integrates the Workflows in Eclipse (RunConfig). Provides abstract classes for PCM specific workflow jobs and handles their execution. | Anne | - |
several external packages | ThirdPartyWrapper | Wrapper-Plugins for external libraries | (siehe jeweils Teilprojekte) | (siehe jeweils Teilprojekte) |
de.uka.ipd.sdq.pcm.codegen, de.uka.ipd.sdq.pcm.transformations (in plugin *.codegen.simucontroller) | Palladio/Core/trunk/CodeGen PalladioCM.CodeGen | oAW based M2C Transformations. M2T Templates for SimuCom, EJB, and Prototype. Example EJB Skeleton-Project. Completions. | Anne (SimuCom), Henning (ProtoCom), Steffen (PCM2Java = EJB), Lucia (Completions) | - |
de.uka.ipd.sdq.prototype.framework | Palladio/Core/trunk/ProtoCom PalladioCM.CodeGen | ProtoCom Framework | Henning | - |
de.uka.ipd.sdq.{simucomframework,simucom.feature} | Palladio/Core/trunk/SimuCom PalladioCM.CodeGen | SimuCom Framework | Anne | - |
de.uka.ipd.sdq.completions | Palladio/Core/trunk/Completions | Performance Completions Meta-Model | Lucia | Steffen |
de.uka.ipd.sdq.pcmbench | Palladio/Core/trunk/IDE | Noch einige Kern-PCM tool plugins, RCP-Application and associated plugins. TODO: Mergen | Klaus | - |
de.uka.ipd.sdq.context | Palladio/Core/trunk/Solver | The generated context models (see Palladio/Core/trunk/Metamodels/de.uka.ipd.sdq.pcm.rsa/context.emx) | Franz | ? |
LQNModel | Palladio/Core/trunk/Solver | The generated LQN model. TODO: umbenennen nach Konventionen | Samuel | Franz |
de.uka.ipd.sdq.markov | Palladio/Core/trunk/Reliability | Reliability | Franz | - |
de.uka.ipd.sdq.pcmsolver | Palladio/Core/trunk/Solver | Includes Dependency solver, pcm2regex, pcm2capra, PCM2LQN | Franz, Samuel (pcm2lqn), Bara (pcm2capra), Anne (pcm2regex nur Notfall) | - |
de.uka.ipd.sdq.pcmsolver.transformations.pcm2regex (nur Paket in de.uka.ipd.sdq.pcmsolver, kein Projekt) | Palladio/Core/trunk/Solver | pcm2regex Transformation | Anne | - |
de.uka.ipd.sdq.pcmsolver.transformations.pcm2lqn (nur Paket in de.uka.ipd.sdq.pcmsolver, kein Projekt) | Palladio/Core/trunk/Solver | PCM2LQN Transformation | Samuel | - |
de.uka.ipd.sdq.pcmsolver.transformations.pcm2capra (nur Paket in de.uka.ipd.sdq.pcmsolver, kein Projekt) | Palladio/Core/trunk/Solver | pcm2capra Transformation | formerly Jens and Bara; new person has to be found | - |
RSA-EMX-UML2 | RSA-EMX-UML2 | RSA-Export fix tool; for RSA 6.0 | Klaus | - |
Discontinued/test-feature | Tests für Build-Prozess | Klaus | - | |
Discontinued/test-plugin | Tests für Build-Prozess | Klaus | - |
1 Die den Codebereichen zugeteilten Ansprechpartner sind die erste Anlaufstelle für Fragen zum jeweiligen Bereich (siehe hierzu auch die Besprechung zur PCM-Evolution im Februar 2008 in Dagstuhl und die resultierende Zuordnung von Personen zu Aufgabengebieten im SVN-Repository [2] in der Datei "2008-08-28 Zuordnung Personen-Aufgabengebiete.xls") und dem Nachfolge-Dagstuhlprotokoll September 2008.
TODO: Align overview to new code areas created as part of the SVN Restructoring in August 2011
TODO: Rename the ThirdPartyWrapper plugins to include the third party version number as noted on the page SVN-Regeln
TODO: Erstelle Diagramm Architektur-Überblick
TODO: Bewerte QS-Status der einzelnen Bereiche