SlideShare ist ein Scribd-Unternehmen logo
1 von 27
GRANT AGREEMENT: 601138 | SCHEME FP7 ICT 2011.4.3
Promoting and Enhancing Reuse of Information throughout the Content Lifecycle taking account of Evolving Semantics
[Digital Preservation]
“This project has received funding from the European Union’s Seventh
Framework Programme for research, technological development and
demonstration under grant agreement no601138”.
The PeriCAT Framework
Anna-Grit Eggers (University of Goettingen)
PeriCAT
The PERICLES
Content Aggregation
Tool
• PeriCAT - The PERICLES Content Aggregation Tool - is a
framework for Information Encapsulation techniques.
• It integrates a set of information encapsulation techniques from
various domains, which can be used from within the framework.
• It provides a mechanism to capture the scenario of the user, and to
suggest the best fitting information encapsulation technique for
a given scenario.
About
https://github.com/pericles-project/PeriCAT
• PeriCAT is an Java application which runs on Linux, OS X and
Windows systems.
• It requires a Java 7 installation.
• The tool itself needs no installation.
• Just download the .jar file and execute it with your operating system
specific method (Windows: double-click, Linux/OS X: java -jar
PeriCAT.jar).
Installation
PET and PeriCAT
Sheer Curation
• The PERICLES tools PET and PeriCAT can be used together in a Sheer
Curation scenario.
Sheer Curation
• Sheer Curation means to start curation activities at the environment in
which digital objects are created and altered.
• The PERICLES Extraction Tool PET can be used to extract information
significant for long term preservation and object re-use from this creation
context.
• The extracted information can be encapsulated together with the related
digital object, to ensure that it will be available after the object leaves the
creation environment.
Example: the PERICLES sheer curation scenario.
The PERICLES Extraction Tool (PET) monitors the environment and reacts to changes in this
environment. It extracts this information, and temporarily stores it locally. The extracted information is then
appraised by the person creating and altering digital objects. The appraisal allows for intervention and
filtering of problematic information, such as private or confidential information, not to be encapsulated.
Tutorial
Step-by-step guide
• Start the tool. You will see three main tabs.
• Open the information encapsulation tab.
• Decide which are the carrier and which
are the payload files; In most cases the
carrier consists of the “DO” files, and the
payload encompasses all metadata.
Add the files to the tool.
User guide – get started
User guide – create scenario
1. Switch to the scenario tab. Using the
scenario tab is optional and can be skipped, if
you know which algorithm you want to use.
2. Create a new profile. Enter a profile name
and add a meaningful description.
3. Complete the user scenario questionnaire.
4. Exclude criteria which are not relevant for
your scenario.
5. Adjust the sliders to weigh the criteria.
6. Save your scenario.
7. Investigate the high score, especially the IE
techniques with the lowest distance to your
scenario.
8. Choose one of the suggested techniques,
and click the “use this technique” button.
User guide – select algorithm
9. Your chosen IE technique is preselected. If it is displayed in red, it can’t be used for the dataset.
Consider to choose another algorithm.
10.If the IE technique has configuration options, a configuration interface will be shown. Configure the
algorithm, if necessary.
11.Be sure that the encapsulation
option “Use selected algorithm”
is selected.
12.Press the encapsulate button.
The results will be shown in an
output panel at the bottom of the
encapsulation tab.
User guide - decapsulation
13. For decapsulation switch to the decapsulation tab.
14. Your encapsulated information are shown here as
option to be decapsulated. (If the tool was closed,
you have to add the file manually with the add button.)
Select them.
15. Select the algorithm, which you used
for encapsulation. This will save a lot
of time, which the tool would need
to guess the used algorithm.
16. Press the decapsulation button. The
original files should be shown at the
output panel of the Decapsulation tab.
17. Select one of the output files,
to get some further information.
18. Close the tool. Done!
PeriCAT
API
• PeriCAT can be integrated into other tools and used via its API, which is
accessible through the PeriCAT class.
• Alternatively PeriCAT’s API can be called via command line parameters.
The PeriCAT API
• The API provides:
•access to the IE algorithms with PeriCAT.ALGORITHM_NAME;
•a method to encapsulate a carrier and a list of payload files with a specific
algorithm;
•a method to encapsulate a carrier and a list of payload files with the best fitting
algorithm for a scenario - the scenario is passed as configuration file, which can
be created by PeriCAT beforehand;
•a method to decapsulate encapsulated files with a specific algorithm;
•a method to decapsulate encapsulated files without the knowledge about the used
algorithm - in this case the used algorithm will be guessed, which needs time for
the calculations.
PeriCAT
Developer Guide
• PeriCAT is developed using Eclipse.
• We used the m2e Eclipse plugin for maven integration
• and EGit for git integration.
• To set up the project in Eclipse you will need a Java 7 installation, or higher.
Setting up an Eclipse project
• Following source code packages with corresponding test sources to be found at src/test/java:
• main: contains the main class, which handles also command line start parameters, furthermore
classes for configuration, logging, the API for the integration into external tools (PeriCAT class),
and finally the PET-Adapter.
• model: contains basic data structures for data sets and the user scenario and classes to
construct the bytestream of a payload sequence, including restoration metadata.
• view: contains all the graphical user interface classes. The GUI class refers to three GUITabs,
which contain different GUIPanels.
• controller: contains the main controller of the application, the “PeriCATController” together with
its builder which is called once at tool start. The other controlling classes (except decision
mechanism) take care of more specific controlling tasks, e.g. handling of load and save,
encapsulation, decapsulation etc.
• decisionMechanism: contains all controlling classes for the decision mechanism.
• algorithm: contains a wrapper class for each integrated IE technique.
The package structure
• How to integrate new IE techniques into the tool?
• Navigate to the algorithm package
• Create a new class for your algorithm which extends the
AbstractAlgorithm class.
• Let Eclipse add all unimplemented methods automatically.
The other algorithm classes can be used as implementation
examples of these methods.
Integrating new techniques
Encapsulate:
• This method gets a list of carrier and payload files and returns mostly one file which
is the encapsulated file. The method can return more than one file, if necessary, but
this is not common.
• Some algorithms, mostly packaging techniques, will handle carrier and payload files
as equal.
• The distinction is for embedding algorithms which need to handle carrier and payload
in a different way.
• The algorithm can use a model.PayloadSegment to store the payload together with
restoration metadata in a well defined way.
Algorithm classes
Restore:
• This method gets one encapsulated file and returns the restored original files, as far
as practicable.
• Some algorithms are only able to restore carrier or payload file.
• Compare the model.RestoredFile class. It contains information from the restoration
metadata which are provided to the user.
• There is an option for adding a note for the user, e.g. to explain why one of the files
can’t be restored.
• A lot of information that has to be stored in the RestoredFile can be received from the
model.PayloadSegment’s restoration metadata, if the algorithm has used this class.
Algorithm classes (2)
getName:
• This method returns a name string for the algorithm for the graphical user interface.
getDescription:
• This method returns a description string for the algorithm for the graphical user
interface. Don’t skimp on explanations!
defineScenario:
• This method defines an ideal use scenario in which the algorithm should be used
(part of the decision mechanism). It suggests an algorithm based on a user scenario.
•Create a Scenario at the method with a name sting like “my algorithm scenario”
•check with the model.Criterion class to see a list of currently 11 criteria which have
to be defined for a algorithm scenario
•use scenario.setCriterionValue (CRITERION, YES/NO); for each of the listed
criteria to characterise a algorithm
•return the scenario
Algorithm classes (3)
configureCarrierFileFilter/configurePayloadFileFilter/configureDecapsulationFile
Filter:
• We use the apache commons SuffixFileFilter to define which file types are allowed as
carrier files, payload files, or as input for the decapsulation.
• The file filters are used automatically before encapsulation or decapsulation.
fulfilledTechnicalCriteria:
• This method is called automatically similar to the file filters before encapsulation.
• Any technical constraints for encapsulation for the carrier and payload files can be
defined here, e.g. if the payload size fulfils the constraints to use the algorithm.
• Algorithms for which the user’s data set can’t fulfil the technical criteria or the file type
check are displayed as red at the graphical user interface.
• In parallel to your algorithm class, create a unit test class at src/test/java/algorithm.
This is highly recommended.
Algorithm classes (4)
• The maven pom.xml file can be used to add external sources to the project, if these
sources use maven.
• If you want to add external sources which are not using maven, create a directory at
the ExternalTools directory and copy the sources there.
• Once the algorithm is finished open the main.Configuration class
• Add your algorithm to the list of available algorithms at the getAlgorithms() method.
• This is also the place where you can comment out techniques, which you want to
exclude from your PeriCAT instance.
Algorithm classes (5)
Integrating new decision criteria
• Use your new criterion at the ideal scenarios of the algorithms. This has to be done
manually for all algorithms. The default weighting value of a criterion is 50 (middle),
if it is not set for a scenario.
• If the number of integrated algorithms increases, the necessity to distinguish between
the algorithm characteristics becomes more urgent to refine the decision mechanism.
• The introduction of new decision criteria is quite easy.
• Open the model.Criterion class: Add a static string to the top of this class
which identifies your algorithm, similar to the existing ones
• Open the model.Scenario class: Create a new Criterion at the Scenario constructor
using the ID which you defined at the Criterion class, similar to the existing criteria.
The description is used as tool tip at the graphical user interface.
• Add your criterion at the bottom of the constructor with addCriterion(criterion);
PeriCAT
The Architecture model
The PeriCAT Framework

