Language-Oriented Programming am Beispiel Lisp

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Language-Oriented Programming am Beispiel Lisp"

Transcription

1 Language-Oriented Programming am Beispiel Lisp Arbeitskreis Objekttechnologie Norddeutschland HAW Hamburg, Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik und Capgemini sd&m Research 1 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

2 Agenda Introduction & Example A few words on Lisp DSLs for business information systems The big picture Agile development Conclusion 2 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

3 My Background Diplom-Informatiker, Universität Kaiserslautern: Lisp as first programming language Focus on artificial intelligence (AI): thesis on machine learning Ph.D. Computer Science, University of Wollongong, Australia: Thesis on transactions in distributed object-oriented systems 11 years with sd&m: Development of large-scale business information systems Developer, chief architect, project manager, department manager, head of sd&m Research Hochschule Darmstadt University of Applied Sciences Professor for software engineering and project management Focus on software architecture 3 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

4 Language-Oriented Programming Instead of simply writing your application in the base language, you build on top of the base language a language for writing programs like yours, then write your program in it. Paul Graham, Hackers & Painters, 2004 DSL = Domain-Specific Language 4 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

5 IDE: Allegro Common Lisp Express Edition Franz Inc. 5 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

6 6 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

7 7 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

8 Agenda Introduction & Example A few words on Lisp DSLs for business information systems The big picture Agile development Conclusion 8 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

9 Lisp = List Processing List: the basic Lisp data structure (1 2 3) ( This is a list of strings ) ((:key1. value1) (:key2. value2)) (:key1 value1 :key2 value2) (((3) 2 (4)) 1 (() 5 (6))) Lisp Programs are data: (factorial 5) ( ) (if condition (then-operation) (else-operation)) (defun identity (x) x) (defclass Customer (name address)) Association list Property list Binary Tree Function call: prefix notation Control structures Lisp Programs are represented by their syntax trees convenient transformation of Lisp programs via macro processor :key1 value1 :key2 value2 9 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences Function definition Class definition 1 5 6

10 Configuration data Program code Interactive console (REPL) IDE: Allegro Common Lisp Express Edition 10 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Franz Sciences. Inc. 2009

11 Agenda Introduction & Example A few words on Lisp DSLs for business information systems A query language A rules language A workflow language The big picture Agile development Conclusion 11 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

12 Excursus: The Quasar reference architecture for business information systems Services (Use Cases) class Quasar Architecture «Abstract T Compo... Workflow Management «Abstract T Compo... Client Management «Abstract T Compo... Batch Management pkg Application Components Entity Managers (DAOs, Controllers) A-Component 3 UseCase 3.1 UseCase 3.2 «A Component» Workflow «A Component» Dialog «A Component» Batch A-Controller 3.1 A-Controller 3.2 A-Controller 3.3 Workflows A-Entity 3.1 A-Entity 3.2 A-Entity 3.3 Dialogs «Abstract T Compo... Application Kernel Facade Entities «A Component» Application Component «Abstract T Compo... Authorization Application data types «Abstract T Compo... Transaction «Abstract T Compo... Persistence Queries 12 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

13 Example: A simple DSL for application data types 13 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

14 Example: A simple DSL for entity types 14 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

15 Criteria for a good DSL A DSL consists of: Syntax needs an editor to program in Semantics needs a compiler and a runtime environment to execute Good Syntax is: Concise Easy and intuitively to understand Semantics should be: Expressive / powerful Efficient implementation Example DSLs: Query language Rules language Workflow language 15 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

16 Agenda Introduction & Example A few words on Lisp DSLs for business information systems A query language A rules language A workflow language The big picture Agile development Conclusion 16 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

17 A general object database query language Local variable Persistent class Auxiliary variable not needed in result set Conjunctive clauses Any form of Lisp expression allowed. Here: object navigation 17 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

18 Agenda Introduction & Example A few words on Lisp DSLs for business information systems A query language A rules language A workflow language The big picture Agile development Conclusion 18 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

19 Excursus on semantic web technology: RDF(S) Resource Description Framework (Schema) Statement Subject Predicate Object has-income Huber Huber rdf:type Person Person rdf:type rdfs:class has-income rdf:type rdf:property has-income rdfs:domain Person has-income rdfs:range xs:integer 19 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

20 XML syntax for RDF(S): no appropriate langauge for representating knowledge Meaning: Course CIT2112 is taught by teachers , , and Source: Antoniou, van Harmelen: A Semantic Web Primer 20 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

21 Simplify URI syntax (add-triple!ins:franz!ins:has-disease!ins:heart-stroke) < < < 21 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

22 Provide means for declaring classes and instances (add-class!ins:person :comment "Natural Person" :see-also!ins:profession) (add-instance!ins:huber!ins:person) (ADD-TRIPLE!ins:Person!rdf:type!rdfs:class) (ADD-TRIPLE!ins:Person!rdfs:comment (LITERAL "Natural Person")) NIL (ADD-TRIPLE!ins:Person!rdfs:seeAlso!ins:Profession)) (ADD-TRIPLE!ins:Huber!rdf:type!ins:Person) 22 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

