Megamodels as models of the linguistic architecture of software products and software technologies



Similar documents
Metamodels and Modeling Multiple Kinds of Information Systems

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

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

Towards a Common Metamodel for the Development of Web Applications

Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl

Model-Driven Data Warehousing

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

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

All you need are models Anneke Kleppe, Klasse Objecten

Implementing reusable software components for SNOMED CT diagram and expression concept representations

Lecture 2: Domain-Specific Logic Languages (DSLL) or Logic-based Domain-Specific Languages (LDSL)

Information Management Metamodel

CHAPTER 2 LITERATURE SURVEY

What is a metamodel: the OMG s metamodeling infrastructure

An Ontological Approach to Oracle BPM

CHANGEABILITY IN MODEL DRIVEN WEB DEVELOPMENT

Model-Driven Architecture: Vision, Standards And Emerging Technologies

XML Data Movement Components for Teradata

Model-Driven Development - From Frontend to Code

OXAGILE RESUMES SUMMARY OF QUALIFICATIONS TECHNICAL SKILLS SENIOR JAVA SOFTWARE ENGINEER

DSL Design. Model Transformations. Model Transformations. Language g Implementation Strategies

Semantic Web Technologies and Data Management

Development of Tool Extensions with MOFLON

Designing a Semantic Repository

Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework (EMF)

CST6445: Web Services Development with Java and XML Lesson 1 Introduction To Web Services Skilltop Technology Limited. All rights reserved.

Semantic Stored Procedures Programming Environment and performance analysis

Recent Advances in Eclipse QVTO!

Generating Enterprise Applications from Models

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

USAGE OF BUSINESS RULES IN SUPPLY CHAIN MANAGEMENT

Concrete uses of XML in software development and data analysis.

JAVA/J2EE DEVELOPER RESUME

Creating visualizations through ontology mapping

Textual Modeling Languages

Automated transformations from ECA rules to Jess

REST vs. SOAP: Making the Right Architectural Decision

Using Object And Object-Oriented Technologies for XML-native Database Systems

Simplifying e Business Collaboration by providing a Semantic Mapping Platform

technische universiteit eindhoven WIS & Engineering Geert-Jan Houben

Business Performance Management Standards

Ontologies for Software Engineering and Software Technology

Introduction to MAPFORCE Student Edition

Polyglot Multi-Paradigm. Modeling. MDA in the Real World. Stefan Tilkov

UML Modelling of Automated Business Processes with a Mapping to BPEL4WS

High Performance XML Data Retrieval

T Network Application Frameworks and XML Web Services and WSDL Tancred Lindholm

Semantic Interoperability

Combining Unstructured, Fully Structured and Semi-Structured Information in Semantic Wikis

Course 4 27 October Adrian Iftene adiftene@info.uaic.ro

Integrating XML Data Sources using RDF/S Schemas: The ICS-FORTH Semantic Web Integration Middleware (SWIM)

The Ontological Approach for SIEM Data Repository

Paul Zenden Sioux Technische Software Ontwikkeling Science Park Eindhoven EP Son Tel: +31 (0)

MODELING AND GENERATING THE USER INTERFACE OF MOBILE DEVICES AND WEB DEVELOPMENT WITH DSL

Semantic-enabled Software Engineering and Development

business transaction information management

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

Author: Daniël van t Oever

DDI Lifecycle: Moving Forward Status of the Development of DDI 4. Joachim Wackerow Technical Committee, DDI Alliance

Spoilt for Choice Which Integration Framework to choose? Mule ESB. Integration. Kai Wähner

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems by Sparx Systems

Tool Support for Model Checking of Web application designs *

Developing Web Services with Eclipse

Yet Another DSL for Cross-platforms Mobile Development

Federated, Generic Configuration Management for Engineering Data

CHAPTER 6 EXTRACTION OF METHOD SIGNATURES FROM UML CLASS DIAGRAM

Experiences with JSON and XML Transformations IBM Submission to W3C Workshop on Data and Services Integration October , Bedford, MA, USA

Eindhoven University of Technology

Integration of Microsoft Visio and Eclipse Modeling Framework Using M3-Level-Based Bridges

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

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

Language Convergence Infrastructure

Agents and Web Services

Redefining Static Analysis A Standards Approach. Mike Oara CTO, Hatha Systems

Open Data Integration Using SPARQL and SPIN

CSE 132A. Database Systems Principles

COS 333: Advanced Programming Techniques

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools

Advances in Model Driven Engineering

A generic approach for data integration using RDF, OWL and XML

Transcription:

19 April 2012 Megamodels as models of the linguistic architecture of software products and software technologies Ralf Lämmel (Software Languages Team) on behalf of Jean-Marie Favre, Thomas Schmorleiz, and Andrei Varanovich http://101companies.org