Weitere ähnliche Inhalte

Ähnlich wie The PeriCAT Framework

iOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for BeginnersiOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for BeginnersRyanISI
 
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
(ATS6-DEV06) Using Packages for Protocol, Component, and Application DeliveryBIOVIA
 
Instructions for using the phase wrapping and unwrapping code
Instructions for using the phase wrapping and unwrapping codeInstructions for using the phase wrapping and unwrapping code
Instructions for using the phase wrapping and unwrapping codeImperial College, London
 
ScalaUA - distage: Staged Dependency Injection
ScalaUA - distage: Staged Dependency InjectionScalaUA - distage: Staged Dependency Injection
ScalaUA - distage: Staged Dependency Injection7mind
 
IRJET-Clipboard Manager
IRJET-Clipboard ManagerIRJET-Clipboard Manager
IRJET-Clipboard ManagerIRJET Journal
 
4 pillars of OOPS CONCEPT
4 pillars of OOPS CONCEPT4 pillars of OOPS CONCEPT
4 pillars of OOPS CONCEPTAjay Chimmani
 
Adop and maintenance task presentation 151015
Adop and maintenance task presentation 151015Adop and maintenance task presentation 151015
Adop and maintenance task presentation 151015andreas kuncoro
 
Enterprise Library 2.0
Enterprise Library 2.0Enterprise Library 2.0
Enterprise Library 2.0Raju Permandla
 
