From e7441585630f18d16ee18729a69045e3ca959acb Mon Sep 17 00:00:00 2001 From: Paul Morrison Date: Mon, 17 Jun 2019 12:02:15 -0400 Subject: [PATCH] Starting on Step12 --- Step11/README.md | 2 +- Step12/README.md | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 Step12/README.md diff --git a/Step11/README.md b/Step11/README.md index 743cd16..029d426 100644 --- a/Step11/README.md +++ b/Step11/README.md @@ -13,6 +13,6 @@ The count cannot be generated until the inputs have all been read, so the variou `ConcatStreams` reads and outputs all of its first input, followed by the second input, and so on. If `ConcatStreams` could only handle, say, two input streams, it might call them `IN1` and `IN2`, but it can handle any number, so it uses something called an "array port", and the individual connection points are labelled using an indexing notation, e.g. `IN[0]`, `IN[1]`, and so on. - <== Previous / Index / Next ==> (none) + <== Previous / Index / Next ==> diff --git a/Step12/README.md b/Step12/README.md new file mode 100644 index 0000000..be4db87 --- /dev/null +++ b/Step12/README.md @@ -0,0 +1,24 @@ + + + +## Step12-Subnets + +As we stated above, FBP has a concept called "subnets", which may be thought of as ordinary FBP networks, with "sticky" connections. In FBP we like to go from a high-level design to progressively lower levels, until we are ready to start filling in component names. These lower-level networks are called "subnets" - basically diagrams with "sticky" connections, that can both function as components but themselves comprise components - or still lower-level subnets - so a complex application may be structured as a "tree" of subnets, where the root is a high-level network with all or most of the nodes being subnets. + +DrawFBP has a facility called "Excise" where the designer marks off a section of the diagram and "excises" it, forming a subnet and replacing the excised subnet with a single block that instantiates the subnet. The sticky ends are called "External Ports", and form the "bridge" between the indide and the outside of a subnet. + +Let us go back to the diagram we show in Step05-Choose components and set values for other parts: + +![Diagram with components and IIPs filled in](../Step05/Step05.png) + +Now let us suppose we want to hid the "Ignore" node - we can "excise" the middle two components and put them in a separate subnet called, say, "Filter". + +The way we do this is to create an instance of the "Enclosure" block type, and *stretch* it to surround the blocks we want to excise - mouse over the corners, and drag them to where you want them to be. Here is the diagram with the Enclsure added. + +![Diagram with "stretched" Enclosure](Step12.png) + +Now the only part of the Enclosure which you can click on to get the action list is the coloured section at the top. + + + + <== Previous / Index / Next ==> (none)