EMFT 1.0 Release Review (OCL, Query, Transaction, and Validation)

Similar documents
Unified Modeling Language (MDT UML2) 3.0 Galileo Simultaneous Release Review. 4 June, 2009

EMF Ganymede Simultaneous Release

EMF Compare Ganymede Simultaneous Release

Object Constraint Language (MDT OCL) 1.3 Galileo Simultaneous Release Review

EMF Europa Simultaneous Release

Acceleo Galileo Simultaneous Release

GMF 2.0 Europa Simultaneous Release

EMF Compare Galileo Simultaneous Release

EMFT Mint (Incubation) 0.7 Ganymede Simultaneous Release Review

Tools for mobile Linux Release Review Dec 2009

e4 Project 0.9 Release Review

TPTP 4.7 Release Review -- One Quick Foil What s new

Eclipse Foundation, Inc. Copyright 2005 by Intel, IBM, Scapa Technologies and others and made available under the EPL v1.0 1

Planned Review Date: June 10, 2009 Communication Channel: eclipse.tools.emf Dave Steinberg and Ed Merks

Dali JPA Tools Project Graduation Review

Towards A Common Build Infrastructure: Designing For Reusability

Eclipse Data Tools Platform (DTP) 0.7 Release Review. Eclipse DTP PMC March 8, 2006

Equinox Project 3.6 Release Review

MDT OCL Goes Generic. Introduction to OCL and Study of the Generic Metamodel and API. Christian W. Damus IBM Rational Software OCL Committer

CISC836: Models in Software Development: Methods, Techniques and Tools

Eclipse Data Tools Platform (DTP) 1.8 Release Review. Eclipse DTP PMC May 28, 2010

Eclipse Packaging Project

Eclipse Modeling Framework (EMF) Paweł Żalejko

Papyrus: Advent of an Open Source IME at Eclipse (Redux)

Eclipse Technology Project: g-eclipse

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.

Eclipse Process Framework Project

Quick tour of the Test and Performance Tools Platform (TPTP) Valentina Popescu IBM Tivoli TPTP AG Lead

WindowBuilder Graduation & Release Review

ECF 3.0 Release Review

Introduction To Model-to-Model Transformation

Eclipse Memory Analyzer Graduation, Move and 1.0 Release Review

Introduction to EGF. Benoît Langlois / Thales Global Services.

Graphiti Release Review

Eclipse Memory Analyzer Release Review

Eclipse Memory Analyzer Release Review 0.8

Zest: Move Review. Transition from Mylyn to GEF. Component Lead: R. Ian Bull. University of Victoria & IBM Centre for Advanced Studies

Embedded Rich Client Platform (ercp) 1.0 Release Review

Artop (AUTOSAR Tool Platform) Whitepaper

WSDM = Web Services Distributed Management, an open standard/specified ratified by OASIS

The Galilean Moons of Eclipse

How to apply EMF model refactorings

Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support

What s new in CDT 4.0 and beyond. Doug Schaefer QNX Software Systems CDT Project Lead

Embedded Rich Client Platform (ercp) 1.2 Release Review

An Implementation of the Behavior Annex in the AADL-toolset Osate2

Eclipse Project 3.6 Release Review

JSR 377 Desktop Application Framework September Andres Almiray

SCA Tools: new & noteworthy

Object Teams Release Review. Planned Review Date: July 7, 2010 Communcation Channel: Submitted by: Stephan Herrmann

OCL Tooling for OMG specifications

Eclipse Packaging Project

The Eclipse Modeling Framework and MDA Status and Opportunities

Kermeta tutorial. How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette. Abstract

Sequence Diagram Generation with Model Transformation Technology

Eclipse project update by the Eclipse project PMC March 11 th 2008

Web Tools Platform (WTP) 3.1

ECLIPSE PERSISTENCE PLATFORM (ECLIPSELINK) FAQ

Eclipse SOA Tooling Platform: Project Overview. An Overview of the Eclipse STP (SOA Tooling Platform) Project

JSR Review Process. May Patrick Curran, Mike Milinkovich, Heather Vancura, Bruno Souza

Integrity 10. Curriculum Guide

ADT: Eclipse development tools for ATL

How to generate new EMF model refactorings using Java code

Kermeta tutorial. How to create a metamodel. François Tanguy, Didier Vojtisek. Abstract

FREQUENTLY ASKED QUESTIONS

IBM Rational Software Architect

GMF Tooling 3.0 Vision, Architecture, Roadmap

DOC2MODEL. This document is a docuware for creation review and describes the doc2model project.