Process Synchronization Producer-Consumer ProblemThe purpos.docx
Process Synchronization Producer-Consumer ProblemThe purpos.docxProcess Synchronization Producer-Consumer ProblemThe purpos.docx
Process Synchronization Producer-Consumer ProblemThe purpos.docxstilliegeorgiana
 
Build cloud native solution using open source
Build cloud native solution using open source Build cloud native solution using open source
Build cloud native solution using open source Nitesh Jadhav
 
MC0078 SMU 2013 Fall session
MC0078 SMU 2013 Fall sessionMC0078 SMU 2013 Fall session
MC0078 SMU 2013 Fall sessionNarinder Kumar
 
Autodock Made Easy with MGL Tools - Molecular Docking
Autodock Made Easy with MGL Tools - Molecular DockingAutodock Made Easy with MGL Tools - Molecular Docking
Autodock Made Easy with MGL Tools - Molecular DockingGirinath Pillai
 
UNIT_5_Data Wrangling.pptx
UNIT_5_Data Wrangling.pptxUNIT_5_Data Wrangling.pptx
UNIT_5_Data Wrangling.pptxBhagyasriPatel2
 
Eclipse plug in development
Eclipse plug in developmentEclipse plug in development
Eclipse plug in developmentMartin Toshev
 
App Grid Dev With Coherence
App Grid Dev With CoherenceApp Grid Dev With Coherence
App Grid Dev With CoherenceJames Bayer
 
Application Grid Dev with Coherence
Application Grid Dev with CoherenceApplication Grid Dev with Coherence
Application Grid Dev with CoherenceJames Bayer
 
App Grid Dev With Coherence
App Grid Dev With CoherenceApp Grid Dev With Coherence
App Grid Dev With CoherenceJames Bayer
 

Ähnlich wie The PeriCAT Framework (20)

iOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for BeginnersiOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for Beginners
 
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
(ATS6-DEV06) Using Packages for Protocol, Component, and Application Delivery
 
Instructions for using the phase wrapping and unwrapping code
Instructions for using the phase wrapping and unwrapping codeInstructions for using the phase wrapping and unwrapping code
Instructions for using the phase wrapping and unwrapping code
 
ScalaUA - distage: Staged Dependency Injection
ScalaUA - distage: Staged Dependency InjectionScalaUA - distage: Staged Dependency Injection
ScalaUA - distage: Staged Dependency Injection
 
iOS Application Pentesting
iOS Application PentestingiOS Application Pentesting
iOS Application Pentesting
 
IRJET-Clipboard Manager
IRJET-Clipboard ManagerIRJET-Clipboard Manager
IRJET-Clipboard Manager
 