23 Provide means for declaring properties (add-property!ins:person!ins:has-desease!ins:disease) (add-triple!ins:franz!ins:has-disease!ins:heart-stroke) (ADD-TRIPLE!ins:has-desease!rdf:type!rdf:Property) (ADD-TRIPLE!ins:has-desease!rdfs:domain!ins:Person) (ADD-TRIPLE!ins:has-desease!rdfs:range!ins:Disease) (add-triple!ins:franz!ins:has-disease!ins:heart-stroke) 23 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

24 A rules language oriented on Prolog Facts Rules: Head <- goal 1 goal n Variables Unification of variables and terms Interactive Query 24 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

25 Agenda Introduction & Example A few words on Lisp DSLs for business information systems A query language A rules language A workflow language The big picture Agile development Conclusion 25 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

26 Customer Identification Rating A Workflow Language no Create Customer Account accept XOR accept Receive Customer Request Check whether Account exists XOR yes XOR Rate Customer XOR Rate-manually Manually rate customer XOR reject reject XOR reject Inform customer on rejection accept Policy preparation Contract signing Policy signed Finalize Policy Prepare policy Send polic to customer Receive signed policy XOR Policy not signed Binding period passed No Policy 26 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

27 Named workflow Synchronous invocation of service Manual activities can be accessed via worklist dialogs Voucher mechanism: waits until value has been set Worflows are services that can be invoked Asynchronous invocation of service 27 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

28 Waiting for external events Waiting for timing conditions 28 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

29 Agenda Introduction & Example A few words on Lisp DSLs for business information systems The big picture Agile development Conclusion 29 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

30 Domain-specific languages (DSL) or different general-purpose languages (GPL) may be derived from a base language (BL) Project-specific DLS e.g., GUI style guide BIS DSL Family E.g., Quasar BIS = Business Information Systems. Reference architecture includes dialogs, components, services, entity managers, entities, data types Object-oriented GPL e.g., CLOS + extensions Query DSL Configuration DSL e.g., Scribble, XML Test DSL e.g., LispUnit Functional GPL e.g., Scheme Business Process DSL Rules DSL e.g., Prolog Base Language (BL) e.g., Common Lisp S-Expressions Legend: Language Based on 30 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

31 Language design and application design are relevant for application development Level Content Example M3: Meta-Meta- Model Base-Language Common Lisp S-Expressions S-Expr ::= Atom (S-Expr*) Atom ::= Relevant for application development M2: Meta-Model M1: Model Languages (GPL, DSL) (Language-Design) Applications (Design & Implementation) Entity.lang.lisp Insurance.entity.lisp (defmacro define-entity (name attributes) ) (define-entity Customer (id name address) ) M0: Instance Objects (Runtime) Entity Customer (Customer :id 42 :name Smith ) 31 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

32 The language stack describes the configuration of language versions (GPL, DSL) based on each other Project-specific extension BIS Entity Language GP OO Language Base Language Insurance Entity Version x.y.z Quasar Entity Version x.y.z CLOS + extensions Version x.y.z Common Lisp S-Expressions Version x.y.z Language Configuration 32 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

33 Agenda Introduction & Example A few words on Lisp DSLs for business information systems The big picture Agile development Conclusion 33 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

34 Incremental language design allows scaling the language to the problem domain. Incremental application development allows stepwise increase of quality Production-ready Integratable Prototypical Ad-hoc Vertical scalabiliy via quality levels: Incremental application development. Conformance checks ensure quality levels Horizontal scalabiliy via languages (GPL, DSL): Incremental language design Query Language Business Process Language 34 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

35 Example for vertical scalability: Successively adding typing, documentation, error handling, pre- / post-conditions etc. Parameter typing Vertical scalabiliy via quality levels Conformance checks for typing, documentation etc. Full documentation Pre- and Postconditions Error specification Ad-hoc: Untyped Undocumented No error handling No implementation 35 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

36 Agenda Introduction & Example A few words on Lisp DSLs for business information systems The big picture Agile development Conclusion 36 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

37 Conclusion and discussion Language oriented programming (LOP) allows specifiying a solution to a problem on the appropriate level of abstraction Lisp is well suited for LOP Programming of a high level of abstraction is useful BUT BUT BUT Defining languages is hard Language versioning is a problem Lisp is not widely adopted in industry Every complex abstration is leaky (Spolsky) What is your opinion? 37 Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciences. 2009

LANGUAGE-ORIENTED PROGRAMMING VIA DSL STACKING

LANGUAGE-ORIENTED PROGRAMMING VIA DSL STACKING LANGUAGE-ORIENTED PROGRAMMING VIA DSL STACKING Bernhard G. Humm Darmstadt University of Applied Sciences, Department of Computer Science, Darmstadt, Germany Bernhard.Humm@h-da.de Ralf S. Engelschall Capgemini

More information