Design Document CDT Remote Search/Index Framework. Chris Recoskie Vivian Kong Mike Kucera Jason Montojo. IBM Corporation

Buckminster. Helios Review. May, Cloudsmith Inc - Made available under the Eclipse Public License.

(Meta)Models between MetaEdit+

FDD Process #1: Develop an Overall Model

MAENAD Modeling Workbench

Smart Client development with the Eclipse Rich Client Platform

MAEANAD Modeling Workbench

Linux Tools 0.6 Release Review

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect

ATESST2 D4.2.1 Grant Agreement

m2e 1.2 Release Review

What is Metamodeling and Code Generation All About

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

Introduction to Eclipse

Deliverable: D 1.2 Specification of Traceability concepts

MCP in a Modern Integrated Environment (UN 4015 D) Tim Schulz Enterprise Architect

ECLIPSE MODELING PROJECT

BPMN modeler project Creation review. Wednesday, Oct. 29 8am PT. Feedback and communication: eclipse.bpmn-modeler newsgroup

CDT 7.0 Helios Release Review. Planned Review Date: June 11, 2010 Communication Channel: cdt-dev Doug Schaefer

JIVE: Dynamic Analysis for Java

Lessons learned from building Eclipse-based add-ons for commercial modeling tools

Introduction to MDE and Model Transformation

Wikileaking Eclipse Modeling - Spilling the beans on how industry uses EMF based tooling successfully! Ronan Barrett, Ericsson

with openarchitectureware

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Planned Review Date: Communication Channel: news://eclipse.technology.linuxtools Andrew Overholt

Buckminster. Ganymede Review. May, Cloudsmith Inc - Made available under the Eclipse Public License.

DRAFT. Consolidation of the Generator Infrastructure MDGEN Model Driven Generation

Eclipse Lyo Overview. Michael Fiedler, Eclipse Lyo committer IBM Corporation

EAXML Demonstration Platform on Artop/Sphinx.

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007

Transcription:

EMFT 1.0 Release Review (OCL, Query, Transaction, and Validation) June 16, 2006 Christian Damus EMFT Developer IBM, Ottawa 1 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

Agenda Features Non-code Aspects API Tool Usability Architectural Issues End of Life Bugzilla Standards UI Usability Schedule Process Communities IP Issues Project Plan Based on Release Review Guidelines version 032 (Jan 15, 2006) 2 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

EMFT 1.0 Features OCL, Validation and Query OCL: The OCL component provides capabilities for queries, constraint parsing, constraint validation and content assist for user models. It defines the API for constructing, validating, and evaluating OCL queries and constraints on EMF model elements. The OCL expression syntax is used to implement OCL queries and constraints. It provides support for OCL syntax completion and parsing on the metamodel and user model level. Validation: The validation component provides capabilities used to ensure model integrity. Query: The query component provides capabilities to specify and execute queries against EMF model elements and their contents 3 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

EMFT 1.0 Features - Transaction Transaction: The transaction component provides a model management layer built on top of EMF for managing EMF resources. It provides API that include extensions to the EditingDomain and related APIs of the EMF.Edit framework, and an internal model of transactions. It consists of two layers: a non-eclipse core, providing primarily the "transaction model", and an Eclipse workspace integration layer. 4 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

EMFT 1.0 Features (contd.) Additional Noteworthy Features: 114921 IOclHelper should evaluate OclExpressions (pre-parsed) 109469 EcoreEnvironment to configure arbitrary EPackage.Registry 114105 Adoption of ICU4J requirements - OCL, Query and Validatio... 121753 Write globalization tests - OCL, Query and Validation Com... 112953 OCL engine lacks support for stereotypes 113884 Provide ability to recognize attribute inheritance by the... 114106 Remove dependency on ANTLR from the OCL component 127113 Implement changes in OCL 2.0 final specification 5 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

Non-code Aspects Documentation available at http://download.eclipse.org/technology/emft/javadoc/index.php Localization/Externalization Adopted ICU4J as per platform requirement Translation verification test-cases updated Increased JUnit / automated testing coverage Complete SDK/Documentation/Tutorials and Examples for OCL, Validation, Query and Transaction components in the examples feature OCL article submitted by committer Christian Damus for review (https://bugs.eclipse.org/bugs/show_bug.cgi?id=143580) 6 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