4 pillars of OOPS CONCEPT
4 pillars of OOPS CONCEPT4 pillars of OOPS CONCEPT
4 pillars of OOPS CONCEPT
 
Adop and maintenance task presentation 151015
Adop and maintenance task presentation 151015Adop and maintenance task presentation 151015
Adop and maintenance task presentation 151015
 
Enterprise Library 2.0
Enterprise Library 2.0Enterprise Library 2.0
Enterprise Library 2.0
 
Process Synchronization Producer-Consumer ProblemThe purpos.docx
Process Synchronization Producer-Consumer ProblemThe purpos.docxProcess Synchronization Producer-Consumer ProblemThe purpos.docx
Process Synchronization Producer-Consumer ProblemThe purpos.docx
 
Build cloud native solution using open source
Build cloud native solution using open source Build cloud native solution using open source
Build cloud native solution using open source
 
Java 9 Features
Java 9 FeaturesJava 9 Features
Java 9 Features
 
Dost.jar and fo.jar
Dost.jar and fo.jarDost.jar and fo.jar
Dost.jar and fo.jar
 
MC0078 SMU 2013 Fall session
MC0078 SMU 2013 Fall sessionMC0078 SMU 2013 Fall session
MC0078 SMU 2013 Fall session
 
Autodock Made Easy with MGL Tools - Molecular Docking
Autodock Made Easy with MGL Tools - Molecular DockingAutodock Made Easy with MGL Tools - Molecular Docking
Autodock Made Easy with MGL Tools - Molecular Docking
 
UNIT_5_Data Wrangling.pptx
UNIT_5_Data Wrangling.pptxUNIT_5_Data Wrangling.pptx
UNIT_5_Data Wrangling.pptx
 
Eclipse plug in development
Eclipse plug in developmentEclipse plug in development
Eclipse plug in development
 
App Grid Dev With Coherence
App Grid Dev With CoherenceApp Grid Dev With Coherence
App Grid Dev With Coherence
 
Application Grid Dev with Coherence
Application Grid Dev with CoherenceApplication Grid Dev with Coherence
Application Grid Dev with Coherence
 
App Grid Dev With Coherence
App Grid Dev With CoherenceApp Grid Dev With Coherence
App Grid Dev With Coherence
 

Mehr von PERICLES_FP7

Digital Ecosystem and Process Compiler - IDCC17
Digital Ecosystem and Process Compiler - IDCC17Digital Ecosystem and Process Compiler - IDCC17
Digital Ecosystem and Process Compiler - IDCC17PERICLES_FP7
 
Technical Appraisal of Complex Digital Objects in Evolving Environments - IDC...
Technical Appraisal of Complex Digital Objects in Evolving Environments - IDC...Technical Appraisal of Complex Digital Objects in Evolving Environments - IDC...
Technical Appraisal of Complex Digital Objects in Evolving Environments - IDC...PERICLES_FP7
 
Technical appraisal and change impact analysis - IDCC17 workshop
Technical appraisal and change impact analysis - IDCC17 workshopTechnical appraisal and change impact analysis - IDCC17 workshop
Technical appraisal and change impact analysis - IDCC17 workshopPERICLES_FP7
 
ForgetIT: human memory inspired Information Model
ForgetIT: human memory inspired Information ModelForgetIT: human memory inspired Information Model
ForgetIT: human memory inspired Information ModelPERICLES_FP7
 
Data quality, preservation and access: a DANS perspective
Data quality, preservation and access: a DANS perspectiveData quality, preservation and access: a DANS perspective
Data quality, preservation and access: a DANS perspectivePERICLES_FP7
 
Proactive Evolution management in Data-centric SW ecosystems - Acting on Chan...
Proactive Evolution management in Data-centric SW ecosystems - Acting on Chan...Proactive Evolution management in Data-centric SW ecosystems - Acting on Chan...
Proactive Evolution management in Data-centric SW ecosystems - Acting on Chan...PERICLES_FP7
 
Digital Preservation in the era of Big Data - The Diachron Platform - Acting ...
Digital Preservation in the era of Big Data - The Diachron Platform - Acting ...Digital Preservation in the era of Big Data - The Diachron Platform - Acting ...
Digital Preservation in the era of Big Data - The Diachron Platform - Acting ...PERICLES_FP7
 
Detecting Semantic Drift for ontology maintenance - Acting on Change 2016
Detecting Semantic Drift for ontology maintenance - Acting on Change 2016Detecting Semantic Drift for ontology maintenance - Acting on Change 2016
Detecting Semantic Drift for ontology maintenance - Acting on Change 2016PERICLES_FP7
 
