---- \\ [[auto-view_generation_working_group|Auto-View Generation Working Group home page]] - [[requirements|Requirements]] - [[se_material|Notes on Architecture, etc]] ---- ====== Use Cases and Scenarios ====== The five categories of use cases we have identified are defined in the table below. In the rest of the page, each category is documented in detail in its own table. ^Category^Use case pertains to^ |Analysis| How Viewpoint(s) and View(s) can be interrogated for completeness and correctness| |Method| How a Viewpoint uses a model to create a View| |Organization| Libraries| |Presentation| The rules a Viewpoint has in order to transform the given model(s) into a presentation artifact and the features that presentation artifact (e.g., composite views) should have| |Viewpoint Instance | Inheritance among Viewpoints and using Viewpoints in a composite structure| ======Analysis Use Cases====== ^ID^Usecase family^Usecase qualifier^Scenarios^Notes^ |23|I have a view.|I want to preview the view's presentation without actually generating a document, slide, or webpage.|Create a draft preview with the correct ordering of views as transformed into the selected medium. Allow rearranging the order (in case it is e.g. a document) and ingest it back into the definition of the view tree|TBD| |8|I have a viewpoint definition and a view.|I want to verify that the model I am importing into my view is correct based on the viewpoint definition.|Verify that the important model contains the necessary elements and relations and highlight the incompatible ones or missing ones|TBD| |22|I have two versions of a view tree generated at different times.|I want to create a view that imports these two versions and renders a change log based on the earliest version(what was added, deleted, modified).|Provide a visual diff of view tree|TBD| |21|I have a broken view|I want to debug an error in the view model|TBD|TBD| ======Method Use Cases====== ^ID^Usecase family^Usecase qualifier^Scenarios^Notes^ |35|I have a view.|I want to extrapolate the methods, rules, and analyses used to construct the view (i.e., reverse engineer the viewpoint).|TBD|TBD| |36|I have a view| I want to generate a view that imports additional information from a different data source or non-sysml based model.|Reference external data sources and define how they are integrated, e.g. verbatim or rendered in a particular way|TBD| |3|I have a viewpoint.|I want to provide my viewpoint with the model elements and relations that it should collect from the imported model when instanced.|Specify the model elements that are required to appear in the View. select Blocks, properties, filter values, meta-classes, select by stereotype.|TBD| |5|I have a viewpoint.|I want a diagram to conform to the viewpoint, such that the viewpoint checks to see if the correct model elements and relations are on the diagram as well as if there are any extraneous elements. |When the view is generated the diagram itself is displayed along with any validation errors.|TBD| |7|I have an interactive interface for defining a viewpoint.|I want to automatically create a model when I define a viewpoint. |A template model with placeholder elements and placeholder diagrams is created|TBD| |10|I have an imported model.|I want to define queries that can be executed on the imported model.|Select with a query language the model elements and the properties of those elements|TBD| |37|I have an imported model and a set of viewpoints.|I want to chain viewpoints such that the queries are executed on the result of previous queries.|Define which VPs shall be "piped" into others.|Define a set of operators with VPs as operands| |11|I have a collection of viewpoints.|I want to specify the order with which the viewpoints are instanced, such that the corresponding views are created in the same order.|TBD|TBD| |12|I have a viewpoint that renders a table of Block names and their corresponding definitions.|I want to have the view editable such that it creates the table and I am able to edit the Block names and definitions from the table. The changes should be automatically reflected in the model. Another possibility is that I want to only be able to edit the definitions when in the view. The viewpoint definition should allow for this as well|TBD|TBD| |24|I have a viewpoint|I want to apply a certain style provided from a word processor template|TBD|TBD| |25|I have a document|I want to create a view tree template from the existing document|TBD|TBD| |26|I have a model|I want to use the model “in the document”|TBD|TBD| |27|I have the basic SysML view-viewpoint concept.|I want to extend the view-viewpoint concept to other architecture frameworks, such as TOGAF, DoDAF, etc.|Rather that try to incorporate all the specific concepts in these frameworks (AR: What does this mean?), SysML should provide the bedrock as vp=v and allow for all frameworks to benefit from view generation.|TBD| |30|I have a model.|I want to transform my model into a different type of model (e.g., a SysML model to a Mathematica model).| Define a M2M or M2T transformation which is executed on the imported model|TBD| |33|I have several Viewpoints|I want Viewpoint A to be composed of Viewpoint B such that when I instance Viewpoint A, Viewpoint B is instanced as well.|TBD|TBD| ======Organization Use Cases====== ^ID^Usecase family^Usecase qualifier^Scenarios^Notes^ |32|I have viewpoints, methods, and analyses.|I want to organize these into reusable libraries.|TBD|TBD| ======Presentation Use Cases====== ^ID^Usecase family^Usecase qualifier^Scenarios^Notes^ |13|I have a view tree that conforms to a viewpoint tree where order is asserted|I want to generate documents based on the view tree.|TBD|TBD| |14|I have a view tree that conforms to a viewpoint tree where order is asserted |I want to generate web pages. Each view can be on its own page, or all views could be on a single page with styles delineating the different views.|TBD|TBD| |15|I have a view tree that conforms to a viewpoint tree where order is asserted.|I want to generate slides. Each view should be on its own slide.|TBD|TBD| |16|I have a viewpoint whose definition is one or more mathematical equations. |Given a model that provides the correct value properties I want to generate a view that is a plot of the equation defined in the viewpoint.|Specify which VPs are bound to which variables of the equation|TBD| |18|I have a viewpoint whose definition is one or more mathematical equations. | Given a model that provides the correct value properties I want to generate a view that is the mathematical equation(s) of the viewpoint with corresponding model values filled in.|TBD|TBD| |19|I have one viewpoint that renders an image and another that renders a table.| I want to create a new viewpoint the combines the previous two such that the generated view is an image followed a table.|Define a combine operator for VPs.|TBD| |17|I have a viewpoint. |I want to generate views that are tables.|TBD|TBD| |20|I have a viewpoint that renders product specs.|I want the view to import a Maple (not SysML) file of product specs and render them as a table.|TBD|TBD| |28|I have a view (or set of views). |I want to query the view (or set of views) to filter and retain a specified subset of the elements used in the view (e.g., all «block»s).| TBD| TBD| |29|I have a view (or set of views). |I want to query the view (or set of views) in a basic search manner.| provide a free-text search within Views|TBD| |31|I have a SysML model.|I want to transform my SysML model into a movie, html animation, narrative that unfolds e.g. in time, 3D with audio|TBD|TBD| |34|I have an ordered collection of composed views.|I want to view and edit the collection of views. This includes editing properties of the model or adding narrative to the view tree. All changes made online should be ingested back into the model.|TBD|TBD| ======Viewpoint Instance Use Cases====== ^ID^Usecase family^Usecase qualifier^Scenarios^Notes^ |1| I have a viewpoint that renders a table whose first column is the name of the blocks within scope and the second column is the documentation of each block. |I want to conform two views (which may be in separate documents) to this viewpoint. The only difference between the views is that for one view I want the header of the table columns to be “Block, Definition” and the other view I want the header of the table columns to be “Service, Description.”|Viewpoint describes certain parameters like recursion depth or header names or font colors. need to be able to set them in the view when they are view specific. this is BST for Viewpoints and Views.|TBD| |2|I have a viewpoint that renders a table whose first column is the name of all Operation elements within scope and the second column is their corresponding parameters. |I want to specialize this viewpoint such that the table renders only Operation elements that additionally have a stereotype applied from another profile e.g., «function». The only thing I want to specify about the new viewpoint is the additional stereotype filter.|How do we specialize methods and rules etc. example Definition table with additional languages. everything else should inherit directly.|TBD| |4|I have a set of viewpoints. |I want to render the viewpoints in a particular read order, including section (e.g., a viewpoint composed into another viewpoint) I want to be able to assert the composition and order at the viewpoint level such that when “first” viewpoint is instanced the subsequent compositioned views are also created with their read order intact.| define a template for a view tree such that the views and the read order are the same for multiple view trees.|TBD| |6|I have a view. |I want to include the same view in two different documents.|Allow x-references to existing views|TBD| |9|I have a set of views|I want to model how those views are presented in a document, i.e. a document outline|TBD|TBD|