API Validation, OCL, Query and Transaction Either public or within internal namespace (no provisional ) API is Eclipse Quality (http://www.eclipse.org/projects/dev_process/eclipsequality.php) The project is operating fully in the open using open source rules of engagement Full use of Bugzilla, newsgroups, mailing lists. Published development guidelines and build process 7 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

API Validation The validation component provides the following capabilities. 1) Constraint Definition - Provides API for defining constraints for any EMF metamodel (batch and live constraints). 2) Customizable model traversal algorithms - Extensibility API to support metamodels that require custom strategies for model traversal. 3) Constraint parsing for languages - Provides support for parsing the content of constraint elements defined in specific languages. The validation framework provides support for two languages: Java and OCL. Validation also supports the "EMF" language for hooking up EMF-style constraints to the framework 4) Configurable constraint bindings to application contexts - API support to define "client contexts" that describe the objects that need to be validated and to bind them to constraints that need to be enforced on these objects. 5) Validation listeners - Support for listening to validation events. 6) Eclipse Integration - The validation framework (through the UI plugin) provides support for requesting a UI dialog to come up for live validation errors/warnings in a particular validation context. The framework provides support for eclipse markers (e.g. MarkerUtil) 8 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

API OCL The OCL component provides the following capabilities to support OCL integration. 1) API for the OCL abstract syntax model, including the visitor pattern for processing ASTs. 2) Provides API for parsing and evaluating OCL query and constraint expressions 3) OCL expressions are used to implement OCL queries (Query) and constraints. 4) API for OCL integration into the Query framework 5) OCL already supports stand-alone deployment, though the packaging must be tweaked by the consumer 9 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

API - Transaction The transaction component provides the following capabilities. 1) Multi-threading - Supports a protocol for clients to read and write EMF models on multiple threads. 2) Model Integrity - Semantic integrity is ensured by automatic validation to detect invalid changes and semantic procedures to proactively maintain correctness of semantic dependencies. 3) Batched Events - Clients are notified of groups of related changes in batches, rather than as a stream of EMF notifications. In particular, this allows applications to analyze change sets in their entirety. 4) Undo/Redo - For a simplified programming model, the API automatically tracks changes applied to models without the need for client code to use EMF edit Commands. These changes are encapsulated in transactions/operations that can undo and redo themselves. 5) Editing Domain - Support cooperative editing of models by multiple editors/applications. EMF resources can be shared amongst different editing domains. 6) Eclipse Workspace - The API provides traceability between EMF resources and workspace resources. 7) Eclipse Operations - The API supports the Eclipse operation history as an undo stack for undo/redo of resource changes. The API provides a framework for undoable operations that automatically capture undo/redo information, which can be interleaved on the same history with dependent operations that do not modify the EMF model. 10 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

API - Query The query component facilitates the process of search and retrieval of model elements of interest in a flexible yet controlled and structured manner. Provides API support for the basic EObject based Condition objects that are used to formulate queries for EMF models. The query component provides the following classes/interfaces to support queries. 1) The IEObjectSource interface provides the search scope elements to be used in a query. 2) The SELECT class implements a template-function that does the iteration over model elements and applies the search condition on each; it collects the resulting elements into a QueryResultSet object and returns it to the caller. 3) The FROM class represents the elements to search. It is responsible of providing an appropriate iterator for the elements in the search space. 4) The WHERE class applies the search conditions over the elements in the search set. 5) The UPDATE class passes the elements who satisfy the search condition to a callersupplied modification function. It collects the modified elements into a QueryResultSet object and returns it to the caller. 6) The QueryResultSet class represents the set of elements returned by a given query. 7) The EObjectCondition class is the abstract parent of all conditions that deal with modelelements (i.e., EObjects). It incorporates the services of a PruneHandler in order to answers whether or not to prune the element tree at a specific element and thus ignore its children. 8) The ConditionPolicy class is used to allow the user to decide how to apply a given condition on a collection of a model-element EAttributes or EReferences values. Supports both the: exists (ANY) and for-all (ALL) semantics. 9) The EObjectStructuralFeatureValueCondition class is the parent class for conditions that are responsible for checking the values held in model-elements attributes or references. 11 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

Tool Usability EMFT provides a comprehensive set of examples for the OCL, Validation, Query and Transaction components. These examples are backed by tutorials that walk the user through the code (API usage) in these examples. These examples are available through the SDK feature and can be installed into the workspace by the user using the Eclipse Examples Wizard. The examples demonstrate the functionality using a library example meta-model 12 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

Architectural Issues Core architecture is stable EMFT introduces non-critical new features as internal or in examples (OCL Example, Validation Example, Transaction Example) Gives us a chance to address any problems, revamp architecture if necessary, gather usage data Execution independent of Eclipse - Next release must determine the level of Eclipse independence that EMFT should support Query JUnits currently depend on UML metamodel, which adds an artificial build dependency on the UML2 project The Query infrastructure could be made more optimal in its searches in the next release 13 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

