I am working on a SysML Block Definition Diagram to display the as-is relationship of actors within my system. For my example let's call one of the actors the "Service Department" with a generalization to the second actor called a "Field Service Technician".

I have an information flow depicted between the two actors, as well as a dependency relationship between the same two actors.

I am trying to convey that the Service Department depends on the Field Service Technician to complete a task. The task is conveyed between the two actors via an information flow "Request for Onsite Service".

My question: Is a dependency relationship implied by the information flow? Can I delete the dependency flow and instead rely on the information flow to convey the same meaning without cluttering up the diagram?

Maybe the answer lies in the multiplicity details, because the Service Department (multiplicity = 1) depends on multiple Field Service Technicians (multiplicity = *), but the information flow between the Service Department (multiplicity = 1) would depend on one Field Service Technician (multiplicity = 1). Since this seems like an important part of the context, I would lean in favor of keeping the dependency relationship and the information flow depicted on the block definition diagram.

It doesn't return anything except for a blank "Property" and "Value" column. I should also mention that I am using a file-based repository but I couldn't find any restrictions on that setup with regard to security and auditing settings.

I decided to just move ahead and create a model document the manual way so my model document structure looks something like this (Folders, Block Diagram, Use Case, Requirements, Folders, Requirements, Folders, Requirements, State Mode, Activity Diagrams, Requirements, Folders, Block Diagram, Folders, etc.) so I'm basically telling EA to process the report in the order and template specified by the model documents... it doesn't seem efficient to do it this way but I'm sure a script would help and I won't need to completely rely on the Template Selector and worry about it messing up my tables.

The good news is that it works, but as bockfu pointed out, there are EA problems all along the way.

Some things I've noticed so far:

I had to remove the Child Packages option in my templates so it only processes the folders that I pass to it via the Model Documents. This had a side effect of making by Table of Contents display everything at the same level rather than showing sub-folders in a different font via the style sheet. I will need to fix this at some point but any help on what I need to do would be helpful.

I had to convert my Template Fragments into Templates. This was a pain because I had created almost everything I wanted as a Template Fragment before but when I was forced to change because the Virtual Templates only accept a Template, I then started grouping all of the virtual document templates via the Template Group field but this doesn't show up in the drop-down when applying the template to the model document.

I had to re-verify everything was included in the report, which I didn't have to worry about with the other documentation generation method but do it once and (in theory) everything should be ok after that .

I also have a problem with my Master Template in that it doesn't get applied like it did before the virtual documents change. My Master Template Includes a Cover Page, Table of Contents, and I have a "End of Document" line of text that is added to the bottom of the last page. Before the virtual document change everything would show up correctly and the last line of text was on the last page of the report, now the "End of Document" text shows up as the last line of text after the Table of Contents. Any ideas on how I can get this to work again?

Ok, you convinced me to try virtual documents but I think I am running into the need that Geert pointed out, that if the virtual documents become too complicated then I need to script its creation.

Here is my situation:

Nearly half of the report can be displayed using a very simple template that gets the package name and package notes.

Within the packages I have shallow-copied the model diagrams that I want to include within the report section.

The diagrams within the packages then report on their elements contained within the diagram. I would prefer to remove these copied diagrams and report directly from the master diagram but I have changed some diagram options to declutter the diagram for my stakeholders... this is a trade-off because I have to copy and apply those declutter changes each time something drastically changes in the diagram. Maybe there is a way to script these diagram options being applied?

I have noticed that a lot of the virtual document examples rely on the stereotype being populated for each element, so far I have not utilized the stereotype field because I haven't needed to filter my elements to that level of granularity (beyond knowing the type of element).

Here is what I think I need to do:

Create a template for displaying the simple package name and package note for all packages but exclude any packages that contain diagrams. (I don't want to manually create this list via the drag-and-drop method of virtual documents because I am constantly moving things after each peer review so I'd like an exclude filter for this. Can anyone help me create an exclude filter or SQL statement that would achieve this?)

Create a template for displaying each diagram (some diagrams will use the same template while others I would like to display in a certain order and group some of the elements together).

Order the model documents. I am not sure how to do this since I don't want the report structure to be dependent on the model document order (e.g. Packages, Use Cases, Block Diagrams, etc.). It feels like I might need to continue using the Template Selector if I want to traverse down the package structure and apply the appropriate model template when a corresponding model element (diagram) is found within a package... or script the creation of the virtual documents that would achieve this?

Peter, I don't necessarily want to treat each package as a stereotype because anything could be in the package despite my example. Many of my diagrams have requirements that justify whatever is in the diagram but maybe that wouldn't cause a problem with stereotyping the folder.

Geert, I am intrigued by the virtual document concept but I find that whenever I start down the path of complexity, it often fails me right before a meeting. I do anticipate trying your example (and another I found on the sparxsystems website) but I am trying to hit my breaking point with these templates before I start down that path. What I am currently doing is very basic and shouldn't require anything fancy.

After working on this issue most of the day I think I've got something that works how I want but here are some questions:

