use cases for the open-source textual product-modeling environment vclipse

28
Use Cases for the Open-Source Textual Product-Modeling Environment VClipse Tim Geisler webXcerpt Software GmbH [email protected] CWG 2013, Vienna 2013-05-07

Upload: tim-geisler

Post on 15-Aug-2015

354 views

Category:

Software


0 download

TRANSCRIPT

Use Cases forthe Open-Source

Textual Product-Modeling Environment

VClipse

Tim Geisler

webXcerpt Software GmbH

[email protected]

CWG 2013, Vienna 2013-05-07

VClipse: Eclipse-based TextualProduct Modeling Environment

VClipse is Open Source

● www.vclipse.org

● Hosted at Eclipse Labs / Google Code

● Eclipse Public License (EPL)

− Use and source code free of charge− Freedom for development, adaption,

and inclusion in your tools− Your development is only under EPL,

if you change EPL-licensed code,but not when you add new modules.

● Ongoing development and maintenance

Textual Product Modeling in VClipse

VCML: own domain-specific textual languagefor objects of VC models

Uses textual languages defined by SAPfor dependency source code

Interface to SAP ECC (ALE, RFC)

● Based on SAP JCo and IDoc library● RFC interface

− Create, Read, Update, Delete− Extract recursively: model extraction

● ALE interface− Sending models via IDocs (PDR)− Delta calculation

– Compute and send only changed objects

− „One-click delta deployment“– Send delta via PDR, automatic processing in SAP

Use Cases: Overview

● Product modeling● Model extraction● Comparing and merging models● Model validation● Model migration● High-level product modeling● Collaborative product modeling● Automatic model testing

Product Modeling

Validation

Content AssistQuickfixes

Cross References

Product Modeling

Outline

TemplatesFolding

Renamerefactoring

Where used?

Model Extraction

● Based on standard SAP RFCs and BAPIs

● Extraction from ERP

● Flat or recursive extraction

● Options to control what will be extracted

● Possibility to exclude already extracted objects or sets of objects common to several models

Model Extraction

● What can you do with extracted models?− View / browse / ...− Store (e.g., in a version-control system)− Modify and deploy on same / on other system− Compare / merge− Validate− Transform

Comparing and Merging Models

● Compare models from different systems− VClipse in real project: compare and merge models for

same product which diverged in different systems over time

● Compare evolution of models over time− Store extracted models in version-control system− Compare selected versions− When version-control system supports branching and

merging, also VC models can be branched and merged.

Tools for Comparing and Merging

● Standard textual comparison and merging built into Eclipse

Tools for Comparing and Merging

● Comparison using Eclipse modeling technologyEMF Compare or EMF DiffMerge

− Object-based matching and comparison− Has to / can be adapted− Own comparison and merging operations

implementable– Ignore certain differences– Automatically add new values and new translations of

descriptions– ...

Model Validation

● Standard validation

● Powerful Eclipse „Problems View“:

− Can be filtered− Navigate to location of problem− Apply quick fixes

● You can easily implement your validation rules yourself in Java

− Validation wrt. company conventions− Naming conventions

− Validation wrt. VC/IPC compatibility− Implement „quick fix“ - intelligent support to fix problems

Model Transformations -Transform models to SAP VC

● VCML as textual language for VC objects− easy to generate from all kind of tools which could be

source of a model, e.g. legacy configurator, Excel, …● Transformation does not need to be complete● Manual modifications in / additions to migrated model

possible(„regions which have to be transformed manually“)

● VClipse's IDE features + general Eclipse editing features available (replace, regular expressions, templates, ...)

● VClipse's SAP backend for free

Model Transformations -Transform models from SAP VC

● Model extraction from SAP using VClipse● VCML implemented using Eclipse Modeling Framework

− Easy to navigate meta model– Containment and non-containment references

− Can be used as source for transformation● Various transformation languages can be used

− Java− Eclipse Xtend (much more concise)− Special model to model transformation languages

● Target of transformation has probably Java API

Higher-Level Product Modeling

● VClipse is used as target of transformationfrom a higher-level modeling languageimplemented with the same technologies

RFC

Editor/IDE

Editor/IDE

ConfigModeler

VClipse

CML

VCML

Code Generation

Higher-Level Product Modeling

● Project „ConfigModeler“ atNokia Siemens Networks

− High-level modeling language with NSN's concepts

− Code generation uses NSN's conventions and framework

− Integrated side languages for UI, help texts, testing

− Used for 2/3 of all models in productive system

− VClipse originates from this project

● Built several prototypes for other companies

CML: Product model

CMLUI: User Interface

CMLT: Test cases

Higher-Level Product Modelingfor Model Migration

● Idea: nearly 1:1 migration from legacy system to newly to-be designed textual modeling language xCML

− Export from legacy system– Probably export to some textual language already exists– Should be easy to implement even in legacy system itself

− xCML models can be modified manually using tools– Model cleanup using standard or language-specific Eclipse tools– Textual model does not need to be consistent / complete during all

phases of migration process

● Code generation from xCML to VCML

− Dependent on target model● Does not need to be complete – rest is done manually

Collaborative Model Development

● Eclipse has interfaces to state-of-the-art tools required for software development in a team

● Version-control system

− e.g., Subversion, CVS, Git, Perforce, ClearCase, Team Foundation Server

− Answer the question „Who changed what and why?“

− Merge, compare, and restore versions

● Task-management system

− e.g., Bugzilla, Trac, Assembla, Jira, HP Quality Center

− Collect information on tasks (specification, discussion, but also related model changes)

− Some systems provide code-review features

− Context-awareness / task-focused work through Eclipse Mylyn

− Eclipse manages work contexts which are attached to tasks

Automatic Model Testing

● Interface to ConfigConfigScanScan suite from Fysbeeallows to execute test cases from within VClipse

Test Log view

Navigate to error

Group by failures

Automatic Model Testing: VCMLT

● Test language VCMLT for describing test cases for VCML models contributed by Winfried Kung

● Test cases are connected to the model – this simplifies test-case maintenance

Summary

● Discussed several use cases for VClipse− Some from real projects, some from prototypes− Models are represented as textual documents− Documents are represented internally as data

structures− Bi-directional interface to SAP available− VClipse is free to use and to extend

● What could be your use case?

VClipse - Try It Out

● Ready-to-run from memory stick● Eclipse 4.2.2 (Juno SR2) for Windows 32/64 bit

including Java VM● VClipse installed

− win32\eclipse\eclipse.exe

− win32-x86_64\eclipse\eclipse.exe

● Sample workspace− win32\workspace

− win32-x86_64\workspace

● Configured for CWG-sandbox use

VClipse Installation and Configuration

● SAP:− for ALE interface

– 2 function modules required (providers of IDoc and UPS package numbers)

– PDR customizing: logical system

− for RFC interface– Autorizations of RFCs have to be set

● User's machine:− Eclipse (+ Java) installation− Within Eclipse, install from update site

http://update.vclipse.org− Setup of SAP system in Eclipse preferences

We are Interested in ...

● Getting more users● Feedback and new requirements from users● Further use cases● Contributions

− Bug reports− Improved user documentation− Further development (patches, new features)− In the long run:

– Community building– Patches, add-ons, and extensions by you

Extended Demo

● Contact me in after the talk, in the breaks, tomorrow afternoon for a face-to-face demo session at the conference

● Send me a mail ([email protected]) for a demo session via telco after the conference