Semantic Modeling with RDF. DBTech ExtWorkshop on Database Modeling and Semantic Modeling Lili Aunimo

Semantic Modeling with RDF. DBTech ExtWorkshop on Database Modeling and Semantic Modeling Lili Aunimo DBTech ExtWorkshop on Database Modeling and Semantic Modeling Lili Aunimo Expected Outcomes You will learn: Basic concepts related to ontologies Semantic model Semantic web Basic features of RDF and RDF

More information

5. Advanced Object-Oriented Programming Language-Oriented Programming

5. Advanced Object-Oriented Programming Language-Oriented Programming 5. Advanced Object-Oriented Programming Language-Oriented Programming Prof. Dr. Bernhard Humm Faculty of Computer Science Hochschule Darmstadt University of Applied Sciences 1 Retrospective Functional

More information

OWL based XML Data Integration

OWL based XML Data Integration OWL based XML Data Integration Manjula Shenoy K Manipal University CSE MIT Manipal, India K.C.Shet, PhD. N.I.T.K. CSE, Suratkal Karnataka, India U. Dinesh Acharya, PhD. ManipalUniversity CSE MIT, Manipal,

More information

Cedalion A Language Oriented Programming Language (Extended Abstract)

Cedalion A Language Oriented Programming Language (Extended Abstract) Cedalion A Language Oriented Programming Language (Extended Abstract) David H. Lorenz Boaz Rosenan The Open University of Israel Abstract Implementations of language oriented programming (LOP) are typically

More information

RDF Resource Description Framework

RDF Resource Description Framework RDF Resource Description Framework Fulvio Corno, Laura Farinetti Politecnico di Torino Dipartimento di Automatica e Informatica e-lite Research Group http://elite.polito.it Outline RDF Design objectives

More information

ECS 165A: Introduction to Database Systems

ECS 165A: Introduction to Database Systems ECS 165A: Introduction to Database Systems Todd J. Green based on material and slides by Michael Gertz and Bertram Ludäscher Winter 2011 Dept. of Computer Science UC Davis ECS-165A WQ 11 1 1. Introduction

More information

Unified Modeling Language (UML) for Database Systems and Computer Applications

Unified Modeling Language (UML) for Database Systems and Computer Applications Unified Modeling Language (UML) for Database Systems and Computer Applications Sunguk Lee * Research Institute of Industrial Science and Technology Pohang, Korea sunguk@rist.re.kr *Correspondent Author:

More information

WHITE PAPER. Peter Drucker. intentsoft.com 2014, Intentional Software Corporation

WHITE PAPER. Peter Drucker. intentsoft.com 2014, Intentional Software Corporation We know now that the source of wealth is something specifically human: knowledge. If we apply knowledge to tasks we already know how to do, we call it productivity. If we apply knowledge to tasks that

More information

7. Excursus: Business Information Systems Darmstadt University of Applied Sciences, Department of Computer Science Dr. Markus Voß (Accso GmbH)

7. Excursus: Business Information Systems Darmstadt University of Applied Sciences, Department of Computer Science Dr. Markus Voß (Accso GmbH) SOA Service Oriented Architecture 7. Excursus: Business Information Systems Darmstadt University of Applied Sciences, Department of Computer Science Dr. Markus Voß (Accso GmbH) Today s topic 1. Introduction

More information

10. Service Oriented Architecture Reference Architectures and Patterns

10. Service Oriented Architecture Reference Architectures and Patterns 10. Service Oriented Architecture Reference Architectures and Patterns Winter Semester 2008 / 2009 Prof. Dr. Bernhard Humm Darmstadt University of Applied Sciences Department of Computer Science 1 Prof.

More information

Introduction to Service Oriented Architectures (SOA)

Introduction to Service Oriented Architectures (SOA) Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction

More information

The Service Revolution software engineering without programming languages

The Service Revolution software engineering without programming languages The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)

More information

Challenges and Opportunities for formal specifications in Service Oriented Architectures

Challenges and Opportunities for formal specifications in Service Oriented Architectures ACSD ATPN Xi an China June 2008 Challenges and Opportunities for formal specifications in Service Oriented Architectures Gustavo Alonso Systems Group Department of Computer Science Swiss Federal Institute

More information

Chapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages

Chapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages Chapter 1 CS-4337 Organization of Programming Languages Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705 Chapter 1 Topics Reasons for Studying Concepts of Programming

More information

Business Logic Integration Platform. D.Sottara, PhD OMG Technical Meeting Spring 2013, Reston, VA

Business Logic Integration Platform. D.Sottara, PhD OMG Technical Meeting Spring 2013, Reston, VA Business Logic Integration Platform D.Sottara, PhD OMG Technical Meeting Spring 2013, Reston, VA Outline Part I The Consolidated Past : Drools 5.x Drools Expert Object-Oriented, Production Rule engine

More information

YouTrack MPS case study

YouTrack MPS case study YouTrack MPS case study A case study of JetBrains YouTrack use of MPS Valeria Adrianova, Maxim Mazin, Václav Pech What is YouTrack YouTrack is an innovative, web-based, keyboard-centric issue and project