1) What is the "Package > Element > Diagram"? Is this the diagram(s) that contain the element within the package?2) What is the "Package > Element > Child Elements"? Is this an element placed within (not embedded) another element that resides within the package?

Some setbacks I've discovered:1) Exclude Filters and other filtering options (e.g. Hide Note-less elements) don't seem to work on Template Selector Sub-Templates.2) There is apparently a bug with the Template Selector not displaying table header rows aggregated correctly, or maybe this is by design? (http://sparxsystems.com/forums/smf/index.php/topic,25835.msg233596.html#msg233596) Is there any way I can work around this, I can't believe I've made it full circle back to this problem again!

I have been messing with various template options for a couple days and I can't seem to get something to work 100% so please help me get this solved! I feel like I am very close but everything I try breaks something else or gets me worse off.

I am trying to display one template when showing requirement details, and another for everything else.

I have tried following the example to make a Template Selector but I am getting lost in the Section loops and am missing content that I can get to display with the previous templates... Why do these Sections need to be this convoluted?

{Diagram.Notes}element >< element< diagramelement >{Template - Template Selector} <------ Putting here gets some of the content I want but not all of it like the non-template selector did. It is missing the embedded elements for Activity Diagrams, it misses all states in a State Diagram except for the two StateNodes (initial and final), it misses all blocks except for embedded ports on a block. Also all tables now show up with a table header in each table row.< elementchild packages >< child packages< package>--------------------------------------------------------

I found the answer by following the post below that talks about the book "Inside Enterprise Architect" by Thomas Kilian, which should actually be pinned at the top of the forum because of all the great info in it! Wow so many questions answered from this book! If you are interested, google for the book and don't look for it on Amazon.

I am trying to create an Exclude Filter within my Document Options for a Block (actually I want to exclude everything else except for a block). I see every other kind of element except for a block within the "Exclude details for" list. Does a block go by a different name that is contained in that element list? If not, why isn't a block included in the list?

I have been struggling with developing my own RTF Templates to document my model effectively and would like to know if anyone has created some Templates or Fragments they would be willing to share that they have found effective in documenting their model? Is there an add-in, tool, or book that I should consider?

I realize that templates can be specific to an organization and/or a process but I'm talking about documentation at the basic element level (a use case, a requirement set, an activity, etc.) that have a pattern that could be followed.

I have tried using the standard EA templates but they all seem to miss the mark. I've worked hard to follow SysML standards to get the information into my model in a repeatable and structured way and find it frustrating that I have to spend even more effort to 1) find the information I want to get out of the model 2) arrange the information into a structure or format that makes sense and flows nicely 3) formatted for my specific documentation template. I can understand #3 being specific to me and is (in my opinion) why a configurable Template was created by EA in the first place but I really feel #1 and #2 should be EA (or possibly SysML) efforts to make their product (or language) more user friendly and effective.

Some of the companies I have worked for in the past were very reluctant to allow modeling efforts because they were seen as a waste of time drawing stick figures... which speaks directly to my point, in that there were tons of details associated to those stick figures but getting that information conveyed was a problem.

I'm currently trying to solve this problem by creating very specific Fragments that filter out all elements except for the elements I want to document in a specific way (e.g. a use case). My goal is to be able to convey in a natural English structure the specifics of the element and how it relates to other elements within the model. This request seems like such a fundamental concept of using the tool that I felt that I should pause my development and ask if someone else has developed something beyond the EA examples?

One last point. I really appreciate EA and the people in this forum for all of the expertise they bring. My intent is not to throw rocks at the tool, I simply want to find a more effective way of using the tool because it really does help manage complexity better than any other method I've used as a systems engineer.

I am also new to EA but you might play around with the Specification Manager using the Search Category drop-down "Common Searches" and Search drop-down "Extended" with your Custom Tag Value input into the Search Term field. I have been able to at least get my custom tags to show up in the list of results (not displaying a column for the custom tag, just the requirement containing the custom tag) but maybe you could sort, filter, or group the results in a way that will give you something visible to use.

I'm pretty sure you could also get what you need by using Document Generation "Element Filters" if you want to report out the results of your search but there's a lot to learn here.

1) I propose adding a <<Satisfy>> Requirement Partition to the working model of SysML and/or EA in much the same spirit as the <<Allocate>> Activity Partition is used (see "A Practical Guide to SysML", Section 14.6.3 Modeling Functional Allocation using Allocate Activity Partitions (Allocate Swim Lanes)). The idea would be to clean up and provide structure to my requirement diagrams by efficiently satisfying components (blocks) via adding requirements to the proposed partitions.

One obvious problem with this approach is that a requirement can satisfy multiple blocks but I think the same problem exists with the existing Allocate Activity Partition.

2) I would really prefer not having to make a new partition at all, rather I'd like to be able to specify the relationship of a Swimlane within a diagram so that I have less things to keep track of. To do this, I would add another column to the "Swimlanes" table within the "Swimlanes, Matrix and Kanban" dialog box. The proposed column would be added after the "Classifier" column and would be something like "Relationship". All items placed within the swimlane would then inherit the relationship specified to the classifier object.