Filling the Digital Preservation Gap - Acting on Change
Filling the Digital Preservation Gap - Acting on ChangeFilling the Digital Preservation Gap - Acting on Change
Filling the Digital Preservation Gap - Acting on ChangePERICLES_FP7
 
Risk assessment for preservation in the active life of complex digital object...
Risk assessment for preservation in the active life of complex digital object...Risk assessment for preservation in the active life of complex digital object...
Risk assessment for preservation in the active life of complex digital object...PERICLES_FP7
 
Technical Appraisal Tool, MICE - Acting on Change 2016
Technical Appraisal Tool, MICE - Acting on Change 2016Technical Appraisal Tool, MICE - Acting on Change 2016
Technical Appraisal Tool, MICE - Acting on Change 2016PERICLES_FP7
 
PERICLES Workflow for the automated updating of Digital Ecosystem Models with...
PERICLES Workflow for the automated updating of Digital Ecosystem Models with...PERICLES Workflow for the automated updating of Digital Ecosystem Models with...
PERICLES Workflow for the automated updating of Digital Ecosystem Models with...PERICLES_FP7
 
Capability gap - Preservation isn't just throwing tools at the problem - Acti...
Capability gap - Preservation isn't just throwing tools at the problem - Acti...Capability gap - Preservation isn't just throwing tools at the problem - Acti...
Capability gap - Preservation isn't just throwing tools at the problem - Acti...PERICLES_FP7
 
Automatic policy application and change management - Acting on Change 2016
Automatic policy application and change management - Acting on Change 2016Automatic policy application and change management - Acting on Change 2016
Automatic policy application and change management - Acting on Change 2016PERICLES_FP7
 
Reproducibile scientific workflows - Acting on Change 2016
Reproducibile scientific workflows - Acting on Change 2016Reproducibile scientific workflows - Acting on Change 2016
Reproducibile scientific workflows - Acting on Change 2016PERICLES_FP7
 
Pro-active solutions for higher reproducibility of scientific experiments - A...
Pro-active solutions for higher reproducibility of scientific experiments - A...Pro-active solutions for higher reproducibility of scientific experiments - A...
Pro-active solutions for higher reproducibility of scientific experiments - A...PERICLES_FP7
 
PERICLES Policy management & ontology supported preservation - Acting on Chan...
PERICLES Policy management & ontology supported preservation - Acting on Chan...PERICLES Policy management & ontology supported preservation - Acting on Chan...
PERICLES Policy management & ontology supported preservation - Acting on Chan...PERICLES_FP7
 
PERICLES Modelling Policies - Acting on Change 2016
PERICLES Modelling Policies - Acting on Change 2016PERICLES Modelling Policies - Acting on Change 2016
PERICLES Modelling Policies - Acting on Change 2016PERICLES_FP7
 
PERICLES Ecosystem Modelling (NCDD use case) - Acting on Change 2016
PERICLES Ecosystem Modelling (NCDD use case) - Acting on Change 2016PERICLES Ecosystem Modelling (NCDD use case) - Acting on Change 2016
PERICLES Ecosystem Modelling (NCDD use case) - Acting on Change 2016PERICLES_FP7
 
PERICLES Process Compiler - ‘Eye of the Storm: Preserving Digital Content in ...
PERICLES Process Compiler - ‘Eye of the Storm: Preserving Digital Content in ...PERICLES Process Compiler - ‘Eye of the Storm: Preserving Digital Content in ...
PERICLES Process Compiler - ‘Eye of the Storm: Preserving Digital Content in ...PERICLES_FP7
 

Mehr von PERICLES_FP7 (20)

Digital Ecosystem and Process Compiler - IDCC17
Digital Ecosystem and Process Compiler - IDCC17Digital Ecosystem and Process Compiler - IDCC17
Digital Ecosystem and Process Compiler - IDCC17
 
Technical Appraisal of Complex Digital Objects in Evolving Environments - IDC...
Technical Appraisal of Complex Digital Objects in Evolving Environments - IDC...Technical Appraisal of Complex Digital Objects in Evolving Environments - IDC...
Technical Appraisal of Complex Digital Objects in Evolving Environments - IDC...
 
Technical appraisal and change impact analysis - IDCC17 workshop
Technical appraisal and change impact analysis - IDCC17 workshopTechnical appraisal and change impact analysis - IDCC17 workshop
Technical appraisal and change impact analysis - IDCC17 workshop
 
ForgetIT: human memory inspired Information Model
ForgetIT: human memory inspired Information ModelForgetIT: human memory inspired Information Model
ForgetIT: human memory inspired Information Model
 