More information

Application Architectures

Application Architectures Software Engineering Application Architectures Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain the organization of two fundamental models of business systems - batch

More information

12 Lists and Recursive Search

12 Lists and Recursive Search 12 Lists and Recursive Search Chapter Objectives Chapter Contents Lisp processing of arbitrary symbol structures Building blocks for data structures Designing accessors The symbol list as building block

More information

IBM WebSphere ILOG Rules for.net

IBM WebSphere ILOG Rules for.net Automate business decisions and accelerate time-to-market IBM WebSphere ILOG Rules for.net Business rule management for Microsoft.NET and SOA environments Highlights Complete BRMS for.net Integration with

More information

Raising Abstractions for the Software Defined Business

Raising Abstractions for the Software Defined Business Smart Process is Smart Business Raising Abstractions for the Software Defined Business Presented to GoTo Chicago, May 12, 2015 Dave Duggal, Managing Director dave@enterpriseweb.com Bill Malyk, Chief System

More information

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development * for Domain-Specific Software Development * Hiroshi Wada Advisor: Junichi Suzuki Department of Computer Science University of Massachusetts, Boston hiroshi_wada@otij.org and jxs@cs.umb.edu Abstract. This

More information

An Automated Workflow System Geared Towards Consumer Goods and Services Companies

An Automated Workflow System Geared Towards Consumer Goods and Services Companies Proceedings of the 2014 International Conference on Industrial Engineering and Operations Management Bali, Indonesia, January 7 9, 2014 An Automated Workflow System Geared Towards Consumer Goods and Services

More information

SWARD: Semantic Web Abridged Relational Databases

SWARD: Semantic Web Abridged Relational Databases SWARD: Semantic Web Abridged Relational Databases Johan Petrini and Tore Risch Department of Information Technology Uppsala University Sweden {Johan.Petrini,Tore.Risch}@it.uu.se Abstract The semantic web

More information

Research Topics 2009. MDD & PL 2009 Stefan Tilkov stefan.tilkov@innoq.com

Research Topics 2009. MDD & PL 2009 Stefan Tilkov stefan.tilkov@innoq.com Research Topics 2009 MDD & PL 2009 Stefan Tilkov stefan.tilkov@innoq.com About innoq Technology Consultancy Focus: Efficient software development & Service-oriented architecture Ratingen, Darmstadt, Munich,

More information

13 RDFS and SPARQL. Internet Technology. MSc in Communication Sciences 2011-12 Program in Technologies for Human Communication.

13 RDFS and SPARQL. Internet Technology. MSc in Communication Sciences 2011-12 Program in Technologies for Human Communication. MSc in Communication Sciences 2011-12 Program in Technologies for Human Communication Davide Eynard nternet Technology 13 RDFS and SPARQL 2 RDF - Summary Main characteristics of RDF: Abstract syntax based

More information

12. Design for Testability Reference Architectures and Patterns

12. Design for Testability Reference Architectures and Patterns 12. Design for Testability Reference Architectures and Patterns Winter Semester 2008 / 2009 Prof. Dr. Bernhard Humm Darmstadt University of Applied Sciences Department of Computer Science 1 Prof. Dr. Bernhard

More information

Grids, Logs, and the Resource Description Framework

Grids, Logs, and the Resource Description Framework Grids, Logs, and the Resource Description Framework Mark A. Holliday Department of Mathematics and Computer Science Western Carolina University Cullowhee, NC 28723, USA holliday@cs.wcu.edu Mark A. Baker,

More information

6.2 Reporting BIPublisher Improvements

6.2 Reporting BIPublisher Improvements 6.2 Reporting BIPublisher Improvements Paul Hamill Senior Director, OTM Development 2011 OTM SIG Philadelphia, PA August 16-18, 2011 Safe Harbor Statements The following is intended

More information

Ikasan ESB Reference Architecture Review

Ikasan ESB Reference Architecture Review Ikasan ESB Reference Architecture Review EXECUTIVE SUMMARY This paper reviews the Ikasan Enterprise Integration Platform within the construct of a typical ESB Reference Architecture model showing Ikasan

More information

Importance of Data Abstraction, Data Virtualization, and Data Services Page 1

Importance of Data Abstraction, Data Virtualization, and Data Services Page 1 Importance of Data Abstraction, Data Virtualization, and Data Services David S. Linthicum The management of data is core to successful IT. However, few enterprises have a strategy for the use of data assets,

More information

Object Database on Top of the Semantic Web

Object Database on Top of the Semantic Web WSS03 Applications, Products and Services of Web-based Support Systems 97 Object Database on Top of the Semantic Web Jakub Güttner Graduate Student, Brno Univ. of Technology, Faculty of Information Technology,

More information

Architectural Design

Architectural Design Software Engineering Architectural Design 1 Software architecture The design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural

More information

8. Business Intelligence Reference Architectures and Patterns

