1 / 14

SaveUML System design

SaveUML System design. Possible. System overview. Component modeling language embedded systems, security CBSE well formalised, Schema, IDE. What is SaveCCM? How does UML fit in?. Motivation for introducing UML Things that UML brings along Widely accepted (universal) standard

Download Presentation

SaveUML System design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SaveUML System design

  2. Possible... System overview

  3. Component modeling language • embedded systems, security • CBSE • well formalised, Schema, IDE What is SaveCCM? How does UML fit in? • Motivation for introducing UML • Things that UML brings along • Widely accepted (universal) standard • Huge possibilities and highly customizable • Component diagram (similarities with Save) • Formal connection of UML and SaveCCM • UML extensibility mechanisms

  4. Model vs. metamodel • UML = Modeling language • MOF = Metamodeling language • UML is built on MOF Customizing UML - I • Why not create a • SaveCCM metamodel?

  5. UML conceptual overview UML Metamodel Customizing UML - II

  6. UML Profile ( finaly  ) • Concept of the profile • Basic building elements • Stereotype • new symbols with tagged values and constraints included Customizing UML - III • Tagged values • Name=value pairs, applicable to all model elements • SaveCCM_PortType = {DATA, TRIGGER} • SaveCCM_PortDirection = {IN, OUT} • Constraints • Object Constraint Language (formal specification language) • UML types, arithmetic, logical, conditional, relational expression evaluation • (mostly) for modeling Save component behaviour (timed automatons), read-compute-write model

  7. Defining the SaveCCM metamodel (abstract /concrete) • (mostly done in the SaveCCM language reference) • Fundamental language constructs • Relationships • Constraints • Concrete syntax (visual, textual) • Semantics Method for defining the UML profile Structural elements: Component Port Assembly Composite comp.? Connections? ONLY STATIC! • 2. Mapping the SaveCCM to the UML profile • For each domain concept : • Select a base UML metaclass with the closest semantics • Verify that there is no conflicting constraints • Identify need for possible specialization of the base UML metaclass • SaveUML deliverables • SaveUML Profile Reference document • SaveUML Profile Implementation ? • Transformation library ?

  8. Creating a UML profile diagram (Omondo Profile designer) • UML Profile diagram • Create stereotypes and apply to metaclasses Implementing the profile in Omondo • Applying the stereotypes in a model (Omondo model designer) • Include the profile • List of available stereotypes

  9. SaveUML Profile Reference • Identified subset of the UML metamodel with well-formedness rules (OCL) • Standard elements (beyond UML elements – elements of profile) • Description of usage in natural language SaveUML Profile results • 2. SaveUML Profile implementation • Customized standards conformance • Can be imported in Omondo for further modeling • 3. SaveUML model files • Customized standards conformance • Well described schema (reverse eng. or direct) • Endpoint for transformation What is the current status? • SaveUML deliverables • SaveUML Profile Reference document • SaveUML Profile Implementation • Transformation library ?

  10. Part 2 - Transformation library vs.

  11. Transformation library (option 1) • XSLT is used to transform one XML to the other • Our library uses existing XSLT processor (Xalan) • Transformation mapping is defined in XSL files

  12. Transformation library (option 2) • Transformation is done with Java code • Library uses existin XML parser to read input XML file(s), and creates a model of the diagram in memory • Based on that model, creates a transformed model • Writes down the new model to XML file(s)

  13. Transformation library • In both cases, the library implements the same, well defined, interface, so the resto of the project remains the same • Option 1 • Standard way of transforming XML • XML of our files is very complex, so the code could get messy • We are not completely familiar with it, unexpected problems could set us back • Option 2 • Less chance of unexpected promlems • Hard-codeing the transformation is Java makes it harder to modify later • This code could get messy to, so which one is better?

  14. The end (not quite ) Questions?

More Related