Jozef Stefan Institute Program Generators and Control System Software Development Klemen Žagar Anže.

Slides:



Advertisements
Similar presentations
XML-XSL Introduction SHIJU RAJAN SHIJU RAJAN Outline Brief Overview Brief Overview What is XML? What is XML? Well Formed XML Well Formed XML Tag Name.
Advertisements

Inside an XSLT Processor Michael Kay, ICL 19 May 2000.
XML-based Network Management Rob Enns
XML: Extensible Markup Language
Jožef Stefan Institute Cosylab Developments by Mark Plesko.
XML & Data Structures for the Internet Yingcai Xiao.
DSLs: The Good, the Bad, and the Ugly Kathleen Fisher AT&T Labs Research.
XML Parsing Using Java APIs AIP Independence project Fall 2010.
XML Extensible Markup Language Standard supported by W3C (World Wide Web Consortium) HTML – End user oriented (presentation) XML – Application oriented.
ModelicaXML A Modelica XML representation with Applications Adrian Pop, Peter Fritzson Programming Environments Laboratory Linköping University.
XML Prashant Karmarkar Brendan Nolan Alexander Roda.
Modeling: where to start A state of the art and other amenities M. Risoldi - Oct. 11, 2005 A state of the art and other amenities M. Risoldi - Oct. 11,
Implementation of One Stop Search by XSLT By Dave Low University of Hong Kong 9-Dec-2003.
Outline Chapter 1 Hardware, Software, Programming, Web surfing, … Chapter Goals –Describe the layers of a computer system –Describe the concept.
Framework for Model Creation and Generation of Representations DDI Lifecycle Moving Forward.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
By: Shawn Li. OUTLINE XML Definition HTML vs. XML Advantage of XML Facts Utilization SAX Definition DOM Definition History Comparison between SAX and.
XML Fundementals XML vs.. HTML XML vs.. HTML XML Document (elements vs. attributes) XML Document (elements vs. attributes) XML and RDBMS XML and RDBMS.
Sheet 1XML Technology in E-Commerce 2001Lecture 6 XML Technology in E-Commerce Lecture 6 XPointer, XSLT.
Chapter 16 The World Wide Web. 2 The Web An infrastructure of information combined and the network software used to access it Web page A document that.
Introduction to XML cs3505. References –I got most of this presentation from this site –O’reilly tutorials.
XML – Extensible Markup Language XML eXtensible – add to language. Markup – delimit info using tags. Language – a way to express info.
Scientific Markup Languages Birds of a Feather A 10-Minute Introduction to XML Timothy W. Cole Mathematics Librarian & Professor of.
1 XML at a neighborhood university near you Innovation 2005 September 16, 2005 Kwok-Bun Yue University of Houston-Clear Lake.
XML and its applications: 4. Processing XML using PHP.
Introduction technology XSL. 04/11/2005 Script of the presentation Introduction the XSL The XSL standard Tools for edition of codes XSL Necessary resources.
Introduction to XSLT By Ed Rosenthal And Dave Pion.
XML eXtensible Markup Language w3c standard Why? Store and transport data Easy data exchange Create more languages WSDL (Web Service Description Language)
Introduction to XML Eugenia Fernandez IUPUI. What is XML? From the World Wide Web Consortium (W3C) The Extensible Markup Language (XML) is the universal.
Another PillowTalk Presentation  2004 Dynamic Systems, Inc. Introduction to XML for SOA Lee H. Burstein,
XML Overview. Chapter 8 © 2011 Pearson Education 2 Extensible Markup Language (XML) A text-based markup language (like HTML) A text-based markup language.
Sheet 1XML Technology in E-Commerce 2001Lecture 7 XML Technology in E-Commerce Lecture 7 XSL Formatting Objects, Java Data Binding.
Intro. to XML & XML DB Bun Yue Professor, CS/CIS UHCL.
Electronic Commerce COMP3210 Session 4: Designing, Building and Evaluating e-Commerce Initiatives – Part II Dr. Paul Walcott Department of Computer Science,
JSTL, XML and XSLT An introduction to JSP Standard Tag Library and XML/XSLT transformation for Web layout.
The Information School at the University of Washington INFO 440: Information System Design Fall 2003 * Bob Boiko * MSIM Associate Chair XML Transforms.
Presentation Topic: XML and ASP Presented by Yanzhi Zhang.
March 28, 2001XSP Session O’Reilly Enterprise Java Conference 1 XSP Session Sue Spielman President/Consulting Engineer President/Consulting Engineer
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Overview of XSL. 2 Outline We will use Roger Costello’s tutorial The purpose of this presentation is  To give a quick overview of XSL  To describe.
Jennifer Widom XML Data Introduction, Well-formed XML.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 1COMP9321, 15s2, Week.
Web Technologies Lecture 4 XML and XHTML. XML Extensible Markup Language Set of rules for encoding a document in a format readable – By humans, and –
Dom and XSLT Dom – document object model DOM – collection of nodes in a tree.
1 Introduction JAXP. Objectives  XML Parser  Parsing and Parsers  JAXP interfaces  Workshops 2.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
©Silberschatz, Korth and Sudarshan10.1Database System Concepts W3C - The World Wide Web Consortium W3C - The World Wide Web Consortium.
Martin Kruliš by Martin Kruliš (v1.1)1.
Cocoon An XML Web Publishing Framework From the Apache Project Roland Schweitzer.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 7 Representing Web Data:
1 Model Driven Health Tools Design and Implementation of CDA Templates Dave Carlson Contractor to CHIO
Rendering XML Documents ©NIITeXtensible Markup Language/Lesson 5/Slide 1 of 46 Objectives In this session, you will learn to: * Define rendering * Identify.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
Lecture Transforming Data: Using Apache Xalan to apply XSLT transformations Marc Dumontier Blueprint Initiative Samuel Lunenfeld Research Institute.
I Copyright © 2004, Oracle. All rights reserved. Introduction.
Unit 4 Representing Web Data: XML
October 19th 2016 Meeting Minutes.
XML in Web Technologies
Microsoft Office Illustrated
Database Processing with XML
Chapter 7 Representing Web Data: XML
XML Data Introduction, Well-formed XML.
More Sample XML By Sadia Anjum.
XML Problems and Solutions
An Introduction to Software Architecture
Querying XML XSLT.
XML and its applications: 4. Processing XML using PHP
Extensible Markup Language (XML)
Presentation transcript:

Jozef Stefan Institute Program Generators and Control System Software Development Klemen Žagar Anže Vodovnik Jozef Stefan Institute, Slovenia ( in cooperation with Cosylab Ltd., Slovenia (

Jozef Stefan Institute 2 Overview Why program generators? Describing what a control system is Describing how to build software for the control system Demos

Jozef Stefan Institute 3 What is a program generator? Generates source code –C++, Java, XML, XML schema (XSD, …), HTML Inputs: –Templates with placeholders –Values of placeholders Outputs –Useful code Comparison with Wizards: –Wizards offer interactive assistance to the developer –Not suitable for massive use –Allow abundant code customization

Jozef Stefan Institute 4 Need for program generators When there is a lot of repetitive code When there are many artifacts that need to be kept in-sync: –Device driver code –Networking protocol –Configuration database schema –GUI Many rules to follow during coding Errare humanorum est

Jozef Stefan Institute 5 How program generators work?

Jozef Stefan Institute 6 Describing what to build? Control System Modeling Language (CSML) (work in progress) Use of standard CASE tools Notation language (UML diagrams + XML representation) –Properties of entities –Relationships –Documentation Defining entities in a control system –Devices –Properties –Operations –Events –Characteristics

Jozef Stefan Institute 7 A Property An observable in a control system Temperature Electric current Data and behavior: Characteristics Events Operations Interfaces vs. classes

Jozef Stefan Institute 8 A Device Models a physical device –Power supplies –Antennas –Motors –Vacuum gauge May contain other devices May contain properties

Jozef Stefan Institute 9 Behavior: A State Machine

Jozef Stefan Institute 10 XML Extensible Markup Language –World Wide Web Consortium Standard XML representation of CSML model: –Physical representation of the model –CASE-tool neutral –Easy to manipulate using widely-available XML tools (parsers) Extensible Style-sheet Language Transformations –Standard way to transform XML into another XML or text –XSL/T files are hard to maintain

Jozef Stefan Institute 11 How to build? Software architects: –Decide on technology –Prescribe design patterns –Define classes and their relationships Programmers: –Translate the description of the system into source code using architect’s instructions –In cases of high simplicity and repetition, programmers just apply templates

Jozef Stefan Institute 12 Extensible Program Generator Language (XPGL) Developed at IJS and Cosylab –Not a standard (yet ) –Open for influence Reuses open standards wherever possible –XSL/T expressions and tag names, XPath, … –Generates code from XML documents (DOM)

Jozef Stefan Institute 13 What is XPGL? XPGL is not an instance of XML –In XPGL, white spaces are important –Unnecessary verbosity of XML –Custom parser and transformation tool was needed (ProgGen) –Only one configurable escape character XPGL simplifies frequently used constructs of XSL XPGL allows for several named output streams XPGL pays a lot of attention to spaces, so that the output can be neatly indented XPGL has provisions for preserving the output manually inserted by the programmer.

Jozef Stefan Institute 14 Example: our target class SomeClass { private int myVariable; public int getMyVariable() { return myVariable; } public void setMyVariable(int value) { myVariable = value; } };

Jozef Stefan Institute 15 Example: describing a class (XML)

Jozef Stefan Institute 16 Example: the template (XPGL) class { private ; public get () { return ; } public void set ( value) { = value; } };

Jozef Stefan Institute 17 Demos 1.Java accessor and mutator 2.Generating HTML 3.Complex example: A server (“Power Supply”) A GUI client C#

Jozef Stefan Institute 18 Conclusion The entire system is defined in one place –E.g., the CSML model or XML –Includes documentation Other artifacts are kept in-sync with it –All other artifacts are generated –Generators are adjustable Coding effort greatly reduced Less error prone

Jozef Stefan Institute 19 Any questions?