End of Life This is 1.0 Release. So all API is new. No classes / methods were deprecated in 1.0 14 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

Bugzilla Between October 5, 2005 and today: 157 reports were created 149 were fixed 7 bugs deferred Existing P1s and P2s 0 Bugs outstanding 2 Zero blockers or critical bugs remain 15 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

Standards Relevant standards: In use by EMFT OCL: OCL - Object Constraint Language (OCL 2.0 Specification ) EMFT OCL based on ptc/2005-06-06 revision Syntax compliance: support for parsing the complete grammar, with all appropriate type conformance checks. Most well-formedness rules are implemented XMI compliance: EMFT OCL supports XMI serialization of expressions according to the Abstract Syntax, but deviates slightly in the definition of the standard library from the recommendations in Section 13.2 vis-a-vis data type operations. Also, some EMOF/UML types are not imported from their respective schemata but are replicated in the OCL schema where Ecore provides none Evaluation compliance: support for allinstances() Loosely aligned with EssentialOCL, with Ecore as the metamodel. Provides API extensibility for UML constructs (CompleteOCL) 16 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

UI Usability EMFT tools use Eclipse platform APIs to provide accessible UI No outstanding accessibility bugs All text is externalized, and has been translated, including BiDi Translation verification testing in progress, to complete mid-june 17 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

Schedule Development schedule closely followed the Eclipse Project s Milestones every 6 weeks, trailing Eclipse s by one week API freeze and feature complete at M6 Now settled in to bi-weekly RCs, scheduled to end June 26, 2006 18 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

Process EMFT is developed using an open, transparent, and inclusive processes this release follows its charter principles EMFT makes appropriate use of Bugzilla, mailing lists and newsgroups All changes are described by a Bugzilla report Bugzilla used to compile release notes for every integration, milestone, and release candidate build Release notes link bugs to CVS commits There were no committer elections/removals during the 1.0 release cycle, although contributions were made by 2 new contributors 19 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

Communities Continuous effort to build community through newsgroup and Bugzilla responsiveness Need to do more to promote visibility of all four projects and growth of the committer base Increased interaction in Bugzilla and on newsgroup Continued coordination with EMF, GMF and GMT projects The EMFT OCL project is based on the software developed by the LPG Project ("LPG") at SourceForge.net. EMFT OCL committers should participate more directly in the development process of the OCL specification in OMG Orientation with new Modeling top level project EMFT is one of the live modeling projects at Eclipse.org 20 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

Checkpoint Exiting Incubation A working and demonstrable code base Active communities: Active user community (4+ groups in IBM Software Group have confirmed usage, representing 5+ products, plus services engagements) GMF leverages EMFT OCL, Query, Transaction, Validation GMT leverages EMFT OCL Active tool user community An active multi-organization community 5 committers + 2 contributors from 2 organizations The project is operating fully in the open using open source rules of engagement Full use of Bugzilla, newsgroups, mailing lists Published development guidelines, FAQs, build process, etc. The project team members have learned the ropes and logistics of being an Eclipse project (the project "gets the Eclipse way ) Abides by Eclipse Development Process, posted guidelines, IP policies, open and transparent nature, etc. Now included in the Eclipse Modeling Project 21 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

IP Issues About files and license files are complete and correct All significant non-committer code contributions have been documented in the project log and reviewed by the Eclipse Foundation s legal staff Initial IBM contribution OCL, Query, Validation and Transaction Christian Vogt s contribution of the OCL code based on the LALR parser generator. All third-party libraries have been documented in the release LALR Parser Generator v1.0 (pending review by the Foundation s legal staff) The OCL plug-in is based on the software developed by the LPG Project ("LPG") at SourceForge.net. The content in the org.eclipse.emf.ocl.internal.parser package ("OCL Parser") includes grammar definitions derived from LPG and code generated by LPG from these grammar files. A project Log has been created and reviewed by the Foundation s legal staff, and is available at http://www.eclipse.org/emft/eclipse-project-ip-log.csv 22 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

Project Plan No draft plan is available yet for the next release Items being considered for the EMFT OCL plan include: Continued API and grammar updates as the OCL 2.0 specification evolves, possibly following the pattern of the UML2 project Better support for UML and clearer distinction of EssentialOCL (for EMF/Ecore) and CompleteOCL (for UML), especially for XMI compliance and API usability 23 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0

Questions Thank you! 24 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL v1.0