Data quality, preservation and access: a DANS perspective
Data quality, preservation and access: a DANS perspectiveData quality, preservation and access: a DANS perspective
Data quality, preservation and access: a DANS perspective
 
Proactive Evolution management in Data-centric SW ecosystems - Acting on Chan...
Proactive Evolution management in Data-centric SW ecosystems - Acting on Chan...Proactive Evolution management in Data-centric SW ecosystems - Acting on Chan...
Proactive Evolution management in Data-centric SW ecosystems - Acting on Chan...
 
Digital Preservation in the era of Big Data - The Diachron Platform - Acting ...
Digital Preservation in the era of Big Data - The Diachron Platform - Acting ...Digital Preservation in the era of Big Data - The Diachron Platform - Acting ...
Digital Preservation in the era of Big Data - The Diachron Platform - Acting ...
 
Detecting Semantic Drift for ontology maintenance - Acting on Change 2016
Detecting Semantic Drift for ontology maintenance - Acting on Change 2016Detecting Semantic Drift for ontology maintenance - Acting on Change 2016
Detecting Semantic Drift for ontology maintenance - Acting on Change 2016
 
Filling the Digital Preservation Gap - Acting on Change
Filling the Digital Preservation Gap - Acting on ChangeFilling the Digital Preservation Gap - Acting on Change
Filling the Digital Preservation Gap - Acting on Change
 
Risk assessment for preservation in the active life of complex digital object...
Risk assessment for preservation in the active life of complex digital object...Risk assessment for preservation in the active life of complex digital object...
Risk assessment for preservation in the active life of complex digital object...
 
Technical Appraisal Tool, MICE - Acting on Change 2016
Technical Appraisal Tool, MICE - Acting on Change 2016Technical Appraisal Tool, MICE - Acting on Change 2016
Technical Appraisal Tool, MICE - Acting on Change 2016
 
PERICLES Workflow for the automated updating of Digital Ecosystem Models with...
PERICLES Workflow for the automated updating of Digital Ecosystem Models with...PERICLES Workflow for the automated updating of Digital Ecosystem Models with...
PERICLES Workflow for the automated updating of Digital Ecosystem Models with...
 
Capability gap - Preservation isn't just throwing tools at the problem - Acti...
Capability gap - Preservation isn't just throwing tools at the problem - Acti...Capability gap - Preservation isn't just throwing tools at the problem - Acti...
Capability gap - Preservation isn't just throwing tools at the problem - Acti...
 
Automatic policy application and change management - Acting on Change 2016
Automatic policy application and change management - Acting on Change 2016Automatic policy application and change management - Acting on Change 2016
Automatic policy application and change management - Acting on Change 2016
 
Reproducibile scientific workflows - Acting on Change 2016
Reproducibile scientific workflows - Acting on Change 2016Reproducibile scientific workflows - Acting on Change 2016
Reproducibile scientific workflows - Acting on Change 2016
 
Pro-active solutions for higher reproducibility of scientific experiments - A...
Pro-active solutions for higher reproducibility of scientific experiments - A...Pro-active solutions for higher reproducibility of scientific experiments - A...
Pro-active solutions for higher reproducibility of scientific experiments - A...
 
PERICLES Policy management & ontology supported preservation - Acting on Chan...
PERICLES Policy management & ontology supported preservation - Acting on Chan...PERICLES Policy management & ontology supported preservation - Acting on Chan...
PERICLES Policy management & ontology supported preservation - Acting on Chan...
 
PERICLES Modelling Policies - Acting on Change 2016
PERICLES Modelling Policies - Acting on Change 2016PERICLES Modelling Policies - Acting on Change 2016
PERICLES Modelling Policies - Acting on Change 2016
 
PERICLES Ecosystem Modelling (NCDD use case) - Acting on Change 2016
PERICLES Ecosystem Modelling (NCDD use case) - Acting on Change 2016PERICLES Ecosystem Modelling (NCDD use case) - Acting on Change 2016
PERICLES Ecosystem Modelling (NCDD use case) - Acting on Change 2016
 
PERICLES Process Compiler - ‘Eye of the Storm: Preserving Digital Content in ...
PERICLES Process Compiler - ‘Eye of the Storm: Preserving Digital Content in ...PERICLES Process Compiler - ‘Eye of the Storm: Preserving Digital Content in ...
PERICLES Process Compiler - ‘Eye of the Storm: Preserving Digital Content in ...
 

Kürzlich hochgeladen

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 

Kürzlich hochgeladen (20)

Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 

