1 / 23

Model Projector

Dr. Oscar Slotosch, Validas AG. Model Projector. Content. Motivation Tool: Model Projector Examples Summary. Motivation. Content of a given model is often unclear (and needs time to explore): Which elements are used? Which relations are used? Which attributes are used?

nellis
Télécharger la présentation

Model Projector

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. Dr. Oscar Slotosch, Validas AG Model Projector

  2. Content • Motivation • Tool: Model Projector • Examples • Summary

  3. Motivation • Content of a given model is often unclear (and needs time to explore): • Which elements are used? • Which relations are used? • Which attributes are used? • Which values of attributes are used? • Model-based tools are often only “partially tested” from the tool provider, i.e. for a subset of the possible models • Are the user models within this subset? • Which are the tested features in a test suite? • How can the tool provider inform the users on the tested subsets? • Which are the untested features? • Navigation in models (with textual search) is difficult, e.g. find an element “E” with attribute “A” and value “V1” • All kind of model-based tools have this problems: • Big models like AUTOSAR • Also smaller models, like TCA

  4. Content • Motivation • Tool: Model Projector • Examples • Summary

  5. Model Projector: Idea & Requirements • Provide a model statistic with used • Model elements • attributes & values • Relations • Defined exchange format • Allow to “project” one/many model(s) • Compare model projections and find uncovered • Model elements • Attribute & values • Relations • Allow to ignore some values (customizable) • Allow to define complex combinations • Implementation • Generic for all EMF models • Integration as plugin into any model-based tool

  6. Model Projector: Features • Model Projection View: Shows the projection results • Class Statistics: Statistics for every element with • Class-Properties consisting of all • Attributes in the class • Relations from the class • Every Property has a list of Values assigned with • occurring values • References to their occurrences • Property Statistics: Properties of all Classes (including values) • Value Statistics: Values of all Properties in the model • Further Features: • Compare with reference set • Green: All projections contained in the reference set • Red: All Projections NOT contained in the reference set • Yellow (Pink): Some projections contained and some not • User Configurations (currently: read configuration files): • Filtering: Define projections that shall not be listed/compared • User Defined Properties: Define complex properties (like xpath) • Persistency: Save / Load / Add Reference Sets • Input changes on selection of elements (in any tool/browser)

  7. Example Projection Artifact 1: Executable Artifact 2: Test Report Artifact 3: Test Stimuli Projection:

  8. Installation • Model Projector consists of five plugins (contained in distributed plugins.zip) required: • Projector, • Projector.edit, • Projector.editor, • Projector.parser • de.validas.tca.util • Unzip plugins.zip • Copy jar files into tool directory • dropins or • Plugins or • Pluglets (in ARbuilder) • If not working: Extend config.ini (contained in configurations)by the five plugins • Installation verification: • Start your tool • Check if • View can be opened or • Projection menu is available

  9. Starting Model Projector • Select EMF elements in your tool, e.g. in the browser • Use popup menus on selected elements • Open Projection View • Choose Projection View

  10. Model Projection View • Shows the “Model Projection” of all selected (and contained) elements Class of (First) Projected element Fix current projection • Projection Statistics: • Classes • Properties • Values • User Configurations(Imported from Files) • User Defined Properties • Filters Label of projected element

  11. Class Statistics Class Statistics (Group) Grouped by Classes Sorted according to number of occurrences Note: double click on references shows elements projector Class Property Group Property for Relations Model Projection for Related elements (only if in the selection) Values with references to elements Note: double click on references shows elements in the used tool Note: Projection stops at nesting level 2 (due to performance): no Projections for Relations of Relations Projection for Attribute

  12. Property Statistics Property Statistics (Group) Sorted according to number of occurrences Values with references to elements Value Groups User Defined Properties (special icon)

  13. Value Statistics Value Statistics (Group) Sorted according to number of occurrences Values with references to elements Values of User Defined Properties (special icon)

  14. Differences • Process • Define reference by • Set the current selection • Add the current selection • Load a (stored) reference • Select model elements for projection • Analyze the differences using colors • Red: selected element (class, property and value) covered by reference • Green: selected element (class, property and value) NOT covered by reference • Yellow (pink): selected element (class, property and value) partly covered by reference • Reference can be saved • Properties (for comparison) can be filtered UncoveredValue

  15. Filtering • A filter consists of • Name • Class-Pattern • Property Pattern • Value Pattern • All values that match the pattern are removed from the statistics • Filters can be loaded as part of User Definitions • Several Files can be loaded / combined • Filters are displayed in the browser

  16. User Properties • A User Property consists of • A name • A path sequence describing the property. • The following path sequence operators are allowed: • Class-Name: Determine the home of the property (if omitted the property is evaluated in all classes) • /: directly contained elements • /Type: contained elements of the type • //: all contained elements (recursive) • //Type: all contained elements of the type • .: the (direct) container • .Type the direct container of the type • ..: all containing containers • ..Type: all containers of the type • =>Rel: All elements in the relation Rel • ->Attr: the value of the attribute Attr • The result of a user defined property is a (empty) set of defined elements • User Defined Properties are listed in the browser • User Defined Properties and Values have a special (yellow) icon • Examples (text to be imported): Path Sequence Property Values • There are some special attributes available: • eInstanceClassSimpleName • eInstanceClassName • eInstancePackageName • eReferencesName • eReferencesSimpleName

  17. Complex User Terms • A User Term is a complex property. It consists of • Name: the name of the property • Class-Pattern: the class in which the property is defined (or .* for all classes) • A list of property terms separated by , • The following term operators are allowed in terms: • Property-name: the name of the property in the class • binary operators: <,>,<=,>=,=,!= • Logical operators: !,||,&&, • Arithmetic operators +,-,*,/,%,&,| • Strings operators: length(), startsWith(), • endsWith(),substring(N), substring(N,M) • Constant Values: true, false, int-numbers, float numbers • Use (brackets) to express priorities! • User Defined Terms are listed in the browser • User Defined Terms/Values have a special (yellow) icon • Examples (text to be imported): Function Application Property (Constant) Value Description Check;.*;[Name.length()<(Description.length())*2]

  18. Content • Motivation • Tool: Model Projector • Examples • Summary

  19. Example: ATF in ARBuilder • Installation: Copy plugins into pluglets • Start tool • Load ATF-Model • Open Projection-View • Open AUTOSAR-View (AB View is not based on EMF) • Select an AR-Package • Load “ProjectionDefs.txt”: • Select the relevant packages that contain (Ports, Interfaces and Types) • Pin projection • Browse the projection some filters: Ignore ShortNames 2;.*;gShortName;.*; also some properties: Rport data type;RPortPrototype=>requiredInterface=>dataElements=>type->shortName Pport data type;PPortPrototype=>providedInterface=>dataElements=>type->shortName

  20. Example View

  21. Content • Motivation • Tool: Model Projector • Examples • Summary

  22. Summary: Model Projection • Can be applied to every EMF • Model Projection provides a view with • Information on used models • Comparison with reference • Way to define/verify model sets/subsets • Way to exchange properties • adaptable • Does not provide • Relevant properties • Next steps • Collect feedback • Decide on publication & contribution

  23. Thank You! Arnulfstraße 27 80335 München www.validas.de info@validas.de

More Related