8. Business Intelligence Reference Architectures and Patterns 8. Business Intelligence Reference Architectures and Patterns Winter Semester 2008 / 2009 Prof. Dr. Bernhard Humm Darmstadt University of Applied Sciences Department of Computer Science 1 Prof. Dr. Bernhard

More information

Business Process Execution Language for Web Services

Business Process Execution Language for Web Services Business Process Execution Language for Web Services Second Edition An architect and developer's guide to orchestrating web services using BPEL4WS Matjaz B. Juric With Benny Mathew and Poornachandra Sarang

More information

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics: Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations

More information

Textual Modeling Languages

Textual Modeling Languages Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics

More information

Lecture 1: Introduction

Lecture 1: Introduction Programming Languages Lecture 1: Introduction Benjamin J. Keller Department of Computer Science, Virginia Tech Programming Languages Lecture 1 Introduction 2 Lecture Outline Preview History of Programming

More information

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS In order to ease the burden of application lifecycle management,

More information

An Approach for the Systematic Development of Domain-Specific Languages

An Approach for the Systematic Development of Domain-Specific Languages An Approach for the Systematic Development of Domain-Specific Languages Mark Strembeck 1, Uwe Zdun 2 1 Institute of Information Systems, New Media Lab Vienna University of Economics and BA, Austria mark.strembeck@wu-wien.ac.at

More information

mbeddr: an Extensible MPS-based Programming Language and IDE for Embedded Systems

mbeddr: an Extensible MPS-based Programming Language and IDE for Embedded Systems mbeddr: an Extensible MPS-based Programming Language and IDE for Embedded Systems Markus Voelter independent/itemis voelter@acm.org Daniel Ratiu Bernhard Schaetz Fortiss {ratiu schaetz}@fortiss.org Bernd

More information

Oracle SOA Suite 11g : Build Composite Applications

Oracle SOA Suite 11g : Build Composite Applications Oracle University Contact Us: 1.800.529.0165 Oracle SOA Suite 11g : Build Composite Applications Duration: 5 Days What you will learn This course teaches you to design and develop SOA composite applications

More information

BUSINESS RULES MANAGEMENT AND BPM

BUSINESS RULES MANAGEMENT AND BPM KINGSTON & CROYDON BRANCH BUSINESS RULES MANAGEMENT AND BPM WHO'S MANAGING YOUR RULES? Paul Vincent Rules Specialist and Product Management Fair Isaac October 12, 2005 Agenda Business Rules Approach a

More information

DataStorm 2013 Workshop on Large-Scale Data Management

DataStorm 2013 Workshop on Large-Scale Data Management Domain Specific Languages for Large- Scale-Data Applications DataStorm 203 Workshop on Large-Scale Data Management 6/7/203 Alberto Rodrigues da Silva (on behalf of the Information Systems Group, INESC-ID)

More information

Developing Physical Solutions for InfoSphere Master Data Management Server Advanced Edition v11. MDM Workbench Development Tutorial

Developing Physical Solutions for InfoSphere Master Data Management Server Advanced Edition v11. MDM Workbench Development Tutorial Developing Physical Solutions for InfoSphere Master Data Management Server Advanced Edition v11 MDM Workbench Development Tutorial John Beaven/UK/IBM 2013 Page 1 Contents Overview Machine Requirements

More information

Service Oriented Architecture. 9. Integration Darmstadt University of Applied Sciences, Department of Computer Science Dr. Markus Voß (Accso GmbH)

Service Oriented Architecture. 9. Integration Darmstadt University of Applied Sciences, Department of Computer Science Dr. Markus Voß (Accso GmbH) SOA Service Oriented Architecture 9. Integration Darmstadt University of Applied Sciences, Department of Computer Science Dr. Markus Voß (Accso GmbH) Today s topic 1. Introduction 2. Business Architecture

More information

Big Data, Fast Data, Complex Data. Jans Aasman Franz Inc

Big Data, Fast Data, Complex Data. Jans Aasman Franz Inc Big Data, Fast Data, Complex Data Jans Aasman Franz Inc Private, founded 1984 AI, Semantic Technology, professional services Now in Oakland Franz Inc Who We Are (1 (2 3) (4 5) (6 7) (8 9) (10 11) (12

More information

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Object Oriented Databases OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Executive Summary The presentation on Object Oriented Databases gives a basic introduction to the concepts governing OODBs

More information

Accessing Data with ADOBE FLEX 4.6

Accessing Data with ADOBE FLEX 4.6 Accessing Data with ADOBE FLEX 4.6 Legal notices Legal notices For legal notices, see http://help.adobe.com/en_us/legalnotices/index.html. iii Contents Chapter 1: Accessing data services overview Data

More information

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages ICOM 4036 Programming Languages Preliminaries Dr. Amirhossein Chinaei Dept. of Electrical & Computer Engineering UPRM Spring 2010 Language Evaluation Criteria Readability: the ease with which programs

More information

Model-Driven Development - From Frontend to Code

Model-Driven Development - From Frontend to Code Model-Driven Development - From Frontend to Code Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de Markus Völter voelter@acm.org www.voelter.de -1- Model Driven

More information

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards) Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards) Michael P. Papazoglou (INFOLAB/CRISM, Tilburg University, The Netherlands)

