MODELITH: A FRAMEWORK ENABLING TOOL-INDEPENDENT MODELLING AND SIMULATION

Size: px
Start display at page:

Download "MODELITH: A FRAMEWORK ENABLING TOOL-INDEPENDENT MODELLING AND SIMULATION"

Transcription

1 MODELITH: A FRAMEWORK ENABLING TOOL-INDEPENDENT MODELLING AND SIMULATION Jonas Larsson Björn Johansson Petter Krus Magnus Sethson Mechanical Engineering Systems Department of Mechanical Engineering Linköping University, Sweden jonla@ikpliuse KEYWORDS Differential-algebraic equations, Modelica, numerical solvers, code generators, object-oriented modelling ABSTRACT Several approaches exist for modelling of physical systems, often implemented in a modelling language Due to differences in modelling approaches, it is a complicated procedure to interchange information between different modelling languages, documents or applications This puts a constraint on what the users can do in terms of custom simulators and on what simulation tools they can combine In order to overcome this situation, a framework named Modelith is presented in this paper that defines the translation procedure from modelling language to executable model in a number of steps This enables the user to move from a tool-centric to a model-centric view where the models are independent of the simulation tools An implementation of the framework is presented using XML-based technologies for information management As an example, it is shown how this implementation can be used to translate a subset of the modelling language Modelica into components for the simulation tool Hopsan INTRODUCTION Today, mature languages exist for declaring simulation models of physical systems within the technical, biological and chemical domains Some of these languages are Modelica (Elmqvist et al 1999), Ascend (Piela et al 1991) and VHDL-AMS (IEEE 1999) Support for them is given by a number of tools for model creation, editing and numerical simulation The languages have become increasingly powerful with support for non-causal models, object-oriented concepts like inheritance and with possibilities to describe both continuous and discrete phenomena The increasing flora of languages and desires to interchange information between them might lead to drawbacks in the future engineering process Also the developers of the engineering tools can not possibly oversee and maintain language translators for every possible combination needed As a result, since most users do not have the knowledge nor resources for creating necessary translators, the tool providers dictate what can be done with models written in a certain language If it was easier to transform models into and out from a certain language, the following advantages would be reached The possibility to edit models using different levels of abstraction using custom editors To present models in several ways Some are suitable for experts and others for novice users Models can be translated into programming languages such as C and Java This gives the possibility eg to create code suitable for embedded systems and to create stand-alone simulators Since models can be translated into virtually any desired implementation language, they become portable The portability is necessary, since engineering work is becoming more of a co-operative task They need to be easy to adopt to new engineering tools Models will get easier to maintain for future use, even if a certain tool disappears from the market The models thereby become future proof With a proposed intermediate format the authors trie to solve some of these problems, both in terms of flexibility for future use, easy translator generation and fulfilment of the modelling and simulation requirements The XMLstandard has many of these properties and is also the focus of this paper The ideas are presented as a framework together with an implementation RELATED WORK A similar approach exists, called DS-Block (Otter and Elmqvist 1995), which is a low-level description of models that can contain both implicit and explicit models The difference between DS-Block and the proposed framework is that the DS-block model description is intended mainly as a general format to be accessed by numerical solvers, and not for generation of other model representations Modelling and simulation of the human body using XML as model carrier is done in (Ward et al 2001) and in the CellML language specified by the Bioengineering Institute at the University of Auckland Also concepts for modelling of chemical processes using XML are under progress; see (Murray-Rust et al 2001)

2 THE FRAMEWORK Two steps with clearly defined interfaces can describe the transformation from a declarative modelling language into an executable model: 1 Flattening of model into equations, variables etc and removing the hierarchy in the modelling description 2 Implementation of the equations into a computer language An intermediate model language is defined, as shown in Figure 1 Four types of transformers can be made; the two mentioned above for flattening and conversion/implementation of equations and two for translating languages into and from the intermediate language This makes it possible to combine transformers from different vendors into a chain of language transformers that builds up a language transformation Modelica Transformer Intermediate lang VHDL-AMS Transformer Object-oriented implicit Flattened implicit Flattened explicit Transformers Transformer Transformer The language should be be extendible so that the implementation suggested eg in this paper can be altered without too much work and with backward compatibility TECHNOLOGIES USED FOR THE IMPLEMENTATION The authors chose XML, a standard recommended by the World Wide Web Consortium (W3C), as a base for the intermediate language XML is a standard for representing relational data, and brings text documents to a higher level by introducing a hierarchy where each level contains an identifier, tag, and some text data XML is originally designed for exchange of data over the Internet, why many possibilities to transform XML data are available It is a mark-up language very much like HTML It is lightweight in comparison with eg STEP (ISO 10303) and it supports the definition of schemas (expresses the data model) for validation of the produced documents There exist a large variety of open-source and license-free tools for performing various operations on XML documents and the support for XML will be long lasting due to its fundamental nature This language supports, by itself, most of the demands mentioned above for the intermediate language To illustrate the most fundamental concept to mark up data using XML, the example below shows some XML data Two elements are there, Modelith and model, where model is contained in Modelith The model element has an attribute with the name name and value Spring This vocabulary is used later in the paper Standalone application Java Matlab/Simulink S-function <Modelith> <model name= Spring /> </Modelith> Figure 1 The Framework Consisting of an Intermediate Language and a Number of Transformers The later operations are easier to implement than the earlier ones in the chain To parse a language is not an easy task, even if there are tools providing support for that Often this part requires symbolic math operations To generate target language implementation is an easier task, especially when using XML as intermediate format This is also the most interesting operation for the end user of the implemented framework GENERAL CONSIDERATIONS FOR THE INTERMEDIATE LANGUAGE A number of requirements can be put on the intermediate language These have all been considered in the paper It should be straightforward to transform from and into it The most important features of modern modelling languages should be supported, such as Modelica, but not to such extent that the translation process becomes overly complex It must be easy to validate syntax and relations It should be expressive enough for the purpose of using it as a model repository Figure 2 XML Document Sample XSLT, a standard recommended by W3C, is a technology for transforming XML documents into any text format It does not demand much knowledge in programming but focuses on the transformation operation itself The authors have made use of XSLT to a large extent in the transformers described earlier In the flattening and export transformers, XSLT is the only tool needed These transformers are therefore especially easy to adopt and create for new purposes The operation of converting the equations into calculations is performed using a programming language; in this case Java for portability and for the close relation between Java and XML A symbolic math package is also needed to extend the capabilities of Java We have used one of the freely available ones, made by Thorsten Pawletta at the University of Wismar, Germany The Java program was implemented with functions for accessing XML documents through the Document Object Model, DOM, a standard recommended by W3C DOM is an application programming interface that is used to access XML documents from a programming language and navigate through the document in order to perform operations on the structure or content of the data Further was Xpath used, a standard also recommended by W3C, a query language for

