Programming HeuristicLab Basics A. Scheibenpflug Heuristic and Evolutionary Algorithms Laboratory (HEAL) School of Informatics/Communications/Media, Campus.

Slides:



Advertisements
Similar presentations
Lab 8 Ordered list. OVERVIEW In an ordered list the elements are maintained in ascending (or descending) order based on the data contained in the list.
Advertisements

Database Basics. What is Access? Database management system Computer-based equivalent of a manual database Makes it easy to organize and update information.
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Overview QW Gateway is a new front-end to QuipWare
Programming HeuristicLab A. Scheibenpflug Heuristic and Evolutionary Algorithms Laboratory (HEAL) School of Informatics/Communications/Media, Campus Hagenberg.
Chapter 12 Creating and Using Templates. If you have already created and designed a page you like, you can use the layout and design for other pages in.
GruntJS The JavaScript Task Runner. What is Grunt? A build tool for JavaScript Uses Node to run A Gruntfile is actually just a JavaScript file Therefore,
Basic Input Output System
Chapter 9 Chapter 9: Managing Groups, Folders, Files, and Object Security.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 7: Advanced File System Management.
C++ data types. Structs vs. Classes C++ Classes.
Collection Management DigiTool Version 3.0. Collection Management 2 Deposit Approval Search & Index Dispatcher & Viewers Single & Bulk Web Services DigiTool.
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
1 Chapter 2 Reviewing Tables and Queries. 2 Chapter Objectives Identify the steps required to develop an Access application Specify the characteristics.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 7: Advanced File System Management.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Mark Hartnett Software Support Engineer December 7, 2001 Introduction to Analysis and Feature Extraction Software.
© Copyright 2013 TONE SOFTWARE CORPORATION. Confidential and Proprietary. All rights reserved. ® Basic Administrator Training – Release Entities.
Agenda Overview 2.What is SharePoint? 3.NCDOT Websites 4.Roles 5.Search 6.SharePoint Interface.
Classes and objects Practice 2. Basic terms  Classifier is an element of the model, which specifies some general features for a set of objects. Features.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 7: Advanced File System Management.
Chapter 5 Java Script And Forms JavaScript, Third Edition.
GTECH 361 Lecture 13a Address Matching. Address Event Tables Any supported tabular format One field must specify an address The name of that field is.
Apps Meeting 2010 Travis Armstrong Cyle Nelson January 2010 Advanced C# Customization Training.
Developing Workflows with SharePoint Designer David Coe Application Development Consultant Microsoft Corporation.
VueCentric System Management Tool. RPMS-EHR Technical Overview VueCentric System Management Utility: Mary Hager RN, Medsphere Software Developer, Clinical.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 7: Advanced File System Management.
10-1 aslkjdhfalskhjfgalsdkfhalskdhjfglaskdhjflaskdhjfglaksjdhflakshflaksdhjfglaksjhflaksjhf.
Assemblies & Namespaces1. 2 Assemblies (1).NET applications are represented by an assembly An assembly is a collection of all software of which the application.
HeuristicLab. Motivation  less memory pressure no DOM single pass linear process  less developer effort no interfaces to implement  modularity & flexibility.
Chapter 8: Writing Graphical User Interfaces
XLS Sales Tools Rev 01 Sales Tools. XLS Sales Tools Rev 02 Two New Tools  XLS System Builder Flash application embedded in PowerPoint to quickly size.
1 CIS336 Website design, implementation and management (also Semester 2 of CIS219, CIS221 and IT226) Lecture 6 XSLT (Based on Møller and Schwartzbach,
Processing of structured documents Spring 2002, Part 2 Helena Ahonen-Myka.
JQuery UI. Slide 2 Introduction From the jQuery UI Home Page jQuery UI is a curated set of user interface interactions, effects, widgets, and themes built.
Ray Konopka Developing Custom.NET Component Designers DevCon Course No: 4106.
RMS Importer Status MACS Week March 2011 PP b-ABR_RMSImporterStatus Angela Brett RMS Importer Status 1.
1 Chapter Overview Publishing Resources in Active Directory Service Redirecting Folders Using Group Policies Deploying Applications Using Group Policies.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL.Net Assignments K. R. C. Wijesinghe Trainer Virtusa Corporation.
System.Security.Policy namespace Chinmay Lokesh.NET Security CS 795 Summer 2010.
Reformatted slides from the textbook, C++ How to Program, 6/e Pearson Education, Inc. All rights reserved Chapter 3. [Lecture 02] Introduction to.
FIX Eye FIX Eye Getting started: The guide EPAM Systems B2BITS.
Lecture 19 Serialization Richard Gesick. Serialization Sometimes it is easier to read or write entire objects than to read and write individual fields.
RPMS - EHR v1.1 Techie Class Really Powerful at Measuring Stuff.
Chapter 14 Abstract Classes and Interfaces. Abstract Classes An abstract class extracts common features and functionality of a family of objects An abstract.
Class Builder Tutorial Presented By- Amit Singh & Sylendra Prasad.
CD Web XMS Training How to use the Xeno Media web site content management system.
Programming HeuristicLab Basics A. Scheibenpflug Heuristic and Evolutionary Algorithms Laboratory (HEAL) School of Informatics/Communications/Media, Campus.
Week 4 Objectives Overview of Group Policy Group Policy Processing Implementing a Central Store for Administrative Templates.
JAVA BEANS JSP - Standard Tag Library (JSTL) JAVA Enterprise Edition.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
 Pages within our Framework  Categories within Framework  Products within Framework  Model-View-Controller description of Page, category and products.
Copyright © GENIVI Alliance 2015
HeuristicLab 3.0 Overview. Motivation genericity – no focus on any particular heuristic optimization paradigm – suitable for any kind of algorithm – suitable.
Programming HeuristicLab Basics A. Scheibenpflug Heuristic and Evolutionary Algorithms Laboratory (HEAL) School of Informatics/Communications/Media, Campus.
Introduction to Collections. Collections Collections provide a way of organizing related data in a model Different types of collections have different.
Prof. amr Goneid, AUC1 CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++ Prof. Amr Goneid AUC Part 15. Dictionaries (1): A Key Table Class.
Programming HeuristicLab A. Scheibenpflug Heuristic and Evolutionary Algorithms Laboratory (HEAL) School of Informatics/Communications/Media, Campus Hagenberg.
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Web Parts Overview Web parts in SharePoint 2007 “Hello World” web part Typical deployment.
© 2010 Delmar, Cengage Learning Chapter 11 Creating and Using Templates.
THE EYESWEB PLATFORM - GDE The EyesWeb XMI multimodal platform GDE 5 March 2015.
ContentXXL – Sharepoint Connector (STP). contentXXL Sharepoint Offline-Connector (STP) 1.Overview 2.Configuration 3.How it is implemented 4. Limitations.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
SEAMCAT’s propagation model plugin Karl Koch, BNetzA, CEPT SEAMCAT Workshop Copenhagen,
Troubleshooting Directories and Files Debugging
3D Slicer module programming
University Of Karachi Department Of Computer Science
Chapter 2: System Structures
C++ data types.
Presentation transcript:

Programming HeuristicLab Basics A. Scheibenpflug Heuristic and Evolutionary Algorithms Laboratory (HEAL) School of Informatics/Communications/Media, Campus Hagenberg University of Applied Sciences Upper Austria

Overview Plugins Deep Cloning HL Object Model Persistence Items HL Data Types HL Collections Content and Views ViewHost Programming HeuristicLabhttp://dev.heuristiclab.com2

Where are we? Programming HeuristicLabhttp://dev.heuristiclab.com3

Plugins Every plugin needs to contain a class that inherits PluginBase If an assembly contains such a class, it is a plugin and loaded by HeuristicLab Programming HeuristicLabhttp://dev.heuristiclab.com4

Plugins PluginDependency must reflect references PluginInfrastructure does not have to be included as it is always needed We normally use SubWCRev for version information Programming HeuristicLabhttp://dev.heuristiclab.com5

Some additional remarks Plugins are signed with the HeuristicLab key Every plugin builds to sources\bin (output path of project should be “..\..\bin\“ for all configurations adhering to standard HL folder structure) Default namespace and assembly name should/must match plugin description There should be x86, x64, Any CPU Debug and Release configurations “Copy Local“ should be false for all Project/File references Programming HeuristicLabhttp://dev.heuristiclab.com6

HL Object Model Programming HeuristicLabhttp://dev.heuristiclab.com7

Deep Cloning Objects in HeuristicLab that store data and may be displayed in views/collection views should be deep cloneable UI allows “copying” of these objects Inherit from either IDeepCloneable or Item Implement interface and cloning constructor Actual cloning happens in the cloning constructor Programming HeuristicLabhttp://dev.heuristiclab.com8

Deep Cloning Programming HeuristicLabhttp://dev.heuristiclab.com9 Item implements IDeepCloneable Call Cloning-Constructor which implements the cloning

Persistence HL provides it‘s own serialization mechanism A class that should be serializable has to be marked with the [StorableClass] attribute Properties that should be serialized have to be marked with the [Storable] attribute StorableConstructor has to be implemented Optional: Define Hooks with attribute [StorableHook] to react on loading/saving events Implement IStorableContent to signal that this is a root object Programming HeuristicLabhttp://dev.heuristiclab.com10

Persistence Programming HeuristicLabhttp://dev.heuristiclab.com11 Properties that should be stored in a file have to be marked with [Storable] Mandatory storable constructor. Used by the persistence when deserializing.

Items Items have – A name – A description – An icon – ToStringChanged and ItemImageChanged events All Items are DeepCloneables and Storable Most Items are marked as IContent to allow displaying in views Use [Item] attribute to set name and description Programming HeuristicLabhttp://dev.heuristiclab.com12

Items Programming HeuristicLabhttp://dev.heuristiclab.com13

HL Data Types Located in HeuristicLab.Data (and corresponding views in Data.Views) Wrap standard.NET data types and provide functionality necessary for UIs: – ValueChanged Event – Parsing of strings – Validation DataTypes include – IntValue, DoubleValue, PercentValue, StringValue,… – Ranges, Arrays, Matrices Programming HeuristicLabhttp://dev.heuristiclab.com14

Collections Located in HeuristicLab.Collections/Core (and Core.Views for the corresponding views) Same as with data types, provide UI friendly wrappers for.NET collections (e.g. additional events) There are Lists, Arrays, Sets, Dictionaries and read-only collections Most are designed for Items Programming HeuristicLabhttp://dev.heuristiclab.com15

Content and Views HL provides views for all data types, collections and much more (including input validation and updates) Views display (and manipulate) Content Use [Content] attribute to define the type of Content a view can display Inherit UserControl from AsynchronousContentView or ItemView Content is set by HeuristicLab or manually React on events (e.g. OnContentChanged, (De)RegisterContentEvents, …) Programming HeuristicLabhttp://dev.heuristiclab.com16

Content and Views Programming HeuristicLabhttp://dev.heuristiclab.com17 Defines what Content can be displayed with this view

Displaying Content Manually: – Log log = new Log(); – LogView logview = new LogView(); – logview.Content = log; In an own tab using discovery: – MainFormManager.MainForm.ShowContent(log); Using a ViewHost Programming HeuristicLabhttp://dev.heuristiclab.com18

ViewHost ViewHost is a special ContentView that changes it‘s appearance based on the type of Content [Content] attribute marks a view for a certain content type ViewHost looks up the view based on the Content type and uses it to display the Content Useful for views that can contain different Content types or collection views Programming HeuristicLabhttp://dev.heuristiclab.com19

Useful Links Programming HeuristicLabhttp://dev.heuristiclab.com