12.07.2015 Views

The Computational Materials Repository

The Computational Materials Repository

The Computational Materials Repository

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

68 <strong>Computational</strong> <strong>Materials</strong> <strong>Repository</strong>views or customized tables. Since users don’t have write access to the databasethey can generally not run agents. However some of the agents don’t write tothe database and these can be used by the user.Purpose: Agents are used to execute heavy database operations and cache datafor the user interfaces. <strong>The</strong>y can also be used to create customized views or toupdate a customized database schema.Usage: <strong>The</strong> agents are executed periodically on the server. <strong>The</strong> frequency isdefined by the developer of the agent. All registered agents (registered as aplug-in) are executed periodically. By default two agents are enabled: the firstone converts the atomic numbers in the database to atomic names. <strong>The</strong> secondagent creates a table that shows how often each keywords occurs and anothertable with the data items per user. <strong>The</strong>se tables are used by the PHPUI to avoidexecuting these expensive queries over and over.Usage Examples: How to use the GroupingAgent is shown in section 2.2Background: Software agents can be classified according to autonomy (actwithout human interaction), social ability (interaction with other agents), responsiveness(should perceive their environment and respond to changes) andproactiveness (take initiative to reach goals) (reviewed in [33]). <strong>The</strong> CMR agentsare currently only performing tasks autonomously and are therefore the simplestkind of agents. <strong>The</strong> interface however doesn’t prevent users from implementingsmarter agents.3.3.3.2 Db-files/cmr-files<strong>The</strong> db-files store the data of a single or multiple calculation, user-defined fieldsand keywords, and attached scripts and files. <strong>The</strong> content of db-files is welldefined: every type of calculator gets its own CMR schema (3.3.3.3) that definesexactly what fields are stored, their type and optionally the unit. Since thedata is stored in XML it is possible to validate the content against a XMLschema(3.3.3.3). It is possible to create new special CMR schemas for specificpurposes. For example one could create a schema for slab calculations thatwould ensure the user provides a field containing the number of layers and rejectthe db-file if it doesn’t.At the beginning we named the file(-format) db-files (database files). <strong>The</strong> choiceof the name is not very advantageous though because many other products usethe same name. <strong>The</strong>refore we are about to name them cmr-files.Purpose: Db-files were designed for data-exchange with third parties and forlong-term storage. <strong>The</strong> content can be verified against a schema. <strong>The</strong> content ofa db-file is as close as possible to the original file in terms of field names, typesand units so that people can recognize the data in the usual format.Usage Examples: Db-files are either created by converters (3.3.4.1), by agents(3.3.3.1) or by the PUI (3.3.1.2). <strong>The</strong> content of db-files can be viewed with theCLI (3.3.1.1) or with the PUI.Background on long-term storage: Storing data long-term means to be able toensure that the data remains readable. When we look at the data collected atCAMd/DTU, then the data that survived many years was most often stored

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!