Managing Application Configuration Data with CIM
|
|
- Verity Short
- 5 years ago
- Views:
Transcription
1 Managing Application Configuration Data with CIM Viktor Mihajlovski IBM Linux Technology Center, Systems Management Introduction The configuration of software, regardless whether it falls into the category of system software, middleware or application software, is a major contributor to the complexity in large enterprise environments. The root of the problem is - as nearly always - missing interoperability caused by diversity. The diversity encompasses various aspects like configuration data location and format and also semantical information. In order to change the configuration of a system or some software it is necessary to know where to look for the configuration data and what to change in order to achieve the desired result. Sometimes one software component needs another software component to be configured in a particular way which could require a different skill profile. Finally, different versions of a particular software (with differing capabilities and configuration options) might coexist in a networked environment. Systems like Windows feature a common configuration repository (Registry, Active Directory) that solves the location and format issue. That helps a lot for certain situations but is not sufficient as there's still no semantical information available (other than perhaps some written documentation). Another (maybe more severe) problem is that this requires "legacy" applications to rewrite their configuration component to make use of the central configuration repository. Especially multi-platform components (like Apache HTTPD, Mozilla) don't do that. They feature their own (usually complex) configuration file instead (at least as long as there's no multi-platform configuration repository). There are good reasons to propose CIM as an approach to tackle this problem. First of all it offers the conceptual underpinning to model the configuration data and second it leads the way to implementations (based on WBEM and CIMOMs) enabling for a unique way to access this data. The clear advantage of WBEM based configuration management is that it's not proprietary, that it's platform-independent and does not require legacy or multi-platform applications to forsake their configuration data. While the CIM classes dealing with configuration do not yet really solve the semantical issues (through common data models for special categories of software) they sure do prepare the ground for it, as we will outline later in this document. Settings and Configurations We strongly recommend that you read the DMTF White paper on the CIM Core Model, especially the chapter about Settings and Configurations (Chapter 16) to have a certain understanding of the concepts presented therein. As the prefix CIM_ is a little bit bulky, it is regularly omitted for the classes CIM_Setting, CIM_Configuration and CIM_Service. Settings in the CIM Core Model designate configurable items for a CIM_ManagedElement (the root class for nearly all CIM classes - including Setting). A setting usually contains (and groups) properties with close relationship. IP address and network mask would be a April 9, 2002 Page 1 of 6
2 meaningful setting of a network adapter, as they are closely tied together. Configurations are used to aggregate multiple Settings for a CIM_ManagedElement. Settings and Configurations can be associated to all derivations of CIM_ManagedElement. We've mentioned the network adapter as an example for Logical Device. While not being principally different, we are more interested in software configuration (well, device configuration is in fact device driver configuration which could be considered as a form of software). Therefore, we need to identify the CIM class to which (Software) Configuration and Settings apply. The class we have chosen is Service, which might be a little surprising, so we will explain the rationale behind it. Service as the Configuration Owner The Service class is denoted as the class representing the information needed to manage function in CIM models. This notion makes it more suitable for anchoring configuration data than CIM_SoftwareElement from the Application Model, which might be another class that could be considered. However, the Software Element is designed to support deployment rather than configuration, so it deals with more concrete items like files making up a package and requirements against other Software Elements (existence, version). Examples of Software Elements would be RPMs or Installshield Packages. Another difficulty with Software Elements would be that you can have multiple logical functional instances based on one installation (e.g., run multiple HTTP servers on one system). Usually there's a connection between a Software Element and a Service, i.e. the executables needed by (or implementing) the function. It is represented by the association class CIM_SoftwareElementServiceImplementation. Note also that Services do not only describe things like daemons or servers (although these will be the most common to deal with in large installations): it's really about function and each client or word processing program provides - function. The Model and How to Get There Before we can make configuration data accessible via a CIMOM and appropriate instrumentation (more about that later), we have to conceive a data model for the configuration data based on the CIM Model. Not necessarily a surprise, this will possibly be the hardest part. Mostly, because there are no predefined schemas, which means that we will have to figure out exactly what is to be configured and how it's done. Further, we should keep in mind that a very important aspect of CIM is interoperability, which makes modeling even harder, as it may require some additional abstraction. We will put this issue aside for now, and pick it up later. As you have probably read in the DMTF White paper on the Core Model, Settings do not represent the current operational data of a Service (in this case). Those things (as far as being a matter of interest and being observable) are best represented by properties in the Service itself. Settings are representing items from the configuration repository (e.g., config file) of the application and usually it is necessary to (re)start (or notify) the Service in order to apply the Settings, i.e. make them effective. So one possible approach - although not particularly helpful - would be to map all the configuration items in (let's say) a config file to Setting instances, or to properties of one single Setting instance. This would work for the most simple cases only, since many configuration files tend to have structure or hierarchy (some even recursive and of arbitrary depth) and a variable number of distinct, similar or equal items. However, all the basics and composition mechanism are there to design a hierarchical data model for Application Configuration. Settings can be aggregated via Configurations and April 9, 2002 Page 2 of 6
3 Configurations can be nested from other Configurations. Therefore, the modeling task will be mainly to find out a suitable mapping. As always an example will help best to illustrate this. Note: the section below is still incomplete and adding a few pictures will help. This is a document still in progress! Apache Configuration Configuring the Apache web server can be quite a challenge. There's a high number (>200) of so-called directives to define the behavior of the HTTP daemon, some of them interdependent. This example is also interesting in that, even if configuration tools are used by the administrator, it doesn't relieve her or him from understanding the way Apache is working and how the configuration file is being interpreted. This is also true for the modeler: in order to come up with a semantically correct data model it is necessary to understand the operational concepts. This document is not an Apache configuration tutorial (nor is it intended to be one) therefore it will be incomplete and oversimplified in many things. We hope nevertheless it will serve the purpose to shed some light on the "black art of modeling". One property of configuration directives is the context in which they appear and for which they apply. The available contexts are Server, Virtual host, Directory and Location, where the context can be nested in this order (e.g., Directory can be specified in Virtual Host and Server, but not in Location). Further, directives are being implemented by modules, that can either be statically bound to the server executable or be loaded dynamically if needed. There's a one-to-one relationship between a directive and the implementing module. The core module is mandatory and required to be present. Finally, directives can be grouped logically by functional area, thus identifying possibly meaningful Setting classes. Taking this all together, Settings have to contain only properties for directives that are implemented by the same module are valid in the same context are functionally related (a matter of taste sometimes) Context Scoping Usually the directives allowed for an inner context can be also specified for the enclosing one (with few exceptions). These directives are inherited by (or propagated to) the inner directives, if not specified or overridden there. Server Configuration The outermost context is the Server context. It is represented by the Apache_HTTPServerConfiguration class and aggregates all the Settings for a Server (basically the global settings for the daemon). Currently there are only two Setting classes available. Apache_HTTPModule defining whether a module is present and active and Apache_HTTPServerSetting containing properties for all the directives valid for the Server context and implemented by the Core module. Virtual Host The Virtual Host context is used to introduce a sub-server listening to a separate address. Modeling is not yet complete for virtual hosts. Directory/Location These contexts are used to configure the (virtual) server behavior on a per directory/file name base. Not yet completed. Modules April 9, 2002 Page 3 of 6
4 Each Apache module is represented by an instance of Apache_HTTPModule. Other Settings can depend on the existence of certain Modules. Nearly all of the base settings depend on the Core module. BTW: This could be probably be modeled by a special CIM_Dependency association. We don't do that currently as we would rather model the fact that certain Setting types are dependent on a Module type. The pure instance dependency seems to be rather pointless for real world scenarios. Implementing the Model Once the configuration model has been completed, it will be necessary to write instrumentation code (in form of CIMOM providers) implementing the data model by mapping the configuration repository data to and from the CIM objects. Unless the repository is accessible via a nice API, this means parsing (or scanning) configuration files and rewriting them upon configuration changes. Depending on the format and complexity of the configuration files, this will be more or less effort and the use of tools like generated parsers or scanners might be beneficial, although they usually do not help when it comes to file updates. Further, it will be necessary to transform and map the parsed/scanned data to instances of Settings and Configurations. Using conventional technology, this will have to be handcrafted too. In the next section we discuss a more advanced approach for (complex) configuration file access. Using the Parser/Modifier to Access Configuration Files Many of the configuration files have simple syntactical structures that can be expressed via regular expressions or context free grammars, making them suitable to be processed by a generated scanner or parser. The syntax description for a configuration file can easily be extended to add support for syntactical correct modification of the respective text file 1 to the parser. A parser/modifier generated from a syntactical description like an annotated context free grammar transforms the textual representation of the configuration file into an internal abstract syntax tree (AST). This AST can be accessed by a program (e.g., a generic CIMOM provider for text file access) and offers functions to navigate and modify the tree structure. The modified AST can then be transformed into text and written back to the configuration file. In order to exploit a parser/modifier it is necessary to have mapping rules between nodes in the AST and instances and properties in a CIM Schema. Once these mapping rules are established, a generic CIMOM provider can be written to perform the actual mapping by invoking the parser/modifier and by operating upon the AST. The figure below shows how a generic 1 This approach is successfully being used within zos Managed Systems Infrastructure for Setup, where the Java based Parser Generator JavaCC is used for this purpose. April 9, 2002 Page 4 of 6
5 provider for text file access would work. Generic Provider CIM Instances Parser/Modifier AST config file Mapping Rules The question on how and where to specify the mapping is still open. It could be a part of the syntax description, a separate description format (e.g., XML) or an extension to the Schema (e.g., additional special-purpose qualifiers). Beyond Applications Although being very specifically geared towards, some of the concepts will also apply to the persistent configuration of other system components, namely devices. The real challenge here is that - at least in the Linux area - no standards exist where and how the configuration data for an Ethernet adapter is stored. This is typically defined by the distributor and we can find at least two schemes today (it's probably more). This should however not discourage us, since devices (in contrast to applications) have usually well defined data models, which was the hard part to get (you remember). So it's becoming "only" a question of the providers. With appropriate instrumentation for the respective distributions, it will be possible to manage persistent device configurations regardless of the distribution. That's were the strengths of CIM start to show (if we only had that instrumentation already). Thoughts on Interoperability As we have already mentioned, the CIM models for devices are far more developed and interoperable than those for applications. For instance it is possible to manage a network adapter regardless whether it's Ethernet or Tokenring (e.g., can set the IP address and net mask). This is possible since CIM offers an object-oriented model and thus allows to define generic base classes as well as specialized classes by subclassing. It is obvious that software also falls into categories. If we take the Apache web server as an example we could create a model for it by subclassing from a hypothetical Web Server class (or more precise classes necessary to describe the server and the configuration). April 9, 2002 Page 5 of 6
6 It is also clear that certain settings are pertinent to all Web Servers, like address, document root directory, etc. Even more advanced features like virtual servers/hosts can be found with other Web Servers. Now, in the absence of more abstract base models for applications what can be done to avoid ending up with a data model that's not interoperable? First of all, we don't have the final answer. Taking into consideration other implementations of software in the given category might help to create the necessary abstractions. Discussions within DMTF work groups seem also to be a reasonable way to get some feedback. April 9, 2002 Page 6 of 6
KVM Forum 2007 Tucson, Arizona
Standard-based Systems Management Solution for KVM KVM Forum 2007 Tucson, Arizona Heidi Eckhart heidieck@linux.vnet.ibm.com Open Hypervisor Team IBM Linux Technology Center August 30 th 2007 Linux is a
More informationWBEM Web-based Enterprise Management
1 WBEM Web-based Enterprise Management Outline What is Enterprise Management? What are the drivers in Enterprise Mgt.? Distributed Management Technology Forum (DMTF) Web Based Enterprise Management (WBEM)
More informationModelica Change Proposal MCP-0019 Flattening (In Development) Proposed Changes to the Modelica Language Specification Version 3.
Modelica Change Proposal MCP-0019 Flattening (In Development) Proposed Changes to the Modelica Language Specification Version 3.3 Revision 1 Table of Contents Preface 3 Chapter 1 Introduction 3 Chapter
More informationIEEE LANGUAGE REFERENCE MANUAL Std P1076a /D3
LANGUAGE REFERENCE MANUAL Std P1076a-1999 2000/D3 Clause 10 Scope and visibility The rules defining the scope of declarations and the rules defining which identifiers are visible at various points in the
More informationThe 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 informationUnified Modeling Language
Unified Modeling Language Modeling Applications using Language Mappings Programmer s Reference Manual How to use this Reference Card: The consists of a set of fundamental modeling elements which appear
More informationSpeech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World
Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World Slide 1: Cover Welcome to the speech, The role of DB2 in Web 2.0 and in the Information on Demand World. This is the second speech
More informationI'm reposting here an I wrote since it was well-received on the CouchDB marketing list, but its formatting did not display well there.
I'm reposting here an email I wrote since it was well-received on the CouchDB marketing list, but its formatting did not display well there. One of CouchDB's developers asked, How can we make it that CouchApps
More informationGeneric Operations. Document number: DSP0223. Date: Version: Document type: Specification. Document status: DMTF Standard
1 2 3 4 Document number: Date: 2012-08-30 Version: 1.0.1 5 6 7 8 9 10 11 12 13 14 15 16 Document type: Specification Document status: DMTF Standard Document language: en-us 17 18 19 Copyright notice Copyright
More informationParser 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 informationWho am I? I m a python developer who has been working on OpenStack since I currently work for Aptira, who do OpenStack, SDN, and orchestration
Who am I? I m a python developer who has been working on OpenStack since 2011. I currently work for Aptira, who do OpenStack, SDN, and orchestration consulting. I m here today to help you learn from my
More informationAADL 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/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17
601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17 5.1 Introduction You should all know a few ways of sorting in O(n log n)
More informationQuery Processing and Optimization using Compiler Tools
Query Processing and Optimization using Compiler Tools Caetano Sauer csauer@cs.uni-kl.de Karsten Schmidt kschmidt@cs.uni-kl.de Theo Härder haerder@cs.uni-kl.de ABSTRACT We propose a rule-based approach
More informationWhat is a multi-model database and why use it?
What is a multi-model database and why use it? An When it comes to choosing the right technology for a new project, ongoing development or a full system upgrade, it can often be challenging to define the
More informationCIM Interop Model White Paper CIM V2.7. CIM Interop Model White Paper CIM Version 2.7 Version 0.9 June 19, 2003
CIM Interop Model White Paper CIM Version 2.7 Version 0.9 June 19, 2003 Abstract The DMTF Common Information Model (CIM) is a conceptual information model for describing computing and business entities
More informationIn this simple example, it is quite clear that there are exactly two strings that match the above grammar, namely: abc and abcc
JavaCC: LOOKAHEAD MiniTutorial 1. WHAT IS LOOKAHEAD The job of a parser is to read an input stream and determine whether or not the input stream conforms to the grammar. This determination in its most
More informationCIM Common Information Model
CIM Common Information Model Web-based Enterprise Management Matthias Hölzer-Klüpfel 2004-08-22, akademy, Ludwigsburg Overview What's the problem? Distributed Management Task Force Common
More informationExheritance Class Generalisation Revived
Exheritance Class Generalisation Revived Markku Sakkinen Information Technology Research Institute University of Jyväskylä P.O.Box 35 (Agora) FIN-40351 Jyväskylä Finland sakkinenm@acm.org or sakkinen@cs.jyu.fi
More informationLesson 10 BPEL Introduction
Lesson 10 BPEL Introduction Service Oriented Architectures Module 1 - Basic technologies Unit 5 BPEL Ernesto Damiani Università di Milano Service-Oriented Architecture Orchestration Requirements Orchestration
More informationCS2112 Fall Assignment 4 Parsing and Fault Injection. Due: March 18, 2014 Overview draft due: March 14, 2014
CS2112 Fall 2014 Assignment 4 Parsing and Fault Injection Due: March 18, 2014 Overview draft due: March 14, 2014 Compilers and bug-finding systems operate on source code to produce compiled code and lists
More informationUsing SMI-S with the Cloud Data Management Interface Scott Baker September 21th, 2010
Using SMI-S with the Cloud Data Management Interface Scott Baker September 21th, 2010 Scope CDMI is an interoperable & vendor neutral interface for cloud offerings consisting of. Data path Management /
More informationThis book is licensed under a Creative Commons Attribution 3.0 License
6. Syntax Learning objectives: syntax and semantics syntax diagrams and EBNF describe context-free grammars terminal and nonterminal symbols productions definition of EBNF by itself parse tree grammars
More informationModel driven Engineering & Model driven Architecture
Model driven Engineering & Model driven Architecture Prof. Dr. Mark van den Brand Software Engineering and Technology Faculteit Wiskunde en Informatica Technische Universiteit Eindhoven Model driven software
More informationSome Notes on Metadata Interchange
Some Notes on Metadata Interchange Ian A. Young V2, 3-Sep-2008 Scope These notes describe my position on the issue of metadata interchange between SAML federations. I try and lay out some terminology and
More informationLesson 3 Transcript: Part 1 of 2 - Tools & Scripting
Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting Slide 1: Cover Welcome to lesson 3 of the db2 on Campus lecture series. Today we're going to talk about tools and scripting, and this is part 1 of 2
More informationRecalling the definition of design as set of models let's consider the modeling of some real software.
Software Design and Architectures SE-2 / SE426 / CS446 / ECE426 Lecture 3 : Modeling Software Software uniquely combines abstract, purely mathematical stuff with physical representation. There are numerous
More informationCompositional Model Based Software Development
Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability
More informationPrescriptive Design Patterns Proactive Guidance for Real-World Systems. Kevin Mullet REACTOR Experience Design
Prescriptive Proactive Kevin Mullet REACTOR Experience Design Patterns are Good Capture Real Design Insights Represent Knowledge in Structured Form Impose Discipline on Design Team Encourage Designers
More informationRESTful Services for CIM (CIM-RS)
July 22-26, 2013 City Center Marriott Portland, OR RESTful Services for CIM (CIM-RS) Andreas Maier (IBM) STSM, Systems Management Architecture & Design maiera@de.ibm.com Disclaimer The information in this
More informationObject-oriented Compiler Construction
1 Object-oriented Compiler Construction Extended Abstract Axel-Tobias Schreiner, Bernd Kühl University of Osnabrück, Germany {axel,bekuehl}@uos.de, http://www.inf.uos.de/talks/hc2 A compiler takes a program
More informationMiddleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004
Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication
More informationObject-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur
Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 06 Object-Oriented Analysis and Design Welcome
More informationWhite Paper on RFP II: Abstract Syntax Tree Meta-Model
White Paper on RFP II: Abstract Syntax Tree Meta-Model OMG Architecture Driven Modernization Task Force August 18, 2004 Contributors: Philip Newcomb, The Software Revolution, Inc. Ed Gentry, Blue Phoenix,
More informationmismatch between what is maybe possible today and what is going on in many of today's IDEs.
What will happen if we do very, very small and lightweight tools instead of heavyweight, integrated big IDEs? Lecturer: Martin Lippert, VMware and Eclispe tooling expert LIPPERT: Welcome, everybody, to
More informationDesign Pattern: Composite
Design Pattern: Composite Intent Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly. Motivation
More informationWelcome to this IBM podcast, Realizing More. Value from Your IMS Compiler Upgrade. I'm Kimberly Gist
IBM Podcast [ MUSIC ] Welcome to this IBM podcast, Realizing More Value from Your IMS Compiler Upgrade. I'm Kimberly Gist with IBM. System z compilers continue to deliver the latest programming interfaces
More informationCptS 464/564 Lecture 18
CptS 464/564 Lecture 18 2nd November 2004 Checkpoint What have we covered so far? Paradigms and Models: frameworks for the discussion of DS What is the plan ahead? Next: examples of distributed systems
More informationThis guide records some of the rationale of the architecture and design of Axis.
1. Axis Architecture Guide 1.2 Version Feedback: axis-dev@ws.apache.org 1.1. Table of Contents Introduction Architectural Overview Handlers and the Message Path in Axis Message Path on the Server Message
More informationCompiling and Interpreting Programming. Overview of Compilers and Interpreters
Copyright R.A. van Engelen, FSU Department of Computer Science, 2000 Overview of Compilers and Interpreters Common compiler and interpreter configurations Virtual machines Integrated programming environments
More informationThoughts about a new UI for the Eclipse BPEL Designer
Thoughts about a new UI for the Eclipse BPEL Designer Author: Vincent Zurczak EBM WebSourcing Version: 1.0 Status: draft Date: 10/02/2011 Table of Content 1 Context...3 1.1 BPEL modeling?...3 1.2 Few words
More informationExtension Web Publishing 3 Lecture # 1. Chapter 6 Site Types and Architectures
Chapter 6 Site Types and Architectures Site Types Definition: A public Web site, an Internet Web site, an external Web site or simply a Web site is one that is not explicitly restricted to a particular
More informationSecurity Enterprise Identity Mapping
System i Security Enterprise Identity Mapping Version 6 Release 1 System i Security Enterprise Identity Mapping Version 6 Release 1 Note Before using this information and the product it supports, be sure
More informationCaptainCasa Enterprise Client. CaptainCasa Enterprise Client. CaptainCasa & Java Server Faces
CaptainCasa & Java Server Faces 1 Table of Contents Overview...3 Why some own XML definition and not HTML?...3 A Browser for Enterprise Applications...4...Java Server Faces joins the Scenario!...4 Java
More informationObject Relationships
Object Relationships Objects can work together in three different types of relationships: Uses: An object can use another to do some work (association). Composition: A complex object may be composed of
More informationIntegrated Enterprise Management Using WBEM/SNMP Gateway
Integrated Enterprise Management Using WBEM/SNMP Gateway So-Jung Lee*, Hong-Taek Ju** and James W. Hong* *Dept. of Computer Science and Engineering, POSTECH, Korea ** Dept. of Computer Engineering, Keimyung
More informationSemantic Analysis. Outline. The role of semantic analysis in a compiler. Scope. Types. Where we are. The Compiler so far
Outline Semantic Analysis The role of semantic analysis in a compiler A laundry list of tasks Scope Static vs. Dynamic scoping Implementation: symbol tables Types Statically vs. Dynamically typed languages
More informationLanguages and Compilers
Principles of Software Engineering and Operational Systems Languages and Compilers SDAGE: Level I 2012-13 4. Lexical Analysis (Scanning) Dr Valery Adzhiev vadzhiev@bournemouth.ac.uk Office: TA-121 For
More informationCDM Implementation Requirements
Document Number: DSP0255 Date: 2009-05-19 Version: 1.0.0 Document Type: Specification Document Status: DMTF Standard Document Language: E DSP0255 Copyright Notice Copyright 2009 Distributed Management
More informationIncorporating applications to a Service Oriented Architecture
Proceedings of the 5th WSEAS Int. Conf. on System Science and Simulation in Engineering, Tenerife, Canary Islands, Spain, December 16-18, 2006 401 Incorporating applications to a Service Oriented Architecture
More informationChapter 2: The Object-Oriented Design Process
Chapter 2: The Object-Oriented Design Process In this chapter, we will learn the development of software based on object-oriented design methodology. Chapter Topics From Problem to Code The Object and
More informationWelcome to another episode of Getting the Most. Out of IBM U2. I'm Kenny Brunel, and I'm your host for
Welcome to another episode of Getting the Most Out of IBM U2. I'm Kenny Brunel, and I'm your host for today's episode, and today we're going to talk about IBM U2's latest technology, U2.NET. First of all,
More informationCMPSC 497 Attack Surface
Systems and Internet Infrastructure Security Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA CMPSC 497 Attack Surface
More informationTrees. Carlos Moreno uwaterloo.ca EIT https://ece.uwaterloo.ca/~cmoreno/ece250
Carlos Moreno cmoreno @ uwaterloo.ca EIT-4103 https://ece.uwaterloo.ca/~cmoreno/ece250 Standard reminder to set phones to silent/vibrate mode, please! Announcements Part of assignment 3 posted additional
More informationProposed User Experience for Handling Multiple Identity Providers in Network Identity Manager 2.0
Proposed User Experience for Handling Multiple Identity Providers in Network Identity Manager 2.0 The current architecture of Network Identity Manager is designed around a single identity provider and
More informationXPath Expression Syntax
XPath Expression Syntax SAXON home page Contents Introduction Constants Variable References Parentheses and operator precedence String Expressions Boolean Expressions Numeric Expressions NodeSet expressions
More informationWeb Application Expectations
Effective Ruby on Rails Development Using CodeGear s Ruby IDE Shelby Sanders Principal Engineer CodeGear Copyright 2007 CodeGear. All Rights Reserved. 2007/6/14 Web Application Expectations Dynamic Static
More informationProject 1 Computer Science 2334 Spring 2016 This project is individual work. Each student must complete this assignment independently.
Project 1 Computer Science 2334 Spring 2016 This project is individual work. Each student must complete this assignment independently. User Request: Create a simple movie data system. Milestones: 1. Use
More informationLECTURE 3. Compiler Phases
LECTURE 3 Compiler Phases COMPILER PHASES Compilation of a program proceeds through a fixed series of phases. Each phase uses an (intermediate) form of the program produced by an earlier phase. Subsequent
More informationInheritance (Chapter 7)
Inheritance (Chapter 7) Prof. Dr. Wolfgang Pree Department of Computer Science University of Salzburg cs.uni-salzburg.at Inheritance the soup of the day?! Inheritance combines three aspects: inheritance
More informationResponse to the. ESMA Consultation Paper:
Response to the ESMA Consultation Paper: Draft technical standards on access to data and aggregation and comparison of data across TR under Article 81 of EMIR Delivered to ESMA by Tahoe Blue Ltd January
More informationSimple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer
Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer Minimal List Common Syntax is provided by XML To allow remote sites to interact with each other: 1. A common
More informationInstructor: Craig Duckett. Lecture 04: Thursday, April 5, Relationships
Instructor: Craig Duckett Lecture 04: Thursday, April 5, 2018 Relationships 1 Assignment 1 is due NEXT LECTURE 5, Tuesday, April 10 th in StudentTracker by MIDNIGHT MID-TERM EXAM is LECTURE 10, Tuesday,
More informationMake sure you have the latest Hive trunk by running svn up in your Hive directory. More detailed instructions on downloading and setting up
GenericUDAFCaseStudy Writing GenericUDAFs: A Tutorial User-Defined Aggregation Functions (UDAFs) are an excellent way to integrate advanced data-processing into Hive. Hive allows two varieties of UDAFs:
More informationWhy are there so many programming languages? Why do we have programming languages? What is a language for? What makes a language successful?
Chapter 1 :: Introduction Introduction Programming Language Pragmatics Michael L. Scott Why are there so many programming languages? evolution -- we've learned better ways of doing things over time socio-economic
More informationThe XML World View a personal vision with challenges
IBM Thomas J. Watson Research Center The XML World View a personal vision with challenges Kristoffer H. Rose krisrose@us.ibm.com Document Engineering 2004 October 28, 2004 Dreaming 2 The XML World View
More informationComp 411 Principles of Programming Languages Lecture 3 Parsing. Corky Cartwright January 11, 2019
Comp 411 Principles of Programming Languages Lecture 3 Parsing Corky Cartwright January 11, 2019 Top Down Parsing What is a context-free grammar (CFG)? A recursive definition of a set of strings; it is
More information6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views
1 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES Outline for Today 2 Architecture views C&C Views 1 Components and Connectors (C&C) Styles 3 Elements Relations Properties
More informationCompilers. Prerequisites
Compilers Prerequisites Data structures & algorithms Linked lists, dictionaries, trees, hash tables Formal languages & automata Regular expressions, finite automata, context-free grammars Machine organization
More informationPrinciple 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 informationProgramming Assignment IV
Programming Assignment IV 1 Introduction In this assignment, you will implement the static semantics of Cool. You will use the abstract syntax trees (AST) built by the parser to check that a program conforms
More informationDraft SDMX Technical Standards (Version 2.0) - Disposition Log Project Team
Draft SDMX Technical s (Version 2.0) - Disposition Log Project 1 Project 2 Project general general (see below for exampl es) In the document Framework for SDMX technical standards, version 2) it is stated
More informationJoining the BRICKS Network - A Piece of Cake
Joining the BRICKS Network - A Piece of Cake Robert Hecht and Bernhard Haslhofer 1 ARC Seibersdorf research - Research Studios Studio Digital Memory Engineering Thurngasse 8, A-1090 Wien, Austria {robert.hecht
More informationDiagnosing Java code: Designing extensible applications, Part 3
Diagnosing Java code: Designing extensible applications, Part 3 Examine when, where, and how black box extensibility works best Level: Introductory Eric Allen (eallen@cs.rice.edu), Ph.D. candidate, Java
More informationApplication Runtime and CIM
Application Runtime and CIM Modeling beyond today s CIM Application Model Authors: Andreas Köppel (SAP AG) andreas.koeppel@sap.com Version 1.1, June 19 2003 Agenda Introduction SAP System Landscape Directory
More informationGeneralized 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 informationCompilers and Interpreters
Overview Roadmap Language Translators: Interpreters & Compilers Context of a compiler Phases of a compiler Compiler Construction tools Terminology How related to other CS Goals of a good compiler 1 Compilers
More informationQuickSpecs. ISG Navigator for Universal Data Access M ODELS OVERVIEW. Retired. ISG Navigator for Universal Data Access
M ODELS ISG Navigator from ISG International Software Group is a new-generation, standards-based middleware solution designed to access data from a full range of disparate data sources and formats.. OVERVIEW
More informationCPSC 320 Sample Solution, Playing with Graphs!
CPSC 320 Sample Solution, Playing with Graphs! September 23, 2017 Today we practice reasoning about graphs by playing with two new terms. These terms/concepts are useful in themselves but not tremendously
More informationCSE 413 Languages & Implementation. Hal Perkins Winter 2019 Structs, Implementing Languages (credits: Dan Grossman, CSE 341)
CSE 413 Languages & Implementation Hal Perkins Winter 2019 Structs, Implementing Languages (credits: Dan Grossman, CSE 341) 1 Goals Representing programs as data Racket structs as a better way to represent
More informationCredential Management Profile
1 2 3 4 Document Number: DSP1082 Date: 2011-09-16 Version: 1.0.0 5 6 7 8 Document Type: Specification Document Status: DMTF Standard Document Language: en-us 9 DSP1082 10 11 Copyright notice Copyright
More informationLate Binding; OOP as a Racket Pattern
Late Binding; OOP as a Racket Pattern Today Dynamic dispatch aka late binding aka virtual method calls Call to self.m2() in method m1 defined in class C can resolve to a method m2 defined in a subclass
More informationThe role of semantic analysis in a compiler
Semantic Analysis Outline The role of semantic analysis in a compiler A laundry list of tasks Scope Static vs. Dynamic scoping Implementation: symbol tables Types Static analyses that detect type errors
More informationBrowsing the Semantic Web
Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 2. pp. 237 245. Browsing the Semantic Web Peter Jeszenszky Faculty of Informatics, University
More informationEvaluation of Visual Fabrique (VF)
Evaluation of Visual Fabrique (VF) Dr Peter Lappo www.smr.co.uk Scope and Method This is a review of Visual Fabrique (VF) V1.0.371 EAP Release. In order to conduct this evaluation I followed the tutorial
More informationprogramming languages need to be precise a regular expression is one of the following: tokens are the building blocks of programs
Chapter 2 :: Programming Language Syntax Programming Language Pragmatics Michael L. Scott Introduction programming languages need to be precise natural languages less so both form (syntax) and meaning
More informationUNIT V *********************************************************************************************
Syllabus: 1 UNIT V 5. Package Diagram, Component Diagram, Deployment Diagram (08 Hrs, 16 Marks) Package Diagram: a. Terms and Concepts Names, Owned Elements, Visibility, Importing and Exporting b. Common
More informationComponents of a Puppet architecture
Components of a Puppet architecture This tutorial has been taken from the second edition of Extending Puppet. Until January 9th you can pick it up for just $5. In fact - you can pick up any ebook or video
More informationAgent-Enabling Transformation of E-Commerce Portals with Web Services
Agent-Enabling Transformation of E-Commerce Portals with Web Services Dr. David B. Ulmer CTO Sotheby s New York, NY 10021, USA Dr. Lixin Tao Professor Pace University Pleasantville, NY 10570, USA Abstract:
More informationWWW Applications for an Internet Integrated Service Architecture
WWW Applications for an Internet Integrated Service Architecture T. V. Do, B. Kálmán, Cs. Király, Zs. Mihály, Zs. Molnár, Zs. Pándi Department of Telecommunications Technical University of Budapest Fax:
More informationCS02b Project 2 String compression with Huffman trees
PROJECT OVERVIEW CS02b Project 2 String compression with Huffman trees We've discussed how characters can be encoded into bits for storage in a computer. ASCII (7 8 bits per character) and Unicode (16+
More informationLanguage Extension and Composition with Language Workbenches
Language Extension and Composition with Language Workbenches Eelco Visser TU Delft E.Visser@tudelft.nl Markus Voelter Independent/itemis voelter@acm.org Different Worlds Programming Tools!= Modeling Tools
More informationFormal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5
Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 [talking head] This lecture we study theory design and implementation. Programmers have two roles to play here. In one role, they
More informationThe Essence of OOP using Java, Nested Top-Level Classes. Preface
The Essence of OOP using Java, Nested Top-Level Classes Baldwin explains nested top-level classes, and illustrates a very useful polymorphic structure where nested classes extend the enclosing class and
More informationCOP 3330 Final Exam Review
COP 3330 Final Exam Review I. The Basics (Chapters 2, 5, 6) a. comments b. identifiers, reserved words c. white space d. compilers vs. interpreters e. syntax, semantics f. errors i. syntax ii. run-time
More informationHi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides
Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides for both problems first, and let you guys code them
More informationWeb Ontology for Software Package Management
Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 331 338. Web Ontology for Software Package Management Péter Jeszenszky Debreceni
More informationJava EE 7: Back-end Server Application Development 4-2
Java EE 7: Back-end Server Application Development 4-2 XML describes data objects called XML documents that: Are composed of markup language for structuring the document data Support custom tags for data
More informationCategorizing Migrations
What to Migrate? Categorizing Migrations A version control repository contains two distinct types of data. The first type of data is the actual content of the directories and files themselves which are
More informationHeap sort. Carlos Moreno uwaterloo.ca EIT
Carlos Moreno cmoreno @ uwaterloo.ca EIT-4103 http://xkcd.com/835/ https://ece.uwaterloo.ca/~cmoreno/ece250 Standard reminder to set phones to silent/vibrate mode, please! Last time, on ECE-250... Talked
More information