This document summarizes Tigerstripe, an Eclipse project focused on model-driven engineering. It provides an overview of Tigerstripe's goals of enabling distributed modeling across teams and organizations. It describes Tigerstripe's model-driven workbench and framework for modeling, code generation, and integrating with build tools like Maven and Ant. The document also introduces Tigerstripe's annotation framework for decorating and persisting additional information related to models.
2. Need a bit of context? Technology Incubation Project Focus on Model Driven Engineering Existing User Community from Telecom Industry Stabilizing after 1 st year as Eclipse project Initial contribution by Cisco in Dec07 Used in production Telecom Standards for OSS/BSS Interfaces Model-Driven Network Mgmt Platforms (E.g. Cisco ANA)
3. User Environment Big, detailed models for everything Devices, Network Equipment, Technologies, Protocols Service Performance, Policies, etc Software packages, Systems, Configurations Models shared across Eco-System Standard Bodies Vendors Partners Integrators
4. So! MDE Tooling needs to... Enable distributed modeling Distributed Teams & Organizations Enforce Conventions Fine grain control on model content/sharing Allow componentized models Strong versioning across lifecycle Manage dependencies, builds, deployments
5. For modelers: Workbench UML-based Metamodel Class Diagrams, Instance Diagrams Model Scoping, validation Integrated Code/Content Generation For Developers: base Framework APIs, Ext. Points to customize env. Headless, Buckminster, Maven, Ant Annotation Framework EMF-based Model/Resource Annotation Tigerstripe Framework
10. Beyond the Workbench Use APIs to Import/Export models Customize model auditing, naming conventions, decorations Enhance modeling palette with templates Continuous Model build Environment Headless generation, Maven, Ant driven Buckminster Integration Materialize components, build them.
11. Flexible Model Annotations Stereotypes vs. Annotations Stereotypes: part of the model Intrinsic model information Annotations: decorations, separate from the model Additional info related to specific use of the model Namespace based
12. Annotations: A Closer Look Principles Associate Arbitrary EMF object with URI Independent of Tigerstripe Core Allow for custom UI, both as property view or on GMF diagrams Control where they are persisted package org.eclipse.tigerstripe.annotation.core; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EObject; public interface Annotation extends EObject { URI getUri(); void setUri(URI value); EObject getContent(); void setContent(EObject value); String getId(); void setId(String value); } // Annotation
13. Install Annotations and annotate the model. Selection-based view Native EditPart on GMF Diagrams Annotation routed to .ann file