More information

Semantic Web Languages: RDF vs. SOAP Serialisation

Semantic Web Languages: RDF vs. SOAP Serialisation : University of Dortmund Computer Science VIII stefan.haustein@udo.edu : Why look at something else? Is RDF(S) not sufficient? What is SOAP? Why is SOAP important? Is SOAP Serialisation really an alternative

More information

IBM Operational Decision Management v8

IBM Operational Decision Management v8 What s new in WebSphere Operational Decision Management? Matt Roberts Decision Management Specialist July 12 th, 2012 IBM Operational Decision Management v8 Manage business policies at scale Operationalize

More information

Dynamic website development using the Grails Platform. Joshua Davis Senior Architect Cognizant Technology Solutions joshua.davis@cognizant.

Dynamic website development using the Grails Platform. Joshua Davis Senior Architect Cognizant Technology Solutions joshua.davis@cognizant. Dynamic website development using the Grails Platform Joshua Davis Senior Architect Cognizant Technology Solutions joshua.davis@cognizant.com Topics Covered What is Groovy? What is Grails? What are the

More information

FIPA agent based network distributed control system

FIPA agent based network distributed control system FIPA agent based network distributed control system V.Gyurjyan, D. Abbott, G. Heyes, E. Jastrzembski, C. Timmer, E. Wolin TJNAF, Newport News, VA 23606, USA A control system with the capabilities to combine

More information

Service-Oriented Architecture and Software Engineering

Service-Oriented Architecture and Software Engineering -Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based

More information

Managing enterprise applications as dynamic resources in corporate semantic webs an application scenario for semantic web services.

Managing enterprise applications as dynamic resources in corporate semantic webs an application scenario for semantic web services. Managing enterprise applications as dynamic resources in corporate semantic webs an application scenario for semantic web services. Fabien Gandon, Moussa Lo, Olivier Corby, Rose Dieng-Kuntz ACACIA in short

More information

Raghu R Kodali Consulting Product Manager, & Evangelist Oracle Fusion Middleware Oracle USA Author Beginning EJB 3 Application Development (Apress)

Raghu R Kodali Consulting Product Manager, & Evangelist Oracle Fusion Middleware Oracle USA Author Beginning EJB 3 Application Development (Apress) Integrating BPEL, Workflow & Business Rules Raghu R Kodali Consulting Product Manager, & Evangelist Oracle Fusion Middleware Oracle USA Author Beginning EJB 3 Application Development (Apress) Agenda Why

More information

Visual Basic. murach's TRAINING & REFERENCE

Visual Basic. murach's TRAINING & REFERENCE TRAINING & REFERENCE murach's Visual Basic 2008 Anne Boehm lbm Mike Murach & Associates, Inc. H 1-800-221-5528 (559) 440-9071 Fax: (559) 440-0963 murachbooks@murach.com www.murach.com Contents Introduction

More information

Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations CHROME: A Model-Driven Component- Based Rule Engine Jairson Vitorino PhD Thesis, CIn-UFPE February 2009 Supervisor: Prof. Jacques Robin Ontologies Reasoning Components Agents Simulations Contents 1. Context

More information

Service Oriented Architecture Based Integration. Mike Rosen CTO, AZORA Technologies, Inc. Mike.Rosen@Azoratech.com

Service Oriented Architecture Based Integration. Mike Rosen CTO, AZORA Technologies, Inc. Mike.Rosen@Azoratech.com Service Oriented Architecture Based Integration Mike Rosen CTO, AZORA Technologies, Inc. Mike.Rosen@Azoratech.com Mike Rosen ACCESS TO THE EXPERTS Consultant Chief Enterprise Architect for service and

More information

Scope. Cognescent SBI Semantic Business Intelligence

Scope. Cognescent SBI Semantic Business Intelligence Cognescent SBI Semantic Business Intelligence Scope...1 Conceptual Diagram...2 Datasources...3 Core Concepts...3 Resources...3 Occurrence (SPO)...4 Links...4 Statements...4 Rules...4 Types...4 Mappings...5

More information

Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1

Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 Programmers rejoice: QML makes business people understand Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 About me My company What I do at work Where I live What is it all about? Agenda

More information

Business Rule Standards -- Interoperability and Portability

Business Rule Standards -- Interoperability and Portability Rule Standards -- Interoperability and Portability April 2005 Mark H. Linehan Senior Technical Staff Member IBM Software Group Emerging Technology mlinehan@us.ibm.com Donald F. Ferguson IBM Fellow Software

More information

Deploying to WebSphere Process Server and WebSphere Enterprise Service Bus

Deploying to WebSphere Process Server and WebSphere Enterprise Service Bus Deploying to WebSphere Process Server and WebSphere Enterprise Service Bus Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 Unit objectives