3 XML Xpath was used to specify where to fetch data from the XML document and where to place new information The DOM API Xalan from The Apache Software Foundation, was used AN IMPLEMENTATION OF THE INTERMEDIATE LANGUAGE In XML, XML-Schema, a standard recommended by W3C, can be used to define what information should go in an XML document and how it should be structured to be correct We use it here to describe the different parts of the intermediate language implemented An XML document of the implemented intermediate language has a data structure as shown in Figure 3 It has a root element called Modelith Then, it has three classes, as they are called in Modelica; implemented by the elements type, model and connector directly under the root The names of the elements come from the Modelica language, which is the case for most of the Modelith language As in objectoriented languages, instances of these classes can be created The class is used as a kind of template optional changes_value element part of the uses element can eg be used to change the unit of a variable part of the base class Figure 5 One of the top elements, in this Case type Instances of the connector class are used as connection points for model instances It could eg be a resistor port or motor shaft A connector element contains a number of variables implemented by type_instance elements Each such element here has an extra attribute named prefix that tells whether the variable should be summed to zero or be set equal with respect to corresponding variables in all other connectors connected to If a resistor port was defined, the prefix attribute for the current variables would be set to flow and the variables be summed to zero in each crossing If the prefix attribute is missing all variables are assumed to be equal, having the same effort The model class, shown in Figure 6, is the central class in the language It can as the other classes make use of inheritance It is here that the three levels mentioned earlier; the implicit, flattened implicit and flattened explicit are defined Figure 3 The Top Element of the Intermediate Language Schema In Figure 3, squares indicate XML elements, rounded squares choices, sequences or groups and dashed lines indicate that the element is optional Plus signs indicate that some information in the figure is hidden The schema and the pictures have been created in XML Spy (Kirn 2002), which is a powerful editor for XML (wwwxmlspycom) The schema used by the authors is found at their URL, An XML document that is valid when compared to the schema above (ignoring hidden information in the schema) could be the following: <Modelith> <model/> <connector/> <type/> <model/> </Modelith> Figure 4 Modelith Document Sample The type class, implemented as in Figure 5, is the most fundamental one Type instances, implemented as type_instance elements, are used as variables, parameters and constants By itself the class specifies eg what unit the instances should use The type element has one optional element, as also the model and connector elements have The uses element there tells what class the current class, in this case type, uses as base for adding further information It is this element that makes it possible to inherit variables, connectors etc from other classes The Figure 6 The Central Class, model in which eg all Equations are Placed

4 Object-oriented implicit model The implicit part of a model, shown in Figure 6, contains a number of internal variables, parameters and constants as realised by type_instance elements with a prefix attribute telling which of the mentioned kinds is to be used The connector_instance elements define the connectors on the model that other models can connect to The model can contain instances of other models that can be connected together using connection elements Each of these makes a connection between two model instances by specifying which connector instances on them to connect Finally, the model can contain a number of equations The authors have chosen to use a subset of MathML, a standard recommended by W3C, for the equations, see Figure 7 The equations are then unfortunately not easy to read as pure strings, but are much easier to transform, and it can be used to produce typeset equations for documentation for MathML enabled browsers XSLT is not well suited for string manipulation, therefore it is better to have an XML representation of the equation This also gives the possibility to validate equations against the schema Usermade functions can be referred to here with any number of arguments A future extension of the schema would be to include algorithms so that these functions can be specified directly and thus not be external The MathML functions supported in this schema are plus, minus, times, divide and diff where diff is differentiation with respect to some variable specified in the bvar element, normally set to time To reference variables part of connector instances, the subscript notation of MathML is used, as can be seen in Appendix B and D connections have been transformed into equations using the causal information found in the connector classes At the end of the flattened part, the explicit part with its extra information can be added Figure 8 The Flattened Part of a Model The Elements have the Same Contents as in the Object-Oriented Part Explicit part of the flattened implicit model This part, shown in Figure 9, holds information that helps in simulating the flattened model All type instances of parameter and constant type are left in the implicit flattened part as well as all connector instances The rest of the type instances are here together with all found from expanding the connector instances The prefix attribute is set to input, output or nothing for all type_instance elements so that the output transformer knows how to define the interface to the model A prefix attribute set to nothing would mean that the variable is an internal one In this case, if the prefix attribute in a type_instance in a connector element referred to by an expanded connector_instance element has the value flow, the prefix attribute in the corresponding type_instance element in the explicit part is set to output and vice versa An extra attribute named connector_instance tells whether the type instance comes from an expanded connector instance and if so, from which one Figure 7 The Content of Equations and Jacobian Elements, ie MathML Expressions Flattened implicit model This part, shown in Figure 8, contains a number of type instances, optionally connector instances and finally equations The elements are equal to the ones found in the object-oriented part of the model The difference is that all elements from inherited models have been added and that Figure 9 The Explicit Part of a Model