Speaker bio Ralf Lämmel Professor of CS at University of Koblenz-Landau Leader of the Software Languages Team @ Koblenz Co-founder of SLE conference series Co-founder of GTTSE summer school series Previous jobs: MSFT, VU (A dam), CWI, Uni Rostock Interests: languages, grammars, software language engineering, software linguistics, transformations, automation, lambdas, programs, technologies, understanding,... Casualty of social networks

Context: Technical space travel for developers, researchers, and educators in the 101companies project.

Technical space travel for developers, researchers, and educators What s a technical space?

Technical space = Technology and community context in software engineering Objectware (more specifically: Javaware) Modelware Grammarware XMLware Ontoware Tableware (aka Tupleware, Dataware)...

Technical space travel for developers, researchers, and educators What s technical space travel?

Technical space travel Abstractly: Handle multiple technical spaces simultaneously Less dramatically Handle multiple technologies simultaneously Acquire skills for a new technology Concretely: Master Object/Relational/XML mapping Master domain-specific languages

Too much technologies. Too little time. EMF SQL TENEO Java XSD DOM Antlr OWL UML XMI Ecore SQL DDL XLST Saxon Hibernate Awk Json Yacc JAXP Rest OWL RDF ATOM SparQL XSLT DTD BNF XSD OCL Prolog grep MOF OMG QVT jdom Rose Protegé XQuery ODM XMLSpy JPA JAXB JDBC ODBC MySQL ArgoUML Jean Jena Jena Ralf Dragan TXL VLDB EMF.gen ORACLE TCS XText Teneo Jersey GWT Sesame Stratego XPATH JeanBeans UTF8 ASCII RDFa RDF(S) RDFS CFG LALR ER SLE2010 xerces xalan saxon sax sed XSD JMI JMF SBVR

Issues XPATH with Jena Rose TXL JDBC Sesame EMF.gen software technologies JPA XText jdom JAXB Jersey RDF(S) UTF8 Jena ODM XSD MOF UML JeanBeans Teneo BNF VLDB Stratego xerces GWT SLE2010 Json OCL sax Ralf RDFS saxon OWL OWL Ecore Rest MySQL RDF Jean OMG XMI ORACLE JMI EMF JMF XSD ArgoUML xalan ODBC SparQL XMLSpy Yacc RDFa LALR XSLT Prolog JAXP Protegé CFG SBVR DOM Java ATOM ER Silos of knowledge Combining technologies Complexity of technologies Entering a new space Teaching technologies SQL DDL Dragan SQL Antlr QVT TENEO XLST Awk DTD sed Saxon TCS grep ASCII XSD Hibernate XQuery

Technical space travel for developers, researchers, and educators Developers may need to travel like this. How do we care as researchers? How do we care as educators?

The student-centric view Why would you study computer science, if your ultimate destiny is to get lost in space and technology?

Popular faculty opinion 1 Practice is terribly complex. University should not bother.

Popular faculty opinion 2 Practice is too complex. University can not bother.

Popular faculty opinion 3 Practice is incidentally complex. University must not bother.

Proposed opinion shift Practice is amazingly complex and does not go away. University and research should, can, and must bother and help.

Technical space travel for developers, researchers, and educators http://www.fotocommunity.de/pc/pc/display/18564779 Time to let the cat out of the bag.

Issues XPATH with Jena Rose TXL JDBC jdom JAXB Jersey RDF(S) UTF8 Jena ODM XSD MOF UML JeanBeans Teneo BNF VLDB Silos Stratego of knowledge xerces GWT SLE2010 Json Combining OCL sax technologies Ralf RDFS saxon OWL OWL Complexity of technologies Ecore Rest MySQL RDF Jean OMG XMI ORACLE Entering a JMInew EMF space JMF XSD ArgoUML xalan ODBC SparQL XMLSpy Yacc RDFa Teaching technologies? LALR XSLT Prolog JAXP Protegé CFG SBVR DOM Java ATOM ER SQL DDL Dragan TENEO XLST Awk sed grep Hibernate Sesame EMF.gen software technologies JPA XText In need of... analogies SQL Antlr DTD Saxon TCS ASCII XSD XQuery QVT examples abstractions

Analogies Examples Abstractions

Modelware XMLware Ontoware Tableware Grammarware Meta language MOF XSD RDFS SQL.DDL EBNF Navigation Query OCL XPath XQuery SPARQL SQL Transfo. QVT XSLT TXL ASF Toolkit ArgoUML Rose XMLSpy VS-XML Protégé Topbeard MySQL Oracle MetaEnv. Conferences MoDELS ECMDA XML VLDB ICSW ESWC VLDB SIGMOD CC POPL

Analogy in space travel Modelware XMI XMLware Teneo JMI EMF.gen JAXB JDOM Dataware Sesame Ontoware JDBC Hibernate JPA Jena Javaware