More information

Service Oriented Architecture

Service Oriented Architecture Service Oriented Architecture Charlie Abela Department of Artificial Intelligence charlie.abela@um.edu.mt Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline

More information

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence Service Oriented Architecture SOA and Web Services John O Brien President and Executive Architect Zukeran Technologies

More information

Computer/Information Science Course Descriptions

Computer/Information Science Course Descriptions Computer/Information Science Course Descriptions COMS 1003: Introduction to Computer Based Systems Provides students with both computer concepts and hands-on applications. Although little or no prior computer

More information

today 1,700 special programming languages used to communicate in over 700 application areas.

today 1,700 special programming languages used to communicate in over 700 application areas. today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin

More information

Definition of SOA. Capgemini University Technology Services School. 2006 Capgemini - All rights reserved November 2006 SOA for Software Architects/ 2

Definition of SOA. Capgemini University Technology Services School. 2006 Capgemini - All rights reserved November 2006 SOA for Software Architects/ 2 Gastcollege BPM Definition of SOA Services architecture is a specific approach of organizing the business and its IT support to reduce cost, deliver faster & better and leverage the value of IT. November

More information

Service-Oriented Architectures

Service-Oriented Architectures Architectures Computing & 2009-11-06 Architectures Computing & SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems

More information

LINKED DATA EXPERIENCE AT MACMILLAN Building discovery services for scientific and scholarly content on top of a semantic data model

LINKED DATA EXPERIENCE AT MACMILLAN Building discovery services for scientific and scholarly content on top of a semantic data model LINKED DATA EXPERIENCE AT MACMILLAN Building discovery services for scientific and scholarly content on top of a semantic data model 22 October 2014 Tony Hammond Michele Pasin Background About Macmillan

More information

DIABLO VALLEY COLLEGE CATALOG 2014-2015

DIABLO VALLEY COLLEGE CATALOG 2014-2015 COMPUTER SCIENCE COMSC The computer science department offers courses in three general areas, each targeted to serve students with specific needs: 1. General education students seeking a computer literacy

More information

13 Variables, Datatypes, and Search

13 Variables, Datatypes, and Search 13 Variables, Datatypes, and Search Chapter Objectives Chapter Contents Variables introduced Basic support for type systems Fundamental to search Creating and binding variables set let Depth-first search

More information

SERG. WebDSL A Domain-Specific Language for Dynamic Web Applications

SERG. WebDSL A Domain-Specific Language for Dynamic Web Applications Delft University of Technology Software Engineering Research Group Technical Report Series WebDSL A Domain-Specific Language for Dynamic Web Applications D.M. Groenewegen, Z. Hemel, L.C.L. Kats, E. Visser

More information

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Component-Based Software Engineering Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain that CBSE is concerned with developing standardised components

More information

Enterprise Application Development Using UML, Java Technology and XML

Enterprise Application Development Using UML, Java Technology and XML Enterprise Application Development Using UML, Java Technology and XML Will Howery CTO Passage Software LLC 1 Introduction Effective management and modeling of enterprise applications Web and business-to-business

More information

Language-oriented Software Development and Rewriting Logic

Language-oriented Software Development and Rewriting Logic Language-oriented Software Development and Rewriting Logic Christiano Braga cbraga@ic.uff.br http://www.ic.uff.br/ cbraga Universidade Federal Fluminense (UFF) Language-oriented Software Development and

More information

Eclipse for Smalltalkers

Eclipse for Smalltalkers Eclipse for Smalltalkers What a difference a year makes! Eric Clayberg Sr. Vice President of Product Development Instantiations, Inc. July 14, 2003 clayberg@instantiations.com http://www.instantiations.com

More information

A Multi-layered Domain-specific Language for Stencil Computations

A Multi-layered Domain-specific Language for Stencil Computations A Multi-layered Domain-specific Language for Stencil Computations Christian Schmitt, Frank Hannig, Jürgen Teich Hardware/Software Co-Design, University of Erlangen-Nuremberg Workshop ExaStencils 2014,

More information

How to Build Successful DSL s. Jos Warmer Leendert Versluijs

How to Build Successful DSL s. Jos Warmer Leendert Versluijs How to Build Successful DSL s Jos Warmer Leendert Versluijs Jos Warmer Expert in Model Driven Development One of the authors of the UML standard Author of books Praktisch UML MDA Explained Object Constraint

More information

Standardontologie für Wissensmanagement

Standardontologie für Wissensmanagement Projektergebnis Standardontologie für Wissensmanagement im SW-Engineering Projektidentifikation: Ergebnis ID: Arbeitspaket(e): Autor(en): Koordinator: WAVES Wissensaustausch bei der verteilten Entwicklung

More information

An approach for the systematic development of domain-specific languages

An approach for the systematic development of domain-specific languages SOFTWARE PRACTICE AND EXPERIENCE Softw. Pract. Exper. 2009; 39:1253 1292 Published online 28 August 2009 in Wiley InterScience (www.interscience.wiley.com)..936 An approach for the systematic development