5 In simulation, the variables need to be calculated The equation system formed by the equations then needs to be solvable Therefore, the MathML diff function is here replaced with a time discrete expression In this implementation, the authors have chosen to insert new type instances with names that are formed from the arguments to the diff functions Each new type instance generates an equation where a time discrete expression is stated In Equation (1) below, the variable x is calculated using the trapezoidal rule There, h is most recent simulation time step, delay is a function that delays the second argument the time specified by the first and der_x is the new variable that is the time derivative of x (der _ x + delay(h, der _ x)) x = delay(h, x) + h (1) 2 The other way would be to use the bilinear transform, as is done in (Krus 1996) This however demands the usage of more powerful symbolic math operations that can be performed for example by using the symbolic math package Mathematica (Wolfram 1999) Since, in the general case, the equation system could be non-linear, a Jacobian is also formed so that the Newton- Raphson solve method can be used The Jacobian is defined for the left-hand side of the equations and therefore all equations from the flattened implicit part are copied to the explicit part and transformed so that the right hand side is zero The Jacobian has a number of rows and each row has an element element Each element contains a MathML expression that is the derivative of the equation referred to by the row number and with respect to a certain variable The variable in question is from the list of type_instance element in the explicit part with the prefix attribute set to output or nothing, at the position determined by the position of the element in the current row of the Jacobian IMPLEMENTATION OF THE TRANSFORMERS Input transformer As an example modelling language to translate, the authors chose Modelica since it is widespread and is one of the most complete languages available A Modelica parser was created as well as a tree builder that outputs an XML file The free parser generator JavaCC (Microsystems 1998) was used A parser, explained in (Levine et al 1992), finds certain units of information in its input These units are specified in a grammar The unit left_bracket_key eg, found there, is the character ( As an example, the Modelica input shown below is transformed into the following XML information model a end a; <Modelica> <model_definition> <class_definition> <model_key/> <IDENT>a</IDENT> <class_specifier> <end_key/> <IDENT>a</IDENT> </class_specifier> </class_definition> <semi_colon_key/> </model_definition> </Modelica> Figure 10 The XML-Transformed Modelica Document The shown XML file can then be transformed into the Modelith language using eg XSLT Flattening This operation is performed in several steps, each with an XSLT file as input specifying how the incremental transformation is to be performed The user specifies a model to flatten The inheritance in all classes is substituted so that the classes are complete by themselves and do not reference anything outside the class The flattened part also contains all equations that have been collected from inherited models as well as the current model If a model that is inherited contains connections, these are transformed into equations in a way that is determined by the type of variables part of the connectors, as explained earlier The name of a variable in an equation is determined from where in the hierarchy a model resides with respect to the toplevel model in order to avoid name conflicts Compare this to the variable naming conventions found in C++ or Java From equations to calculations The connector instances in the flattened model are expanded so that a number of variables can be extracted The generated type_instance elements contain an extra attribute called connector_instance that tells which connector instance in the model they belong to The equations of the flattened model are first brought to the input format of the symbolic math package using XSLT Then, all terms on the right hand side of each equation are moved to the left side and the right hand side is set to zero to be able to differentiate and establish the Jacobian All differentiation functions are replaced by new type instances and each new type instance generates a new equation with a time discrete expression that calculates an approximation of the derivative The equations as well as new type instances are added to the explicit part of the document Now, each element in the Jacobian is calculated The expression to be differentiated is sent to the symbolic math package together with the name on the variable to differentiate with respect to An equation is returned with the differentiated expression, which is transformed to MathML and added to the explicit part Output transformer Here, we focus on the creation of simulation models rather than creation of stand-alone simulators, applications or graphical and textual presentations A simulation model that makes use of the solver in the tool exported to is here called continuous The other type of model that could be output is the one that includes its own solver, here called a discrete model Both can be created from the information part of the explicit model, at least if

6 the derivatives are expressed explicitly, otherwise only the discrete model can be created Output transformers have been implemented and tried for Mathwork s tool Matlab/Simulink (both continuous and discrete S-functions) in (Johansson et al 2002) and for the free simulation package Hopsan (Larsson et al 1998) as shown in the next chapter Hopsan is developed at the division of Mechanical Engineering Systems and is mainly intended for mechatronic systems AN EXAMPLE The mass and spring system shown in Figure 11 is used as an example in the following text The Modelica code is found in Appendix A The example is a mass and a spring The connector instances of the Modelica component are n1 and n2, k is the spring stiffness and endpos the position of the mass where the spring starts to act n1 n2 endpos Figure 11 The Example Model The connector instances define the interface to the outer world Normally, forces and velocities would be the variables to solve for numerically In this example however, the component is to be used in the simulation tool Hopsan Hopsan makes use of bilateral delay lines, described by (Auslander 1968) and (Johns and O Brien 1980) where it is referred to as Transmission Line Modelling (TLM) This is used to numerically integrate a system of ordinary differential equations The connector MechanicQNode therefore contains two extra variables that have the prefixes set to wave and impedance, a small extension to the Modelica language The model TwoFlange also contains one equation for each connector instance that calculates the force acting on the mass using the wave and the impedance given from external components in Hopsan The model TransMass inherits TwoFlange and adds an equation for the mass inertia and the force from the spring After running the Modelica code through the input transformer, the code in Appendix B is produced This file is considerably longer, but also tagged with its information type Maybe most notably, the equations are now in MathML form After having flattened the model TransMass, the code found in Appendix C is added to TransMass model in Appendix B This part of the model now contains all elements found in TwoFlange and TransMass, eg connector- and type instances as well as equations The file in Appendix C can now be used to extract extra information that is added as a new element with name explicit in the flattened part, shown in Appendix D This contains all type instances that are variables from the flattened part as well as two new ones with name der_n2_x and der_n2_sx These are approximate k derivatives of the variable x of connector instance n2 and variable sx of connector instance n2 respectively They are part of two new equations that have been added as well As can be seen, the equations are now in a form where the right hand side is equal to zero A Jacobian can now easily be established From the information found in the complete Modelith file, any type of output can now be created in the general case It can be a Modelica file, a Matlab/Simulink continuous/discrete S-function, HOPSAN or something else In this example, the output is a kind of discrete component since the numerical integration is taken care of by the component itself The output transformer is in the form of one XSLT file of about 350 lines of code Half of this file deals with transforming the MathML equations into appropriate FORTRAN code and the other half is the supporting parts of the FORTRAN subroutine Position (n2x) [m] Time [s] Figure 12 Simulation Results from Hopsan When running the generated component in a Hopsan simulation where a force is given as a step from the left, the position and velocity varies repeatedly as shown in the figure above The mass bounces repeatedly against the spring FUTURE WORK The Modelith XML schema presented in this paper should represent a good start for anyone interested in transforming simulation models To increase simulation performance, a number of things can be done The most import one is transforming the Jacobian into Block-lower-triangular form so that the evaluation of the equation system can be split into several parts Another research area is to include Modelith in a framework for the whole product model including information such as requirement specifications and geometric data CONCLUSIONS It is shown in the paper that the work needed for a user to translate equations into implemented calculations can be dramatically reduced by introducing an intermediate language together with some well-defined transformers that act incrementally on this language The only work needed by the user is to make use of a ready-made intemediate language and transformers and create one or more transformers that import or export models from the Velocity (n2sx) [m/s] (dashed line)

7 intermediate language One or more of the latter could have been created earlier by another user DISCUSSION Since the transformers can be developed individually and since only freely-available programming languages and tools are needed, the framework can act as a catalyst, encouraging cooperation, in the area of modelling and simulation Hopefully, this will lead to the creation of special-purpose modelling languages, new modelling- as well as simulation tools and also translators for physical systems model languages This in turn would give a larger degree of freedom for users of simulation when it comes to defining models, choosing simulation tools and creating custom applications from the models The implementation of the framework shows that most of the work regarding creation of the internal transformers for the intermediate language This work that is however only done once The import and export transformers are easy and quickly implemented using all facilities of the XML domain, this part is hopefully where most of the users will find themselves New user groups such as teachers and engineers can be reached due to the new simple way of translation They will be able to develop simulation solutions for education and special-purpose simulators REFERENCES Auslander DM, 1968 Distributed System Simulation with Bilateral Delay-Line Models Journal of Basic Engineering, No90 (June), Elmqvist, H; Mattsson, SE; and Otter, M 1999 Modelica - A Language for Physical System Modeling, Visualization and Interaction Plenary paper 1999 IEEE Symposium on Computer-Aided Control System Design (Hawaii, August 22-27), IEEE, Harold, E R and Means, E S 2001 XML in a Nutshell O'Reilly & Associates IEEE Working Group: Analog and Mixed-Signal Extensions for VHDL Johansson, B; Larsson, J; Krus, P; and Sethson, M 2002 An XML-based model representation for model management, transformation and exchange To be presented at the ASME Symposium on Automated Modelling (New Orleans,Louisiana, Nov17-22) ASME Johns, P B and O'Brien, M 1980 "Use of transmission line modelling (tlm) method to solve nonlinear lumped networks" The Radio Electron and Engineer No50 (Jan/Feb), Kirn, L 2002 XML Integrated Development Environments Accelerating XML Application Development In the Interprise Whitepaper, Altova Inc, Beverly, USA Krus, P 1996 An Automated Approach for Creating Components and Subsystems for Simulation of Distributed Systems In 9th Bath International Fluid Power Workshop Burrows, CR and Edge, KA (Eds) Research Studies Press Larsson, J; Jansson, A; and Krus, P 2002 User s guide to Hopsan - An integrated simulation environment Technical Report LiTH-IKP-R1258, Mechanical Engineering Systems, Linköping University, Linköping, Sweden Levine, J R; Mason, T; and Brown, D 1992 Lex & Yacc O Reilly & Associates, Inc, Second Edition Microsystems, S 1998 Java Compiler Compiler Technical Report, Sun Microsystems Modelica Association 1999 Modelica A Unified Object- Oriented Language for Physical Systems Modelling, Language Specification Murray-Rust, P; Rzepa, HS; and Wright, M 2001 Development of Chemical Markup Language (CML) as a System for Handling Complex Chemical Content New Journal of Chemistry, No25:4 (March), Otter, M and Elmqvist, H 1995 The DSblock model interface for exchanging model components, In proceedings of the 1995 EUROSIM Conference (Vienna, Austria, Sept11-15) Elsevier Science Publishers, Piela, P; Epperly, T; Westerberg, KM; and Westerberg, W 1991 ASCEND: An object-oriented computer environment for modelling and analysis: the modelling language Computers and Chemical Engineering, No15:1, Ward, RC; Kruse, KL; Allgood, GO; Hively, LM; Munro, NB; and Easterly, CE 2001 "Virtual Human Project," in Proceedings of AeroSense 2001 Meeting (Orlando, FL USA, April 16-20) Wolfram, S 1999 The Mathematica Book, 4 th revised edition, Cambridge University Press APPENDIX A MODELICA SUBSET DOCUMENT type Position = Real(unit="m") type Velocity = Real(unit="m/s") type Force = Real(unit="N") type MechImpedance = Real(unit="Ns^2/m") "Mechanical impedance"; type Mass = Real(unit="kg") "Mass"; type TransStiffness = Real(unit="N/m") "Translational stiffness"; connector MechanicQNode "Node for usage with the TLM technique" Force F; wave Force cx "Characteristic wave"; impedance MechImpedance Zx "Characteristic impedance"; flow Position x; flow Velocity sx; end MechanicQNode; model TwoFlange MechanicQNode n1 "Left mechanical node"; MechanicQNode n2 "Right mechanical node"; equation n1x = -n2x; n1sx = -n2sx; n2sx = der(n2x); n1f = n1cx + n1sx*n1zx "TLM eq for node n1"; n2f = n2cx + n2sx*n2zx "TLM eq for node n2"; end TwoFlange; model TransMass extends TwoFlange; parameter Mass m=100 "The mass"; parameter TransStiffness k=1e+5 "Spring constant for right end pos"; parameter Position endpos=10 "End position"; equation n1f-n2f-onpositive(n2x-endpos)* (n2x-endpos)*k = m*der(n2sx) "Newtons 2:nd with an end spring"; end TransMass;

8 APPENDIX B OBJECT-ORIENTED IMPLICIT MODELITH DOCUMENT <Modelith> <type name="position"> <uses class="real"> <changes_value type_instance="unit" value="m"/> </uses> </type> <connector name="mechanicqnode" comment="a node for usage with the TLM technique"> <type_instance name="sx" prefix="flow"> <uses class="velocity"/> </type_instance> </connector> <model name="twoflange"> <connector_instance name="n1" comment="left mechanical node"> <uses class="mechanicqnode"/> </connector_instance> <connector_instance name="n2" comment="right mechanical node"> <uses class="mechanicqnode"/> </connector_instance> <equation> <MathML> <apply> <eq/> <ci> <msub> <mi>x</mi> <mi>n1</mi> </msub> </ci> <apply> <minus/> <ci> <msub> <mi>x</mi> <mi>n2</mi> </msub> </ci> </apply> </apply> </MathML> </equation> </model> <model name="transmass"> <uses class="twoflange"/> <type_instance name="m" prefix="parameter" value="100" comment="the mass"> <uses class="mass"/> </type_instance> <equation> </equation> </model> </Modelith> APPENDIX C FLATTENED IMPLICIT PART OF MODEL <flattened> <connector_instance name="n1" comment="left mechanical node"> <uses class="mechanicqnode"/> </connector_instance> <type_instance name="m" prefix="parameter" value="100" comment="the mass"> <uses class="mass"/> </type_instance> <equation> </equation> </flattened> APPENDIX D EXPLICIT PART OF FLATTENED IMPLICIT MODEL <explicit> <type_instance name="f" prefix="output" connector_instance="n1"/> <type_instance name="cx" prefix="input" connector_instance="n1"/> <type_instance name="zx" prefix="input" connector_instance="n1"/> <type_instance name="x" prefix="output" connector_instance="n2"/> <type_instance name="sx" prefix="output" connector_instance="n2"/> <type_instance name="der_n2_sx" prefix="derivative" state="sx" connector_instance="n2"/> <type_instance name="der_n2_x" prefix="derivative" state="x" connector_instance="n2"/> <equation> <MathML> <apply> <eq/> <apply> <plus/> <ci> <msub> <mi>x</mi> <mi>n1</mi> </msub> </ci> <ci> <msub> <mi>x</mi> <mi>n2</mi> </msub> </ci> </apply> <cn>0</cn> </apply> </MathML> </equation> <jacobian> <row> <element> <MathML> <cn>1</cn> </MathML> </element> </row> </jacobian> </explicit>

Proceedings of the 4th International Modelica Conference, Hamburg, March 7-8, 2005, Gerhard Schmitz (editor)

Proceedings of the 4th International Modelica Conference, Hamburg, March 7-8, 2005, Gerhard Schmitz (editor) Proceedings of the 4th International Modelica Conference, Hamburg, March 7-8, 2005, Gerhard Schmitz (editor) A Siemers, I Nakhimovski, D Fritzson Linköping University, Sweden Meta-modelling of Mechanical

More information

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11 !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... 7:4 @import Directive... 9:11 A Absolute Units of Length... 9:14 Addressing the First Line... 9:6 Assigning Meaning to XML Tags...

More information

Activation Inheritance in Modelica

Activation Inheritance in Modelica Activation Inheritance in Modelica Ramine Nikoukhah INRIA, BP 05, 7853 Le Chesnay, France ramine.nikoukhah@inria.fr Abstract Modelica specifies two types of s: the s defined directly in the "" section,

More information

THE OUTLOOK FOR MATHEMATICS ON THE WEB

THE OUTLOOK FOR MATHEMATICS ON THE WEB Applied Mathematics and Stochastic Analysis, 13:3 (2000), 313-316. SttOIT IEPOITS AND COMMUNICATIONS THE OUTLOOK FOR MATHEMATICS ON THE WEB BRADFORD D. ALLEN Florida Institute of Technology Department

More information

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial.

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial. A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far XML Tutorial Yanan Zhang Department of Electrical and Computer Engineering University of Calgary

More information

Parser Design. Neil Mitchell. June 25, 2004

Parser Design. Neil Mitchell. June 25, 2004 Parser Design Neil Mitchell June 25, 2004 1 Introduction A parser is a tool used to split a text stream, typically in some human readable form, into a representation suitable for understanding by a computer.

More information

XML APIs Testing Using Advance Data Driven Techniques (ADDT) Shakil Ahmad August 15, 2003

XML APIs Testing Using Advance Data Driven Techniques (ADDT) Shakil Ahmad August 15, 2003 XML APIs Testing Using Advance Data Driven Techniques (ADDT) Shakil Ahmad August 15, 2003 Table of Contents 1. INTRODUCTION... 1 2. TEST AUTOMATION... 2 2.1. Automation Methodology... 2 2.2. Automated

More information

M359 Block5 - Lecture12 Eng/ Waleed Omar

M359 Block5 - Lecture12 Eng/ Waleed Omar Documents and markup languages The term XML stands for extensible Markup Language. Used to label the different parts of documents. Labeling helps in: Displaying the documents in a formatted way Querying

More information

XML Processing & Web Services. Husni Husni.trunojoyo.ac.id

XML Processing & Web Services. Husni Husni.trunojoyo.ac.id XML Processing & Web Services Husni Husni.trunojoyo.ac.id Based on Randy Connolly and Ricardo Hoar Fundamentals of Web Development, Pearson Education, 2015 Objectives 1 XML Overview 2 XML Processing 3

More information

A Transformation Tool for ODE Based Models

A Transformation Tool for ODE Based Models A Transformation Tool for ODE Based Models Ciro B. Barbosa, Rodrigo W. dos Santos, Ronan M. Amorim, Leandro N. Ciuffo, Fairus Manfroi, Rafael S. Oliveira, and Fernando O. Campos FISIOCOMP, Laboratory of

More information

S emistructured Data & XML

S emistructured Data & XML S emistructured Data & XML Database Systems, A Practical Approach to Design, Implementation and Management (Connolly & Begg, Ch. 29) XML Bible (Harold, Ch. 1) S lide:1 14/04/04 1 Overview Semistructured

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 2, 2017 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid= 2465 1

More information

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML 7.1 Introduction extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML Lax syntactical rules Many complex features that are rarely used HTML is a markup language,

More information

An UML-XML-RDB Model Mapping Solution for Facilitating Information Standardization and Sharing in Construction Industry

An UML-XML-RDB Model Mapping Solution for Facilitating Information Standardization and Sharing in Construction Industry An UML-XML-RDB Model Mapping Solution for Facilitating Information Standardization and Sharing in Construction Industry I-Chen Wu 1 and Shang-Hsien Hsieh 2 Department of Civil Engineering, National Taiwan

More information

Introduction to XML. XML: basic elements

Introduction to XML. XML: basic elements Introduction to XML XML: basic elements XML Trying to wrap your brain around XML is sort of like trying to put an octopus in a bottle. Every time you think you have it under control, a new tentacle shows

More information

Rotational3D Efficient modelling of 3D effects in rotational mechanics

Rotational3D Efficient modelling of 3D effects in rotational mechanics Rotational3D - Efficient Modelling of 3D Effects in Rotational Mechanics Rotational3D Efficient modelling of 3D effects in rotational mechanics Johan Andreasson Magnus Gäfvert Modelon AB Ideon Science

More information

Introducing live graphics gems to educational material

Introducing live graphics gems to educational material Introducing live graphics gems to educational material Johannes Görke, Frank Hanisch, Wolfgang Straíer WSI/GRIS University of Tübingen, Sand 14, 72076 Tübingen, Germany Thiruvarangan Ramaraj CS525 Graphics

More information

XML Support for Annotated Language Resources

XML Support for Annotated Language Resources XML Support for Annotated Language Resources Nancy Ide Department of Computer Science Vassar College Poughkeepsie, New York USA ide@cs.vassar.edu Laurent Romary Equipe Langue et Dialogue LORIA/CNRS Vandoeuvre-lès-Nancy,

More information

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or remote-live attendance. XML Programming Duration: 5 Days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options. Click here for more info. Delivery Options:

More information

Chapter 7: XML Namespaces

Chapter 7: XML Namespaces 7. XML Namespaces 7-1 Chapter 7: XML Namespaces References: Tim Bray, Dave Hollander, Andrew Layman: Namespaces in XML. W3C Recommendation, World Wide Web Consortium, Jan 14, 1999. [http://www.w3.org/tr/1999/rec-xml-names-19990114],

More information

.. Cal Poly CPE/CSC 366: Database Modeling, Design and Implementation Alexander Dekhtyar..

.. Cal Poly CPE/CSC 366: Database Modeling, Design and Implementation Alexander Dekhtyar.. .. Cal Poly CPE/CSC 366: Database Modeling, Design and Implementation Alexander Dekhtyar.. XML in a Nutshell XML, extended Markup Language is a collection of rules for universal markup of data. Brief History

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 4 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2411 1 Extensible

More information

AN INTEGRATED MODELICA ENVIRONMENT FOR MODELING, DOCUMENTATION AND SIMULATION

AN INTEGRATED MODELICA ENVIRONMENT FOR MODELING, DOCUMENTATION AND SIMULATION Accepted for publication in Proceedings of The 1998 Summer Computer Simulation Conference (SCSC '98) July 19-22, 1998, Reno, Nevada AN INTEGRATED MODELICA ENVIRONMENT FOR MODELING, DOCUMENTATION AND SIMULATION

More information

XML in the DATA Step Michael Palmer, Zurich Biostatistics, Inc., Morristown, New Jersey

XML in the DATA Step Michael Palmer, Zurich Biostatistics, Inc., Morristown, New Jersey Paper 25-28 XML in the DATA Step Michael Palmer, Zurich Biostatistics, Inc., Morristown, New Jersey ABSTRACT This paper discusses a DATA-step method to import, export, and transform user-defined XML vocabularies.

More information

NISO STS (Standards Tag Suite) Differences Between ISO STS 1.1 and NISO STS 1.0. Version 1 October 2017

NISO STS (Standards Tag Suite) Differences Between ISO STS 1.1 and NISO STS 1.0. Version 1 October 2017 NISO STS (Standards Tag Suite) Differences Between ISO STS 1.1 and NISO STS 1.0 Version 1 October 2017 1 Introduction...1 1.1 Four NISO STS Tag Sets...1 1.2 Relationship of NISO STS to ISO STS...1 1.3

More information

Agenda. XML Generics. XML for Java Developers G Session 1 - Main Theme Markup Language Technologies (Part I)

Agenda. XML Generics. XML for Java Developers G Session 1 - Main Theme Markup Language Technologies (Part I) XML for Java Developers G22.3033-002 Session 1 - Main Theme Markup Language Technologies (Part I) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical

More information

XML: Extensible Markup Language

XML: Extensible Markup Language XML: Extensible Markup Language CSC 375, Fall 2015 XML is a classic political compromise: it balances the needs of man and machine by being equally unreadable to both. Matthew Might Slides slightly modified

More information

Inventions on using LDAP for different purposes- Part-3

Inventions on using LDAP for different purposes- Part-3 From the SelectedWorks of Umakant Mishra August, 2006 Inventions on using LDAP for different purposes- Part-3 Umakant Mishra Available at: https://works.bepress.com/umakant_mishra/64/ Inventions on using

More information

STEPHEN WOLFRAM MATHEMATICADO. Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS

STEPHEN WOLFRAM MATHEMATICADO. Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS STEPHEN WOLFRAM MATHEMATICADO OO Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS Table of Contents XXI a section new for Version 3 a section new for Version 4 a section substantially modified for

More information

ReST 2000 Roy Fielding W3C

ReST 2000 Roy Fielding W3C Outline What is ReST? Constraints in ReST REST Architecture Components Features of ReST applications Example of requests in REST & SOAP Complex REST request REST Server response Real REST examples REST

More information

A tool for Entering Structural Metadata in Digital Libraries

A tool for Entering Structural Metadata in Digital Libraries A tool for Entering Structural Metadata in Digital Libraries Lavanya Prahallad, Indira Thammishetty, E.Veera Raghavendra, Vamshi Ambati MSIT Division, International Institute of Information Technology,

More information

Generation of Functional Mock-up Units from Causal Block Diagrams

Generation of Functional Mock-up Units from Causal Block Diagrams Generation of Functional Mock-up Units from Causal Block Diagrams Bavo Vander Henst University of Antwerp Model Driven Engineering Bavo.VanderHenst@student.uantwerpen.be Abstract The purpose of this paper

More information

WEB APPLICATION MANAGEMENT: IMPLEMENTING A DYNAMIC DATABASE UPGRADE MODEL

WEB APPLICATION MANAGEMENT: IMPLEMENTING A DYNAMIC DATABASE UPGRADE MODEL WEB APPLICATION MANAGEMENT: IMPLEMENTING A DYNAMIC DATABASE UPGRADE MODEL Richard Wilson 1 & Daniel Lowes 2 1 Dept. of Computer Science and Software Engineering, University of Melbourne (Australia) 2 Dept.

More information

libcellml Documentation

libcellml Documentation libcellml Documentation Release 0.1 David Nickerson, Randall Britten August 27, 2014 Contents 1 Introducing the libcellml project 3 1.1 The motivation for the libcellml project................................

More information

AADL Graphical Editor Design

AADL Graphical Editor Design AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized

More information

Introduction to XML. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University

Introduction to XML. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University Introduction to XML Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University http://gear.kku.ac.th/~krunapon/xmlws 1 Topics p What is XML? p Why XML? p Where does XML

More information

A web application serving queries on renewable energy sources and energy management topics database, built on JSP technology

A web application serving queries on renewable energy sources and energy management topics database, built on JSP technology International Workshop on Energy Performance and Environmental 1 A web application serving queries on renewable energy sources and energy management topics database, built on JSP technology P.N. Christias

More information

Roxen Content Provider

Roxen Content Provider Roxen Content Provider Generation 3 Templates Purpose This workbook is designed to provide a training and reference tool for placing University of Alaska information on the World Wide Web (WWW) using the

More information

Language engineering and Domain Specific Languages

Language engineering and Domain Specific Languages Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh Plan 1. Defining languages 2. General purpose languages vs domain specific languages 3.

More information

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML Chapter 7 XML 7.1 Introduction extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML Lax syntactical rules Many complex features that are rarely used HTML

More information

Chapter 1: Getting Started. You will learn:

Chapter 1: Getting Started. You will learn: Chapter 1: Getting Started SGML and SGML document components. What XML is. XML as compared to SGML and HTML. XML format. XML specifications. XML architecture. Data structure namespaces. Data delivery,

More information

Open XML Requirements Specifications, a Xylia based application

Open XML Requirements Specifications, a Xylia based application Open XML Requirements Specifications, a Xylia based application Naeim Semsarilar Dennis K. Peters Theodore S. Norvell Faculty of Engineering and Applied Science Memorial University of Newfoundland November

More information

Function Modules Objective The following section is intended to explain: What function modules are Components of function modules

Function Modules Objective The following section is intended to explain: What function modules are Components of function modules Function Modules Objective The following section is intended to explain: What function modules are Components of function modules Testing and releasing of function modules Function Modules Function modules

More information

Introduction to XML 3/14/12. Introduction to XML

Introduction to XML 3/14/12. Introduction to XML Introduction to XML Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University http://gear.kku.ac.th/~krunapon/xmlws 1 Topics p What is XML? p Why XML? p Where does XML

More information

The XML Metalanguage

The XML Metalanguage The XML Metalanguage Mika Raento mika.raento@cs.helsinki.fi University of Helsinki Department of Computer Science Mika Raento The XML Metalanguage p.1/442 2003-09-15 Preliminaries Mika Raento The XML Metalanguage

More information

XML Extensible Markup Language

XML Extensible Markup Language XML Extensible Markup Language Generic format for structured representation of data. DD1335 (Lecture 9) Basic Internet Programming Spring 2010 1 / 34 XML Extensible Markup Language Generic format for structured

More information

XML ALONE IS NOT SUFFICIENT FOR EFFECTIVE WEBEDI

XML ALONE IS NOT SUFFICIENT FOR EFFECTIVE WEBEDI Chapter 18 XML ALONE IS NOT SUFFICIENT FOR EFFECTIVE WEBEDI Fábio Ghignatti Beckenkamp and Wolfgang Pree Abstract: Key words: WebEDI relies on the Internet infrastructure for exchanging documents among

More information

Introduction to Simulink

Introduction to Simulink University College of Southeast Norway Introduction to Simulink Hans-Petter Halvorsen, 2016.11.01 http://home.hit.no/~hansha Preface Simulink, developed by The MathWorks, is a commercial tool for modeling,

More information

XML: Managing with the Java Platform

XML: Managing with the Java Platform In order to learn which questions have been answered correctly: 1. Print these pages. 2. Answer the questions. 3. Send this assessment with the answers via: a. FAX to (212) 967-3498. Or b. Mail the answers

More information

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language Plan Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh 1. Defining languages 2. General purpose languages vs domain specific languages 3.

More information

mapping IFC versions R.W. Amor & C.W. Ge Department of Computer Science, University of Auckland, Auckland, New Zealand

mapping IFC versions R.W. Amor & C.W. Ge Department of Computer Science, University of Auckland, Auckland, New Zealand mapping IFC versions R.W. Amor & C.W. Ge Department of Computer Science, University of Auckland, Auckland, New Zealand ABSTRACT: In order to cope with the growing number of versions of IFC schema being

More information

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE UDC:681.324 Review paper METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE Alma Butkovi Tomac Nagravision Kudelski group, Cheseaux / Lausanne alma.butkovictomac@nagra.com Dražen Tomac Cambridge Technology

More information

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance. XML Programming Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options: Attend face-to-face in the classroom or

More information

Modeling Kernel Language (MKL)

Modeling Kernel Language (MKL) Modeling Kernel Language (MKL) A formal and extensible approach to equation-based modeling languages Guest Talk, EECS, Chess, UC Berkeley February 17, 2011 Department of Computer and Information Science

More information

Generalized Document Data Model for Integrating Autonomous Applications

Generalized Document Data Model for Integrating Autonomous Applications 6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Generalized Document Data Model for Integrating Autonomous Applications Zsolt Hernáth, Zoltán Vincellér Abstract

More information

XML. Jonathan Geisler. April 18, 2008

XML. Jonathan Geisler. April 18, 2008 April 18, 2008 What is? IS... What is? IS... Text (portable) What is? IS... Text (portable) Markup (human readable) What is? IS... Text (portable) Markup (human readable) Extensible (valuable for future)

More information

Elliotte Rusty Harold August From XML to Flat Buffers: Markup in the Twenty-teens

Elliotte Rusty Harold August From XML to Flat Buffers: Markup in the Twenty-teens Elliotte Rusty Harold elharo@ibiblio.org August 2018 From XML to Flat Buffers: Markup in the Twenty-teens Warning! The Contenders XML JSON YAML EXI Protobufs Flat Protobufs XML JSON YAML EXI Protobuf Flat

More information

How To Validate An Xml File Against A Schema Using Xmlspy

How To Validate An Xml File Against A Schema Using Xmlspy How To Validate An Xml File Against A Schema Using Xmlspy generate maxium and minume samle using XSD c_kazum, 1, 601, Friday, May 22, 2015 10:22 PM Validating a bunch of similar XML against a XSD tdammalapati,

More information

Modelica Change Proposal MCP-0021 Component Iterators Status: Under Evaluation , version v2, #1848

Modelica Change Proposal MCP-0021 Component Iterators Status: Under Evaluation , version v2, #1848 Modelica Change Proposal MCP-0021 Component Iterators Status: Under Evaluation 2015-12-08, version v2, #1848 Summary It is proposed to generalize iterator expressions so that a class name can be used as

More information

A Framework for Processing Complex Document-centric XML with Overlapping Structures Ionut E. Iacob and Alex Dekhtyar

A Framework for Processing Complex Document-centric XML with Overlapping Structures Ionut E. Iacob and Alex Dekhtyar A Framework for Processing Complex Document-centric XML with Overlapping Structures Ionut E. Iacob and Alex Dekhtyar ABSTRACT Management of multihierarchical XML encodings has attracted attention of a

More information

XML Metadata Standards and Topic Maps

XML Metadata Standards and Topic Maps XML Metadata Standards and Topic Maps Erik Wilde 16.7.2001 XML Metadata Standards and Topic Maps 1 Outline what is XML? a syntax (not a data model!) what is the data model behind XML? XML Information Set

More information

SIMULATION OF SELF ORGANIZING STRUCTURES USING NEURO MECHANICAL NETWORKS

SIMULATION OF SELF ORGANIZING STRUCTURES USING NEURO MECHANICAL NETWORKS SIMULATION OF SELF ORGANIZING STRUCTURES USING NEURO MECHANICAL NETWORKS MAGNUS SETHSON Dept. of Mechanical Engineering Linköping University Sweden PETTER KRUS Dept. of Mechanical Engineering Linköping

More information

W3C XML XML Overview

W3C XML XML Overview Overview Jaroslav Porubän 2008 References Tutorials, http://www.w3schools.com Specifications, World Wide Web Consortium, http://www.w3.org David Hunter, et al.: Beginning, 4th Edition, Wrox, 2007, 1080

More information

On the relationship between OpenMath and MathML

On the relationship between OpenMath and MathML On the relationship between OpenMath and MathML Bill Naylor Stephen Watt Ontario Research Center for Computer Algebra University of Western Ontario London Ontario CANADA N6A 5B7 {bill,watt}@orcca.on.ca

More information

Integrated Aircraft Design

Integrated Aircraft Design 11th European Workshop on Aircraft Design Education, Linköping, 17.-19.09.201319.09.2013 Integrated Aircraft Design Network Raghu Chaitanya.M.V & Ingo Staack, Petter Krus Linköping University, Linköping,

More information

Proceedings of the 4th International Modelica Conference, Hamburg, March 7-8, 2005, Gerhard Schmitz (editor)

Proceedings of the 4th International Modelica Conference, Hamburg, March 7-8, 2005, Gerhard Schmitz (editor) Proceedings of the 4th International Modelica Conference, Hamburg, March 7-8, 2005, Gerhard Schmitz (editor) Linköping University, Sweden pp. 247-254 Paper presented at the 4th International Modelica Conference,

More information

CS 415 Midterm Exam Spring 2002

CS 415 Midterm Exam Spring 2002 CS 415 Midterm Exam Spring 2002 Name KEY Email Address Student ID # Pledge: This exam is closed note, closed book. Good Luck! Score Fortran Algol 60 Compilation Names, Bindings, Scope Functional Programming

More information

Standard Business Rules Language: why and how? ICAI 06

Standard Business Rules Language: why and how? ICAI 06 Standard Business Rules Language: why and how? ICAI 06 M. Diouf K. Musumbu S. Maabout LaBRI (UMR 5800 du CNRS), 351, cours de la Libération, F-33.405 TALENCE Cedex e-mail: {diouf, musumbu, maabout}@labri.fr

More information

The XQuery Data Model

The XQuery Data Model The XQuery Data Model 9. XQuery Data Model XQuery Type System Like for any other database query language, before we talk about the operators of the language, we have to specify exactly what it is that

More information

Markup Languages SGML, HTML, XML, XHTML. CS 431 February 13, 2006 Carl Lagoze Cornell University

Markup Languages SGML, HTML, XML, XHTML. CS 431 February 13, 2006 Carl Lagoze Cornell University Markup Languages SGML, HTML, XML, XHTML CS 431 February 13, 2006 Carl Lagoze Cornell University Problem Richness of text Elements: letters, numbers, symbols, case Structure: words, sentences, paragraphs,

More information

Principle of Complier Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore

Principle of Complier Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore Principle of Complier Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore Lecture - 20 Intermediate code generation Part-4 Run-time environments

More information

xml:tm Using XML technology to reduce the cost of authoring and translation

xml:tm Using XML technology to reduce the cost of authoring and translation [Translating and the Computer 25, November 2003 [London: Aslib, 2003] xml:tm Using XML technology to reduce the cost of authoring and translation Introduction Andrzej Zydroń Technical Director XML-Intl

More information

Programming Tips for Plugins

Programming Tips for Plugins Programming Tips for Plugins Chad Neufeld Centre for Computational Geostatistics Department of Civil & Environmental Engineering University of Alberta Working in a university based research environment

More information

Using UML To Define XML Document Types

Using UML To Define XML Document Types Using UML To Define XML Document Types W. Eliot Kimber ISOGEN International, A DataChannel Company Created On: 10 Dec 1999 Last Revised: 14 Jan 2000 Defines a convention for the use of UML to define XML

More information

Linköping University Post Print. A Meta-Modeling Environment for Mechanical System Co-Simulations

Linköping University Post Print. A Meta-Modeling Environment for Mechanical System Co-Simulations Linköping University Post Print A Meta-Modeling Environment for Mechanical System Co-Simulations Alexander Siemers and Dag Fritzson N.B.: When citing this work, cite the original article. Original Publication:

More information

Chapter 2 XML, XML Schema, XSLT, and XPath

Chapter 2 XML, XML Schema, XSLT, and XPath Summary Chapter 2 XML, XML Schema, XSLT, and XPath Ryan McAlister XML stands for Extensible Markup Language, meaning it uses tags to denote data much like HTML. Unlike HTML though it was designed to carry

More information

XML ELECTRONIC SIGNATURES

XML ELECTRONIC SIGNATURES XML ELECTRONIC SIGNATURES Application according to the international standard XML Signature Syntax and Processing DI Gregor Karlinger Graz University of Technology Institute for Applied Information Processing

More information

What are the characteristics of Object Oriented programming language?

What are the characteristics of Object Oriented programming language? What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is

More information

Design optimisation of industrial robots using the Modelica multi-physics modeling language

Design optimisation of industrial robots using the Modelica multi-physics modeling language Design optimisation of industrial robots using the Modelica multi-physics modeling language A. Kazi, G. Merk, M. Otter, H. Fan, (ArifKazi, GuentherMerk)@kuka-roboter.de (Martin.Otter, Hui.Fan)@dlr.de KUKA

More information

The Extensible Markup Language (XML) and Java technology are natural partners in helping developers exchange data and programs across the Internet.

The Extensible Markup Language (XML) and Java technology are natural partners in helping developers exchange data and programs across the Internet. 1 2 3 The Extensible Markup Language (XML) and Java technology are natural partners in helping developers exchange data and programs across the Internet. That's because XML has emerged as the standard

More information

ChemSense Studio Client Version 3.0.7

ChemSense Studio Client Version 3.0.7 Quick Start Guide: ChemSense Studio Client Version 3.0.7 January 5, 2005 Comments/Questions/Bug Report? E-mail: chemsense-contact@ctl.sri.com Background The ChemSense Studio Client software supports the

More information

Pioneering Compiler Design

Pioneering Compiler Design Pioneering Compiler Design NikhitaUpreti;Divya Bali&Aabha Sharma CSE,Dronacharya College of Engineering, Gurgaon, Haryana, India nikhita.upreti@gmail.comdivyabali16@gmail.com aabha6@gmail.com Abstract

More information

WORKSHOP ON EASY JAVA SIMULATIONS AND THE COMPADRE DIGITAL LIBRARY

WORKSHOP ON EASY JAVA SIMULATIONS AND THE COMPADRE DIGITAL LIBRARY MPTL14 2009 Udine 23-27 September 2009 WORKSHOP ON EASY JAVA SIMULATIONS AND THE COMPADRE DIGITAL LIBRARY Francisco Esquembre, Universidad de Murcia Wolfgang Christian, Davidson College Bruce Mason, University

More information

XML in the bipharmaceutical

XML in the bipharmaceutical XML in the bipharmaceutical sector XML holds out the opportunity to integrate data across both the enterprise and the network of biopharmaceutical alliances - with little technological dislocation and

More information

Chapter 13 XML: Extensible Markup Language

Chapter 13 XML: Extensible Markup Language Chapter 13 XML: Extensible Markup Language - Internet applications provide Web interfaces to databases (data sources) - Three-tier architecture Client V Application Programs Webserver V Database Server

More information

Metaprogrammable Toolkit for Model-Integrated Computing

Metaprogrammable Toolkit for Model-Integrated Computing Metaprogrammable Toolkit for Model-Integrated Computing Akos Ledeczi, Miklos Maroti, Gabor Karsai and Greg Nordstrom Institute for Software Integrated Systems Vanderbilt University Abstract Model-Integrated

More information

Intro to XML. Borrowed, with author s permission, from:

Intro to XML. Borrowed, with author s permission, from: Intro to XML Borrowed, with author s permission, from: http://business.unr.edu/faculty/ekedahl/is389/topic3a ndroidintroduction/is389androidbasics.aspx Part 1: XML Basics Why XML Here? You need to understand

More information

x ide xml Integrated Development Environment Specifications Document 1 Project Description 2 Specifi fications

x ide xml Integrated Development Environment Specifications Document 1 Project Description 2 Specifi fications x ide xml Integrated Development Environment Specifications Document Colin Hartnett (cphartne) 7 February 2003 1 Project Description There exist many integrated development environments that make large

More information

> Semantic Web Use Cases and Case Studies

> Semantic Web Use Cases and Case Studies > Semantic Web Use Cases and Case Studies Case Study: Improving Web Search using Metadata Peter Mika, Yahoo! Research, Spain November 2008 Presenting compelling search results depends critically on understanding

More information

KNSP: A Kweelt - Niagara based Quilt Processor Inside Cocoon over Apache

KNSP: A Kweelt - Niagara based Quilt Processor Inside Cocoon over Apache KNSP: A Kweelt - Niagara based Quilt Processor Inside Cocoon over Apache Xidong Wang & Shiliang Hu {wxd, shiliang}@cs.wisc.edu Department of Computer Science, University of Wisconsin Madison 1. Introduction

More information

A Meta-Model for Fact Extraction from Delphi Source Code

A Meta-Model for Fact Extraction from Delphi Source Code Electronic Notes in Theoretical Computer Science 94 (2004) 9 28 www.elsevier.com/locate/entcs A Meta-Model for Fact Extraction from Delphi Source Code Jens Knodel and G. Calderon-Meza 2 Fraunhofer Institute

More information

Dreamweaver is a full-featured Web application

Dreamweaver is a full-featured Web application Create a Dreamweaver Site Dreamweaver is a full-featured Web application development tool. Dreamweaver s features not only assist you with creating and editing Web pages, but also with managing and maintaining

More information

XML Introduction 1. XML Stands for EXtensible Mark-up Language (XML). 2. SGML Electronic Publishing challenges -1986 3. HTML Web Presentation challenges -1991 4. XML Data Representation challenges -1996

More information

SVG GRAPHICS LANGUAGE AS A DESCRIPTION OF A 2D PATH IN ROBOT PROGRAMMING TASKS

SVG GRAPHICS LANGUAGE AS A DESCRIPTION OF A 2D PATH IN ROBOT PROGRAMMING TASKS S E L E C T E D E N G I N E E R I N G P R O B L E M S N U M B E R 5 I N S T I T U T E O F E N G I N E E R I N G P R O C E S S E S A U T O M A T I O N A N D I N T E G R A T E D M A N U F A C T U R I N G

More information

MathML Editor: The Basics *

MathML Editor: The Basics * OpenStax-CNX module: m26312 1 MathML Editor: The Basics * Natalie Weber This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 3.0 Abstract This module provides

More information

Sustainable File Formats for Electronic Records A Guide for Government Agencies

Sustainable File Formats for Electronic Records A Guide for Government Agencies Sustainable File Formats for Electronic Records A Guide for Government Agencies Electronic records are produced and kept in a wide variety of file formats, often dictated by the type of software used to

More information

This work is licensed under the Creative Commons Attribution 4.0 International License. Page 1 of 10

This work is licensed under the Creative Commons Attribution 4.0 International License. Page 1 of 10 This work is licensed under the Creative Commons Attribution 4.0 International License. Page 1 of 10 1.1 1.2 2.1 1 Page 2 of 10 2.3 2.4 2.4.1 2.4.2 2 Page 3 of 10 2.5 2.6 Page 4 of 10 2.7 2.8 Page 5 of

More information

Hands-On Perl Scripting and CGI Programming

Hands-On Perl Scripting and CGI Programming Hands-On Course Description This hands on Perl programming course provides a thorough introduction to the Perl programming language, teaching attendees how to develop and maintain portable scripts useful

More information

ESPRIT Project N Work Package H User Access. Survey

ESPRIT Project N Work Package H User Access. Survey ESPRIT Project N. 25 338 Work Package H User Access Survey ID: User Access V. 1.0 Date: 28.11.97 Author(s): A. Sinderman/ E. Triep, Status: Fast e.v. Reviewer(s): Distribution: Change History Document

More information

Assistant for Language Theory. SASyLF: An Educational Proof. Corporation. Microsoft. Key Shin. Workshop on Mechanizing Metatheory

Assistant for Language Theory. SASyLF: An Educational Proof. Corporation. Microsoft. Key Shin. Workshop on Mechanizing Metatheory SASyLF: An Educational Proof Assistant for Language Theory Jonathan Aldrich Robert J. Simmons Key Shin School of Computer Science Carnegie Mellon University Microsoft Corporation Workshop on Mechanizing

More information