Post on 22-Nov-2014
description
1© 2008, Cisco Systems, Inc. – Made available under the Eclipse Public License 1.0
Tigerstripe
Richard Craddock, Eric Dillon (Cisco)
Integrated Model-Driven Engineering
2
© 2008, Cisco Systems, Inc. – Made available under the Eclipse Public License 1.0
Tigerstripe
Need a bit of context?
• Technology Incubation Project• Focus on Model Driven Engineering
• Existing User Community from Telecom Industry• Stabilizing after 1st year as Eclipse project
– Initial contribution by Cisco in Dec’07
• Used in production• Telecom Standards for OSS/BSS Interfaces• Model-Driven Network Mgmt Platforms (E.g. Cisco ANA)
3
© 2008, Cisco Systems, Inc. – Made available under the Eclipse Public License 1.0
Tigerstripe
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
StandardBodies Vendors Partners Integrators
4
© 2008, Cisco Systems, Inc. – Made available under the Eclipse Public License 1.0
Tigerstripe
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
© 2008, Cisco Systems, Inc. – Made available under the Eclipse Public License 1.0
Tigerstripe
• 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
6
© 2008, Cisco Systems, Inc. – Made available under the Eclipse Public License 1.0
Tigerstripe
Introducing…The Workbenchre
fere
nce
s
7
© 2008, Cisco Systems, Inc. – Made available under the Eclipse Public License 1.0
Tigerstripe
Model Scoping
Out of
Scope
8
© 2008, Cisco Systems, Inc. – Made available under the Eclipse Public License 1.0
Tigerstripe
Template-based Code/Content Generation
9
© 2008, Cisco Systems, Inc. – Made available under the Eclipse Public License 1.0
Tigerstripe
Instance-based vs. Class-based Generation
10
© 2008, Cisco Systems, Inc. – Made available under the Eclipse Public License 1.0
Tigerstripe
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
© 2008, Cisco Systems, Inc. – Made available under the Eclipse Public License 1.0
Tigerstripe
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
© 2008, Cisco Systems, Inc. – Made available under the Eclipse Public License 1.0
Tigerstripe
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
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
© 2008, Cisco Systems, Inc. – Made available under the Eclipse Public License 1.0
Tigerstripe
Install Annotations… … and annotate the model.
Selection-based viewSelection-based view
Native EditPart on GMF DiagramsNative EditPart on GMF Diagrams
Annotation “routed” to .ann fileAnnotation “routed” to .ann file
14
© 2008, Cisco Systems, Inc. – Made available under the Eclipse Public License 1.0
Tigerstripe
Customized Workbench
15
© 2008, Cisco Systems, Inc. – Made available under the Eclipse Public License 1.0
Tigerstripe
Wrap-up
• Achievements–EMF-Based Annotation Framework–Partial “framework-ization” of existing code–Buckminster integration
• What’s next?–Continue on the path of “framework-ization”–Tigerstripe Specifics through EMF-APIs–Expand Communities
16
© 2008, Cisco Systems, Inc. – Made available under the Eclipse Public License 1.0
Tigerstripe
• More details? Questions?http://www.eclipse.org/tigerstripe
http://wiki.eclipse.org/TigerstripeAtEclipseSummit08