The PeriCAT Framework

  • 1. GRANT AGREEMENT: 601138 | SCHEME FP7 ICT 2011.4.3 Promoting and Enhancing Reuse of Information throughout the Content Lifecycle taking account of Evolving Semantics [Digital Preservation] “This project has received funding from the European Union’s Seventh Framework Programme for research, technological development and demonstration under grant agreement no601138”. The PeriCAT Framework Anna-Grit Eggers (University of Goettingen)
  • 3.
  • 4. • PeriCAT - The PERICLES Content Aggregation Tool - is a framework for Information Encapsulation techniques. • It integrates a set of information encapsulation techniques from various domains, which can be used from within the framework. • It provides a mechanism to capture the scenario of the user, and to suggest the best fitting information encapsulation technique for a given scenario. About https://github.com/pericles-project/PeriCAT
  • 5. • PeriCAT is an Java application which runs on Linux, OS X and Windows systems. • It requires a Java 7 installation. • The tool itself needs no installation. • Just download the .jar file and execute it with your operating system specific method (Windows: double-click, Linux/OS X: java -jar PeriCAT.jar). Installation
  • 7. • The PERICLES tools PET and PeriCAT can be used together in a Sheer Curation scenario. Sheer Curation • Sheer Curation means to start curation activities at the environment in which digital objects are created and altered. • The PERICLES Extraction Tool PET can be used to extract information significant for long term preservation and object re-use from this creation context. • The extracted information can be encapsulated together with the related digital object, to ensure that it will be available after the object leaves the creation environment.
  • 8. Example: the PERICLES sheer curation scenario. The PERICLES Extraction Tool (PET) monitors the environment and reacts to changes in this environment. It extracts this information, and temporarily stores it locally. The extracted information is then appraised by the person creating and altering digital objects. The appraisal allows for intervention and filtering of problematic information, such as private or confidential information, not to be encapsulated.
  • 10. • Start the tool. You will see three main tabs. • Open the information encapsulation tab. • Decide which are the carrier and which are the payload files; In most cases the carrier consists of the “DO” files, and the payload encompasses all metadata. Add the files to the tool. User guide – get started
  • 11. User guide – create scenario 1. Switch to the scenario tab. Using the scenario tab is optional and can be skipped, if you know which algorithm you want to use. 2. Create a new profile. Enter a profile name and add a meaningful description. 3. Complete the user scenario questionnaire. 4. Exclude criteria which are not relevant for your scenario. 5. Adjust the sliders to weigh the criteria. 6. Save your scenario. 7. Investigate the high score, especially the IE techniques with the lowest distance to your scenario. 8. Choose one of the suggested techniques, and click the “use this technique” button.
  • 12. User guide – select algorithm 9. Your chosen IE technique is preselected. If it is displayed in red, it can’t be used for the dataset. Consider to choose another algorithm. 10.If the IE technique has configuration options, a configuration interface will be shown. Configure the algorithm, if necessary. 11.Be sure that the encapsulation option “Use selected algorithm” is selected. 12.Press the encapsulate button. The results will be shown in an output panel at the bottom of the encapsulation tab.
  • 13. User guide - decapsulation 13. For decapsulation switch to the decapsulation tab. 14. Your encapsulated information are shown here as option to be decapsulated. (If the tool was closed, you have to add the file manually with the add button.) Select them. 15. Select the algorithm, which you used for encapsulation. This will save a lot of time, which the tool would need to guess the used algorithm. 16. Press the decapsulation button. The original files should be shown at the output panel of the Decapsulation tab. 17. Select one of the output files, to get some further information. 18. Close the tool. Done!
  • 15. • PeriCAT can be integrated into other tools and used via its API, which is accessible through the PeriCAT class. • Alternatively PeriCAT’s API can be called via command line parameters. The PeriCAT API • The API provides: •access to the IE algorithms with PeriCAT.ALGORITHM_NAME; •a method to encapsulate a carrier and a list of payload files with a specific algorithm; •a method to encapsulate a carrier and a list of payload files with the best fitting algorithm for a scenario - the scenario is passed as configuration file, which can be created by PeriCAT beforehand; •a method to decapsulate encapsulated files with a specific algorithm; •a method to decapsulate encapsulated files without the knowledge about the used algorithm - in this case the used algorithm will be guessed, which needs time for the calculations.
  • 17. • PeriCAT is developed using Eclipse. • We used the m2e Eclipse plugin for maven integration • and EGit for git integration. • To set up the project in Eclipse you will need a Java 7 installation, or higher. Setting up an Eclipse project
  • 18. • Following source code packages with corresponding test sources to be found at src/test/java: • main: contains the main class, which handles also command line start parameters, furthermore classes for configuration, logging, the API for the integration into external tools (PeriCAT class), and finally the PET-Adapter. • model: contains basic data structures for data sets and the user scenario and classes to construct the bytestream of a payload sequence, including restoration metadata. • view: contains all the graphical user interface classes. The GUI class refers to three GUITabs, which contain different GUIPanels. • controller: contains the main controller of the application, the “PeriCATController” together with its builder which is called once at tool start. The other controlling classes (except decision mechanism) take care of more specific controlling tasks, e.g. handling of load and save, encapsulation, decapsulation etc. • decisionMechanism: contains all controlling classes for the decision mechanism. • algorithm: contains a wrapper class for each integrated IE technique. The package structure
  • 19. • How to integrate new IE techniques into the tool? • Navigate to the algorithm package • Create a new class for your algorithm which extends the AbstractAlgorithm class. • Let Eclipse add all unimplemented methods automatically. The other algorithm classes can be used as implementation examples of these methods. Integrating new techniques
  • 20. Encapsulate: • This method gets a list of carrier and payload files and returns mostly one file which is the encapsulated file. The method can return more than one file, if necessary, but this is not common. • Some algorithms, mostly packaging techniques, will handle carrier and payload files as equal. • The distinction is for embedding algorithms which need to handle carrier and payload in a different way. • The algorithm can use a model.PayloadSegment to store the payload together with restoration metadata in a well defined way. Algorithm classes
  • 21. Restore: • This method gets one encapsulated file and returns the restored original files, as far as practicable. • Some algorithms are only able to restore carrier or payload file. • Compare the model.RestoredFile class. It contains information from the restoration metadata which are provided to the user. • There is an option for adding a note for the user, e.g. to explain why one of the files can’t be restored. • A lot of information that has to be stored in the RestoredFile can be received from the model.PayloadSegment’s restoration metadata, if the algorithm has used this class. Algorithm classes (2)
  • 22. getName: • This method returns a name string for the algorithm for the graphical user interface. getDescription: • This method returns a description string for the algorithm for the graphical user interface. Don’t skimp on explanations! defineScenario: • This method defines an ideal use scenario in which the algorithm should be used (part of the decision mechanism). It suggests an algorithm based on a user scenario. •Create a Scenario at the method with a name sting like “my algorithm scenario” •check with the model.Criterion class to see a list of currently 11 criteria which have to be defined for a algorithm scenario •use scenario.setCriterionValue (CRITERION, YES/NO); for each of the listed criteria to characterise a algorithm •return the scenario Algorithm classes (3)
  • 23. configureCarrierFileFilter/configurePayloadFileFilter/configureDecapsulationFile Filter: • We use the apache commons SuffixFileFilter to define which file types are allowed as carrier files, payload files, or as input for the decapsulation. • The file filters are used automatically before encapsulation or decapsulation. fulfilledTechnicalCriteria: • This method is called automatically similar to the file filters before encapsulation. • Any technical constraints for encapsulation for the carrier and payload files can be defined here, e.g. if the payload size fulfils the constraints to use the algorithm. • Algorithms for which the user’s data set can’t fulfil the technical criteria or the file type check are displayed as red at the graphical user interface. • In parallel to your algorithm class, create a unit test class at src/test/java/algorithm. This is highly recommended. Algorithm classes (4)
  • 24. • The maven pom.xml file can be used to add external sources to the project, if these sources use maven. • If you want to add external sources which are not using maven, create a directory at the ExternalTools directory and copy the sources there. • Once the algorithm is finished open the main.Configuration class • Add your algorithm to the list of available algorithms at the getAlgorithms() method. • This is also the place where you can comment out techniques, which you want to exclude from your PeriCAT instance. Algorithm classes (5)
  • 25. Integrating new decision criteria • Use your new criterion at the ideal scenarios of the algorithms. This has to be done manually for all algorithms. The default weighting value of a criterion is 50 (middle), if it is not set for a scenario. • If the number of integrated algorithms increases, the necessity to distinguish between the algorithm characteristics becomes more urgent to refine the decision mechanism. • The introduction of new decision criteria is quite easy. • Open the model.Criterion class: Add a static string to the top of this class which identifies your algorithm, similar to the existing ones • Open the model.Scenario class: Create a new Criterion at the Scenario constructor using the ID which you defined at the Criterion class, similar to the existing criteria. The description is used as tool tip at the graphical user interface. • Add your criterion at the bottom of the constructor with addCriterion(criterion);