More information

Enterprise Reference Architecture

Enterprise Reference Architecture Prepared by Enterprise Planning and Architecture Strategies Team Page 1 of 19 Control Page: Revision History: Version No Revised Date Author Comments 03/18/2011 Anitha Ramakrishnan Initial Version Page

More information

The ConTract Model. Helmut Wächter, Andreas Reuter. November 9, 1999

The ConTract Model. Helmut Wächter, Andreas Reuter. November 9, 1999 The ConTract Model Helmut Wächter, Andreas Reuter November 9, 1999 Overview In Ahmed K. Elmagarmid: Database Transaction Models for Advanced Applications First in Andreas Reuter: ConTracts: A Means for

More information

today 1,700 special programming languages used to communicate in over 700 application areas.

today 1,700 special programming languages used to communicate in over 700 application areas. today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin

More information

Analysis of the Specifics for a Business Rules Engine Based Projects

Analysis of the Specifics for a Business Rules Engine Based Projects Analysis of the Specifics for a Business Rules Engine Based Projects By Dmitri Ilkaev and Dan Meenan Introduction In recent years business rules engines (BRE) have become a key component in almost every

More information

Course Descriptions - Computer Science and Software Engineering

Course Descriptions - Computer Science and Software Engineering One of the nation's top undergraduate engineering, science, and mathematics colleges Course Descriptions - Computer Science and Software Engineering Professors Anderson, Boutell, Chenoweth, Chidanandan,

More information

Koen Aers JBoss, a division of Red Hat jbpm GPD Lead

Koen Aers JBoss, a division of Red Hat jbpm GPD Lead JBoss jbpm Overview Koen Aers JBoss, a division of Red Hat jbpm GPD Lead Agenda What is JBoss jbpm? Multi Language Support Graphical Process Designer BPMN Reflections What is it? JBoss jbpm is a sophisticated

More information

Microsoft s new database modeling tool: Part 1

Microsoft s new database modeling tool: Part 1 Microsoft s new database modeling tool: Part 1 Terry Halpin Microsoft Corporation Abstract: This is the first in a series of articles introducing the Visio-based database modeling component of Microsoft

More information

Oracle Service Bus Examples and Tutorials

Oracle Service Bus Examples and Tutorials March 2011 Contents 1 Oracle Service Bus Examples... 2 2 Introduction to the Oracle Service Bus Tutorials... 5 3 Getting Started with the Oracle Service Bus Tutorials... 12 4 Tutorial 1. Routing a Loan

More information

RDF Resource Description Framework

RDF Resource Description Framework RDF Resource Description Framework Rückblick HTML Auszeichnung, vorgegeben XML, XHTML, SGML Auszeichnung, eigene RDF, OWL Auszeichnung, inhaltliche Einordnung RDF-Model RDF-Konzept (Tripel) RDF-Graph RDF-Syntax

More information

1/20/2016 INTRODUCTION

1/20/2016 INTRODUCTION INTRODUCTION 1 Programming languages have common concepts that are seen in all languages This course will discuss and illustrate these common concepts: Syntax Names Types Semantics Memory Management We

More information

Oracle SOA Suite 11g: Build Composite Applications

Oracle SOA Suite 11g: Build Composite Applications Oracle University Contact Us: 1.800.529.0165 Oracle SOA Suite 11g: Build Composite Applications Duration: 0 Days What you will learn This course covers designing and developing SOA composite applications

More information

COMPUTER SCIENCE TRIPOS

COMPUTER SCIENCE TRIPOS CST.98.5.1 COMPUTER SCIENCE TRIPOS Part IB Wednesday 3 June 1998 1.30 to 4.30 Paper 5 Answer five questions. No more than two questions from any one section are to be answered. Submit the answers in five

More information

Getting Started with Service- Oriented Architecture (SOA) Terminology

Getting Started with Service- Oriented Architecture (SOA) Terminology Getting Started with - Oriented Architecture (SOA) Terminology Grace Lewis September 2010 -Oriented Architecture (SOA) is a way of designing, developing, deploying, and managing systems it is neither a

More information

New Features in Neuron ESB 2.6

New Features in Neuron ESB 2.6 New Features in Neuron ESB 2.6 This release significantly extends the Neuron ESB platform by introducing new capabilities that will allow businesses to more easily scale, develop, connect and operationally

More information

Process Implications of Model-Driven Software Development

Process Implications of Model-Driven Software Development Process Implications of Model-Driven Software Development Author: Jorn Bettin Version 1.0 September 2004 Copyright 2003, 2004 SoftMetaWare Ltd. SoftMetaWare is a trademark of SoftMetaWare Ltd. All other

More information

Realization of Inventory Databases and Object-Relational Mapping for the Common Information Model

Realization of Inventory Databases and Object-Relational Mapping for the Common Information Model Realization of Inventory Databases and Object-Relational Mapping for the Common Information Model Department of Physics and Technology, University of Bergen. November 8, 2011 Systems and Virtualization

More information