Use of an ontology (taxonomy) for the organization of technologies and languages 21

Use of an ontology (taxonomy) for the organization of technologies and languages 22

Analogies Examples Abstractions

Implement many Human Resources Management Systems Company X: Swing + JDBC Company Y: SWT + Hibernate Company Z: GWT + MongoDB... Many different implementations (and specifications) of about the same, in fact, feature-wise differing human-resources management system using different software technologies and software languages. http://101companies.org

Basic data model of the HRMS

Demo $ pwd /Users/laemmel/101companies/contributions/html5local $ open index.html

Basic features of the HRMS Serialize companies Total salaries Cut salaries

The feature model of the HRMS Cut salaries Total salaries Persist companies All features are optional. Parallelize operations

Distribution of files for 101companies implementations # Files Implementations

Distribution of LOC for 101companies implementations LOC Implementations

Technologies used in 101companies implementations

Languages used in 101companies implementations

Demo

Plan for the demo Start at 101companies landing page. Enter search string HTML5 Browse github for HTML5 implementation Explore wiki: Themes of implementations The Web programming theme The Java mapping theme Feature model Ontology Show resources

Analogies Examples Abstractions

What is the essence of technology xyz?

Summary: why is 101companies important and how to contribute? Compare to Wikipedia Compare to Stack Overflow Semantic web Technology adoption Think of SE/PL courses

Meat: Megamodels as models of the linguistic architecture of software products and software technologies.

What s a megamodel? Uses MegaL/yEd

What s a megamodel? Uses MegaL/yEd

The notion of megamodel Megamodels are (ER) models. Entities of interest Languages Technologies (components thereof) Programs... Relationships of interest Conformance Transformation...

That s a megamodel, too! http://en.wikipedia.org/wiki/tombstone_diagram

Yet another ATL Documentations megamodel!! ATL Starter s Guide Date 07/12/2005! MMM What to think of this part? MM a M a conformsto conformsto conformsto conformsto MM t M t conformsto conformsto MM b Transformation M b Model transformations with ATL Figure 1. An overview of model transformation Figure 1 summarizes the full model transformation process. A model M a, conforming to a metamodel MM a, is here transformed into a model M b that conforms to a metamodel MM b. The transformation is defined by the model transformation model M t which itself conforms to a model transformation metamodel MM t. This last metamodel, along with the MM a and MM b metamodels, has to conform to a metametamodel http://wiki.eclipse.org/atl/concepts#model_transformation (such as MOF or Ecore). 3 A simple transformation example This section introduces the transformation example that is going to be developed in the document. The aim of this first example is to introduce users with the basic concepts of the ATL programming. To this end, this example considers two similar metamodels, Author (Figure 2) and Person (Figure 3), that

That s nearly the same megamodel. del-driven Engineering 33 Metametamodel conforms to Metamodel conforms to Model + source conforms to conforms to TransformationMetamodel + source conforms to Metamodel + target TransformationModel conforms to Model represented by + target Transformation Model transformations Is this is a function or an application thereof? Figure 2.6: Model transformation megamodel Bas Graaf: Model-Driven Evolution of Software Architectures, Dissertation, Delft University of Technology, 2007. s in the Object Constraint Language 1 (OCL) to select the elements

Megamodel of O/X mapping with xsd.exe http://softlang.uni-koblenz.de/mega/ Uses MegaL/yEd

Megamodel of a software product Uses MegaL/yEd

Research questions Can we do heavy lifting with megamodeling? Does a general megamodeling language exist? What are the entities of linguistic architecture? What are the relationships of interest? (What is a good visual syntax?) How to validate megamodels?

Heavy lifting with megamodeling Claim by this speaker: Megamodeling lifts heavily once it can explain, for example, Object/Relational/XML mapping at a high level of abstraction in a comprehensible and falsifiable manner. More generally, megamodeling must help with managing diversity and heterogeneity of software technologies.

Fig. 1. The linguistic architecture of a software product when displayed with the Me- Demo

Dependencies of implementation

MegaL/yEd

Cont d

MegaL -- summary Entities and relationships Types relate to 101companies ontology Actual entities or placeholders thereof MegaL/yEd: visual notation MegaL/Txt: textual notation MegaL/RDF: RDF representation Binding: Turn placeholders into entities Linking: Link online artifacts to entities

A megamodel for Object/XML mapping http://black42.uni-koblenz.de/production/101worker/ MegaModels/capabilities/Object_XML_mapping/MegaL/

Conclusion 101companies helps technological space travelers. Megamodels model linguistic architecture. Finally, we understand Object/XML mapping. There is going to be a related summer school in Koblenz: SoTeSoLa -- Software Technologies and Software Languages Thanks! Questions?