From 85bd732c21c65e66007d9f127f2fa945f8f142ee Mon Sep 17 00:00:00 2001 From: monsterkrampe Date: Fri, 21 Apr 2023 10:41:41 +0200 Subject: [PATCH] Add help texts to frontend --- frontend/index.d.ts | 5 ++ frontend/package.json | 3 ++ frontend/src/components/adf-details.tsx | 30 ++++++++++++ frontend/src/components/adf-new-form.tsx | 2 +- frontend/src/components/adf-overview.tsx | 18 +++++++ frontend/src/components/graph-g6.tsx | 6 +++ frontend/src/components/markdown.tsx | 58 +++++++++++++++++++++++ frontend/src/help-texts/add-info.md | 23 +++++++++ frontend/src/help-texts/detail-info.md | 13 +++++ frontend/src/help-texts/example-bdd.png | Bin 0 -> 52126 bytes frontend/yarn.lock | 26 ++++++++++ 11 files changed, 183 insertions(+), 1 deletion(-) create mode 100644 frontend/index.d.ts create mode 100644 frontend/src/components/markdown.tsx create mode 100644 frontend/src/help-texts/add-info.md create mode 100644 frontend/src/help-texts/detail-info.md create mode 100644 frontend/src/help-texts/example-bdd.png diff --git a/frontend/index.d.ts b/frontend/index.d.ts new file mode 100644 index 0000000..52e4387 --- /dev/null +++ b/frontend/index.d.ts @@ -0,0 +1,5 @@ +declare module 'bundle-text:*' { + const s: string + export default s +} + diff --git a/frontend/package.json b/frontend/package.json index 5914cb1..e530577 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -9,6 +9,7 @@ "build": "parcel build" }, "devDependencies": { + "@parcel/transformer-inline-string": "2.8.2", "@types/node": "^18.15.11", "@types/react": "^18.0.26", "@types/react-dom": "^18.0.10", @@ -29,7 +30,9 @@ "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@fontsource/roboto": "^4.5.8", + "@mui/icons-material": "^5.11.16", "@mui/material": "^5.11.4", + "markdown-to-jsx": "^7.2.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.10.0" diff --git a/frontend/src/components/adf-details.tsx b/frontend/src/components/adf-details.tsx index f540cca..18659e8 100644 --- a/frontend/src/components/adf-details.tsx +++ b/frontend/src/components/adf-details.tsx @@ -3,11 +3,15 @@ import React, { } from 'react'; import { useParams, useNavigate } from 'react-router-dom'; import { + Accordion, + AccordionDetails, + AccordionSummary, Alert, AlertColor, Button, Chip, Container, + Grid, Paper, Pagination, Skeleton, @@ -18,6 +22,11 @@ import { Typography, } from '@mui/material'; +import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; + +import DetailInfoMd from 'bundle-text:../help-texts/detail-info.md'; +import Markdown from './markdown'; + import GraphG6, { GraphProps } from './graph-g6'; import LoadingContext from './loading-context'; import SnackbarContext from './snackbar-context'; @@ -218,6 +227,27 @@ function AdfDetails() { ADF-BDD.DEV + + + }> + What can I do with the ADF now? + + + + + {DetailInfoMd} + + + Example BDD + + + + + {problem ? ( <> diff --git a/frontend/src/components/adf-new-form.tsx b/frontend/src/components/adf-new-form.tsx index e254bd1..af2841c 100644 --- a/frontend/src/components/adf-new-form.tsx +++ b/frontend/src/components/adf-new-form.tsx @@ -122,7 +122,7 @@ function AdfNewForm({ fetchProblems }: { fetchProblems: () => void; }) { For more info on the syntax, have a look {' '} - here + here . )} diff --git a/frontend/src/components/adf-overview.tsx b/frontend/src/components/adf-overview.tsx index 3b5f813..d7f3a8a 100644 --- a/frontend/src/components/adf-overview.tsx +++ b/frontend/src/components/adf-overview.tsx @@ -7,6 +7,9 @@ import { } from 'react-router-dom'; import { + Accordion, + AccordionDetails, + AccordionSummary, Chip, Container, Paper, @@ -19,6 +22,11 @@ import { Typography, } from '@mui/material'; +import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; + +import AddInfoMd from 'bundle-text:../help-texts/add-info.md'; +import Markdown from './markdown'; + import AdfNewForm from './adf-new-form'; import { @@ -102,6 +110,16 @@ function AdfOverview() { ADF-BDD.DEV + + + }> + What is this webapp doing and how should I use it? + + + {AddInfoMd} + + + {problems.length > 0 && ( diff --git a/frontend/src/components/graph-g6.tsx b/frontend/src/components/graph-g6.tsx index 6c4b9b8..4551f78 100644 --- a/frontend/src/components/graph-g6.tsx +++ b/frontend/src/components/graph-g6.tsx @@ -367,6 +367,12 @@ function GraphG6(props: Props) { hi edge (condition is true) {' '} Click nodes to hightlight paths! (You can also drag and zoom.) +
+ The + {' '} + Root for: X + {' '} + labels indicate where to start looking to determine the truth value of statement X. ); diff --git a/frontend/src/components/markdown.tsx b/frontend/src/components/markdown.tsx new file mode 100644 index 0000000..3c26603 --- /dev/null +++ b/frontend/src/components/markdown.tsx @@ -0,0 +1,58 @@ +import React from 'react'; +import ReactMarkdown from 'markdown-to-jsx'; +import { + Box, + Link, + Typography, +} from '@mui/material'; + +const options = { + overrides: { + h1: { + component: Typography, + props: { + gutterBottom: true, + variant: 'h4', + }, + }, + h2: { + component: Typography, + props: { gutterBottom: true, variant: 'h6' }, + }, + h3: { + component: Typography, + props: { gutterBottom: true, variant: 'subtitle1' }, + }, + h4: { + component: Typography, + props: { + gutterBottom: true, + variant: 'caption', + paragraph: true, + }, + }, + p: { + component: Typography, + props: { paragraph: true, sx: { '&:last-child': { marginBottom: 0 } } }, + }, + a: { + component: (props: any) => ( + // eslint-disable-next-line react/jsx-props-no-spreading + + ), + }, + li: { + component: (props: any) => ( + + {/* eslint-disable-next-line react/jsx-props-no-spreading */} + + + ), + }, + }, +}; + +export default function Markdown(props: any) { + // eslint-disable-next-line react/jsx-props-no-spreading + return ; +} diff --git a/frontend/src/help-texts/add-info.md b/frontend/src/help-texts/add-info.md new file mode 100644 index 0000000..3466016 --- /dev/null +++ b/frontend/src/help-texts/add-info.md @@ -0,0 +1,23 @@ +ADF-BDD.dev allows you to solve Abstract Dialectical Frameworks (ADFs). The ADFs are represented as Binary Decision Diagrams (BDDs). +The Web UI mimics many options of the CLI version of the [underlying adf-bdd tool](https://github.com/ellmau/adf-obdd). The syntax for the ADF code is indentical. + +In the below form, you can either type/paste your `code` or upload a file in the same format. +To put it briefly, an ADF consists of statements and accectance conditions for these statements. +For instance, the following code indicates that `a,b,c,d` are statements, that `a` is assumed to be true (verum), `b` is true if is true (which is tautological), `c` is true if `a` and `b` are true, and `d` is true if `b` is false. + +``` +s(a). +s(b). +s(c). +s(d). +ac(a,c(v)). +ac(b,b). +ac(c,and(a,b)). +ac(d,neg(b)). +``` + +Internally, the ADF is respresented as a BDD. +The `Parsing Strategy` determines the internal implementation used for these. `Naive` uses the own BDD implementation of our tool. `Hybrid` mixes our approaches with the existing Rust BDD library [`biodivine`](https://crates.io/crates/biodivine-lib-bdd). Don't be concerned about this choice if you are new to this tool; just pick either one. +You will get a view on the BDD in the detail view after you added the problem. + +You can optionally set a name for you ADF problem. Otherwise a random name will be chosen. At the moment the name cannot be changed later (but you could remove and re-add the problem). diff --git a/frontend/src/help-texts/detail-info.md b/frontend/src/help-texts/detail-info.md new file mode 100644 index 0000000..2b87ab3 --- /dev/null +++ b/frontend/src/help-texts/detail-info.md @@ -0,0 +1,13 @@ +First of all you can review the code that you added. You can also delete the problem if you made a mistake or do not need it anymore. + +Further below, you can have a look at the BDD representations of your problem using different semantics. +In principle, each statement gets it's own BDD that indicates how its truth value can be obtained from the other ones. Note that every BDD has the `BOT` and `TOP` nodes ultimately indicating the truth value (false or true respectively). +All these individual BDDs are displayed in a merged representation where the `Root for:` labels tell you where to start looking if you want to +get the truth value of an individual statement. +For instance, consider a BDD that (besides `BOT` and `TOP`) only contains a node `b` annotated with `Root for: a` and the annotation `Root for: b` at the `TOP` node. +Since the root for `b` is the `TOP` node, we know that `b` must be true. Then, to obtain the truth value for `a`, we start at the `b` and since we know that `b` must be true, we can follow the blue edge to obtain the value for `a` (we will end up in `BOT` or `TOP` there). If `b` would be false, we would follow the orange edge analogously. Note that is not always possible to directly determine the truth values of statements (which is exactly why we need tools like this). + +On the very left, you can view the initial representation of your problem after parsing. This also indicates the parsing strategy that you have chosen (`Naive` or `Hybrid`). +The other tabs allow you to solve the problem using different semantics and optimizations. Some of them (e.g. `complete`) may produce multiple models that you can cycle through. +To get a better idea of the differences, you can have a look at the [command line tool](https://github.com/ellmau/adf-obdd/tree/main/bin). + diff --git a/frontend/src/help-texts/example-bdd.png b/frontend/src/help-texts/example-bdd.png new file mode 100644 index 0000000000000000000000000000000000000000..b09499ed43082b065aa881503ace0c8bad6157ae GIT binary patch literal 52126 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