Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • af3/af3-rcp
1 result
Show changes
Showing
with 511889 additions and 512028 deletions
......@@ -29,10 +29,12 @@ import org.fortiss.af3.allocation.IAllocationService;
import org.fortiss.af3.exploration.service.IDSEBackendService;
import org.fortiss.af3.exploration.smt.backend.Z3Backend;
import org.fortiss.af3.exploration.ui.AF3ExplorationUIActivator;
import org.fortiss.af3.exploration.ui.perspective.service.IDSEUIPatternExtensionService;
import org.fortiss.af3.project.AF3Project;
import org.fortiss.af3.timing.ITimingSpecificationService;
import org.fortiss.tooling.base.ToolingBase;
import org.fortiss.tooling.kernel.ToolingKernel;
import org.fortiss.tooling.kernel.service.ICommandLineInterfaceService;
import org.fortiss.tooling.kernel.ui.ToolingKernelUI;
/**
......@@ -71,6 +73,10 @@ public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
IAllocationService.getInstance().startService();
ITimingSpecificationService.getInstance().startService();
IDSEBackendService.getInstance().startService();
IDSEUIPatternExtensionService.getInstance().startService();
// The CLI handlers must be executed last such that all services are available.
ICommandLineInterfaceService.getInstance().executeHandlers();
}
/** {@inheritDoc} */
......@@ -85,6 +91,7 @@ public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
IDSEBackendService dbs = IDSEBackendService.getInstance();
dbs.initializeService();
dbs.registerDSEBackend(new Z3Backend());
IDSEUIPatternExtensionService.getInstance().initializeService();
}
/** {@inheritDoc} */
......
ApplicationCommandHandler.java 579327ec9cf27f09bfcfc110afde4d25503e8b6c GREEN
ApplicationCommandHandler.java 3225d9f72590fcea939b14cae05467cbace1f438 GREEN
......@@ -16,39 +16,35 @@
package org.fortiss.af3.rcp.application.handler;
import static org.conqat.ide.commons.ui.logging.LoggingUtils.logAndShowError;
import static org.conqat.ide.commons.ui.ui.WorkbenchUtils.getActiveWorkbenchWindow;
import static org.eclipse.emf.common.util.URI.createFileURI;
import static org.eclipse.emf.common.util.URI.createPlatformPluginURI;
import static org.eclipse.jface.dialogs.ErrorDialog.openError;
import static org.eclipse.jface.dialogs.MessageDialog.openError;
import static org.eclipse.jface.dialogs.MessageDialog.openWarning;
import static org.eclipse.ui.PlatformUI.getWorkbench;
import static org.eclipse.ui.internal.about.AboutUtils.openErrorLogBrowser;
import static org.fortiss.af3.project.storage.LocationProvider.CURRENT_AF3_PROJECT_FILES_EXTENSION;
import static org.fortiss.af3.project.AF3Project.AF3_PRJ_SUFFIX;
import static org.fortiss.af3.project.ui.utils.ExportProjectUtils.exportProject;
import static org.fortiss.af3.project.ui.utils.ExportProjectUtils.fileSelectionDialog;
import static org.fortiss.af3.project.ui.utils.ExportProjectUtils.getSelectedFileProject;
import static org.fortiss.af3.project.ui.utils.ImportProjectUtils.fileSelectionDialog;
import static org.fortiss.af3.project.ui.utils.ImportProjectUtils.importFileCopy;
import static org.fortiss.af3.project.ui.utils.NewProjectUtils.createNewGeneralProject;
import static org.fortiss.af3.project.ui.utils.NewProjectUtils.generalProjectExists;
import static org.fortiss.af3.project.utils.FileUtils.saveFileLibrary;
import static org.fortiss.af3.project.ui.utils.ImportProjectUtils.importUISelectedFile;
import static org.fortiss.af3.project.utils.LibraryModelElementFactory.createFileLibrary;
import static org.fortiss.af3.project.utils.ProjectUtils.loadProjectFromPlugin;
import static org.fortiss.af3.rcp.application.utils.ApplicationUtils.refreshWorkspace;
import static org.fortiss.af3.rcp.application.utils.ApplicationUtils.saveProject;
import static org.fortiss.af3.rcp.application.utils.ApplicationUtils.switchToAF3Perspective;
import static org.fortiss.tooling.kernel.ToolingKernelActivator.getDefault;
import static org.fortiss.tooling.kernel.utils.EMFResourceUtils.refreshWorkspace;
import static org.fortiss.tooling.kernel.utils.EcoreUtils.copy;
import static org.fortiss.tooling.kernel.utils.LoggingUtils.error;
import java.io.File;
import java.util.List;
import org.conqat.ide.commons.ui.ui.WorkbenchUtils;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.common.util.URI;
import org.eclipse.jface.dialogs.InputDialog;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.widgets.Display;
......@@ -59,12 +55,13 @@ import org.fortiss.af3.project.example.IExample;
import org.fortiss.af3.project.model.FileLibrary;
import org.fortiss.af3.project.model.FileProject;
import org.fortiss.af3.project.ui.utils.FileNameValidatorUtil;
import org.fortiss.af3.project.utils.ProjectUtils;
import org.fortiss.af3.rcp.application.AF3ApplicationActivator;
import org.fortiss.af3.rcp.application.example.SimpleTrafficLightsCodeGenerationExample;
import org.fortiss.af3.rcp.application.utils.ApplicationUtils;
import org.fortiss.tooling.kernel.extension.data.ModelStorageError;
import org.fortiss.tooling.kernel.service.IPersistencyService;
import org.fortiss.tooling.kernel.ui.service.INavigatorService;
import org.fortiss.tooling.kernel.ui.internal.views.library.LibraryViewPart;
/**
* The ApplicationCommandHandler has several nested classes, each for handling a
......@@ -76,24 +73,9 @@ import org.fortiss.tooling.kernel.ui.service.INavigatorService;
public class ApplicationCommandHandler {
/** The current AF3 model file extension. */
private static final String CURRENT_AF3_FILE_EXTENSION =
"." + CURRENT_AF3_PROJECT_FILES_EXTENSION;
/** Creates a project (per code) and stores it. */
private static boolean createAndSaveProject(String projectName, IExample builder) {
return ApplicationUtils.createAndSaveProject(projectName, CURRENT_AF3_FILE_EXTENSION,
builder);
}
/**
* Checks if a file with the given project name already exists in the
* GeneralProject-Directory. If not, an IFile with the same name is
* returned. If yes, the user is asked for another project name. After the
* user inserted a valid unused name, an IFile with this name is returned.
*/
private static IFile validateProjectName(String projectName) {
return ApplicationUtils.validateProjectName(projectName, CURRENT_AF3_FILE_EXTENSION);
return ApplicationUtils.createAndSaveProject(projectName, AF3_PRJ_SUFFIX, builder);
}
/**
......@@ -109,52 +91,14 @@ public class ApplicationCommandHandler {
*/
private synchronized static void loadExistingModel(String pluginID, String relativePath,
String projectName) {
// Ensure existence of generic project and enable AF3 Perspective.
startup();
URI fileURI = createPlatformPluginURI(pluginID + File.separator + relativePath, true);
// Load file of the Example (do not create dummy, because
// otherwise the Example is shown twice).
FileProject project = null;
try {
project = loadProjectFromPlugin(pluginID, relativePath, false);
importUISelectedFile(fileURI);
} catch(Exception e) {
error(getDefault(), "Failed to load model from " + relativePath);
} finally {
if(project == null) {
return;
}
}
// Check if file name not already exists.
IFile targetProjectFile = validateProjectName(projectName);
if(targetProjectFile != null) {
try {
project.setName(
targetProjectFile.getName().replace(CURRENT_AF3_FILE_EXTENSION, ""));
// Save the project to workspace.
saveProject(project, targetProjectFile.getFullPath().toString());
refreshWorkspace();
} catch(Exception e) {
Display.getDefault().asyncExec(() -> openWarning(null, "Open AF3 Example",
"The project cannot be loaded."));
}
}
}
/**
* Method that is used by multiple command handlers to ensure that the
* Project exists that contains the *.af3_2x files and that the
* AF3-Perspective is activated.
*/
public static void startup() {
if(!generalProjectExists()) {
// Create a generic project.
createNewGeneralProject();
logAndShowError(AF3ApplicationActivator.getDefault(), "The project cannot be loaded.",
e);
}
// Enable the AF3 Perspective.
switchToAF3Perspective();
}
/** Command to exit the application. */
......@@ -178,7 +122,7 @@ public class ApplicationCommandHandler {
@Override
public Object execute(ExecutionEvent event) {
// Ensure existence of generic project and enable AF3 Perspective.
startup();
switchToAF3Perspective();
// Create a new AF3 project.
createAndSaveProject("AF3-Project", ConfiguredExpressionExample.INSTANCE);
......@@ -208,12 +152,12 @@ public class ApplicationCommandHandler {
FileLibrary library = createFileLibrary(dlg.getValue());
// If a file with this name already exists.
if(!saveFileLibrary(library)) {
if(!ProjectUtils.saveFileLibrary(library)) {
openError(getActiveWorkbenchWindow().getShell(),
"Error While Saving the Library",
"A library with name " + dlg.getValue() + " already exists");
}
INavigatorService.getInstance().setLibraryViewActive();
WorkbenchUtils.getActiveWorkbenchPage().showView(LibraryViewPart.ID);
} catch(Exception e) {
openError(getActiveWorkbenchWindow().getShell(), "Error", e.getMessage());
return false;
......@@ -252,7 +196,7 @@ public class ApplicationCommandHandler {
@Override
public Object execute(ExecutionEvent event) {
// Ensure existence of generic project and enable AF3 Perspective.
startup();
switchToAF3Perspective();
// Load SimpleTrafficLightsExample.
createAndSaveProject("SimpleTrafficLightsModesExample",
......@@ -277,7 +221,7 @@ public class ApplicationCommandHandler {
@Override
public Object execute(ExecutionEvent event) {
// Ensure existence of generic project and enable AF3 Perspective.
startup();
switchToAF3Perspective();
// Load SimpleTrafficLightsCodeGenerationExample.
createAndSaveProject("SimpleTrafficLightsCodeGenerationExample",
......@@ -414,16 +358,12 @@ public class ApplicationCommandHandler {
/** Execute definition that imports an existing AF3-Project. */
@Override
public Object execute(ExecutionEvent event) {
// Ensure existence of generic project and enable AF3 Perspective.
startup();
// Open file selection dialog to select the file to be imported.
String importFile = fileSelectionDialog();
if(importFile != null) {
// Copy selected file into workspace.
importFileCopy(createFileURI(importFile));
refreshWorkspace();
importUISelectedFile(createFileURI(importFile));
}
return null;
......@@ -462,7 +402,7 @@ public class ApplicationCommandHandler {
public static final class ShowErrorLogCommandHandler extends AbstractHandler {
/** Opens the error log. */
// TODO(#3367): Avoid the necessity of this warning if possible.
// TODO(#3367): Avoid the necessity of this warning if possible (won't fix).
@Override
public Object execute(ExecutionEvent event) {
openErrorLogBrowser(Display.getCurrent().getActiveShell());
......
ApplicationUtils.java 199658a271076d94f1eb9710ea07744e48a5b62f GREEN
ApplicationUtils.java a597594f3f6736c56f4bf7f2eb03a9ede71d916f GREEN
......@@ -15,25 +15,23 @@
+--------------------------------------------------------------------------*/
package org.fortiss.af3.rcp.application.utils;
import static org.fortiss.af3.project.ui.utils.ImportProjectUtils.determineTargetFileLocation;
import static org.fortiss.af3.project.utils.ProjectUtils.ensureEclipseContainerProjectExists;
import static org.fortiss.af3.project.utils.ProjectUtils.saveProject;
import static org.fortiss.tooling.kernel.utils.EMFResourceUtils.refreshWorkspace;
import static org.fortiss.tooling.kernel.utils.LoggingUtils.error;
import static org.fortiss.tooling.kernel.utils.LoggingUtils.showError;
import java.io.IOException;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.emf.common.util.URI;
import org.eclipse.ui.IPerspectiveDescriptor;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.PlatformUI;
import org.fortiss.af3.project.AF3ProjectActivator;
import org.fortiss.af3.project.example.IExample;
import org.fortiss.af3.project.model.FileProject;
import org.fortiss.af3.project.ui.perspective.ModelingPerspectiveFactory;
import org.fortiss.af3.project.ui.utils.NewProjectUtils;
import org.fortiss.af3.project.utils.ProjectUtils;
import org.fortiss.tooling.kernel.utils.LoggingUtils;
import org.fortiss.af3.rcp.application.AF3ApplicationActivator;
/**
* Utility methods for dealing with the UI.
......@@ -61,56 +59,6 @@ public class ApplicationUtils {
refreshWorkspace();
}
/** Refresh the workspace. */
public static void refreshWorkspace() {
try {
// refresh the workspace
ResourcesPlugin.getWorkspace().getRoot().refreshLocal(IResource.DEPTH_INFINITE, null);
} catch(Exception e) {
LoggingUtils.error(AF3ProjectActivator.getDefault(), "Cannot refresh workspace!", e);
e.printStackTrace();
MessageDialog.openError(Display.getDefault().getActiveShell(), "Error",
"Cannot refresh workspace!\n" + e.toString());
}
}
/**
* Checks if a file with the given project name already exists in the
* GeneralProject-Directory. If not, an {@link IFile} with the same name is
* returned. If yes, the user is asked for another project name. After the
* user inserted a valid unused name, an {@link IFile} with this name is returned.
*
* @param projectName
* The default project name.
* @param suffix
* The current AF3 project files extension.
* @return The {@link IFile} with this projectName and suffix.
*/
public static IFile validateProjectName(String projectName, String suffix) {
// Get the general project that contains the AF3-Projects.
final IResource resource = ResourcesPlugin.getWorkspace().getRoot()
.findMember(NewProjectUtils.getDefaultGeneralProjectName());
// If project name was given with file extension, remove this first.
projectName = projectName.replace(suffix, "");
// Create project file object.
IFile projectFile = ((IContainer)resource).getFile(new Path(projectName + suffix));
// If a file with this name already exists.
if(projectFile.exists()) {
String newProjectPath =
NewProjectUtils.requestFileNameDialog(projectFile.getLocation().toFile());
if(newProjectPath == null) {
return null;
}
projectFile = ((IContainer)resource).getFile(new Path(newProjectPath));
}
return projectFile;
}
/**
* Creates a project (per code) and stores it.
*
......@@ -124,31 +72,20 @@ public class ApplicationUtils {
*/
public static boolean createAndSaveProject(String projectName, String suffix,
IExample builder) {
IFile projectFile = validateProjectName(projectName, suffix);
if(projectFile != null) {
// Save the project to workspace.
return saveProject(builder.createProject(projectFile.getName().replace(suffix, "")),
projectFile.getFullPath().toString());
}
return false;
}
ensureEclipseContainerProjectExists();
/**
* Saves given project to given path.
*
* @param project
* the given project to save
* @param fullPath
* to saving path
* @return whether the given project is saved to workspace
*/
public static boolean saveProject(FileProject project, String fullPath) {
try {
ProjectUtils.saveProject(project, fullPath);
return true;
} catch(final IOException e) {
MessageDialog.openError(Display.getDefault().getActiveShell(), "Error", e.getMessage());
return false;
URI projectURI = determineTargetFileLocation(projectName);
if(projectURI != null) {
projectName = projectURI.lastSegment().replace("." + suffix, "");
FileProject project = builder.createProject(projectName);
try {
saveProject(project, projectURI);
refreshWorkspace();
} catch(final IOException e) {
error(AF3ApplicationActivator.getDefault(), e.getMessage(), e);
showError(e.getMessage());
}
}
return false;
}
}
Source diff could not be displayed: it is too large. Options to address this: view the blob.
Source diff could not be displayed: it is too large. Options to address this: view the blob.
Source diff could not be displayed: it is too large. Options to address this: view the blob.
<?xml version="1.0" encoding="UTF-8"?>
<org-fortiss-af3-project:FileProject xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org-fortiss-af3-component="http://www.fortiss.org/af3/component" xmlns:org-fortiss-af3-expression="http://www.fortiss.org/af3/expression" xmlns:org-fortiss-af3-expression-definitions="http://www.fortiss.org/af3/expression/definitions" xmlns:org-fortiss-af3-expression-terms="http://www.fortiss.org/af3/expression/terms" xmlns:org-fortiss-af3-expression-terms-imperative="http://www.fortiss.org/af3/expression/terms/imperative" xmlns:org-fortiss-af3-expression-types="http://www.fortiss.org/af3/expression/types" xmlns:org-fortiss-af3-mira="http://www.fortiss.org/af3/mira" xmlns:org-fortiss-af3-mira-glossary="http://www.fortiss.org/af3/mira/glossary" xmlns:org-fortiss-af3-mira-relations="http://www.fortiss.org/af3/mira/relations" xmlns:org-fortiss-af3-mira-requirementSource="http://www.fortiss.org/af3/mira/requirementSource" xmlns:org-fortiss-af3-mira-verification="http://www.fortiss.org/af3/mira/verification" xmlns:org-fortiss-af3-operatorpanel="http://www.fortiss.org/af3/operatorpanel" xmlns:org-fortiss-af3-project="http://www.fortiss.org/af3/project" xmlns:org-fortiss-af3-project-configuration="http://www.fortiss.org/af3/project/configuration" xmlns:org-fortiss-af3-project-development="http://www.fortiss.org/af3/project/development" xmlns:org-fortiss-af3-project-execution="http://www.fortiss.org/af3/project/execution" xmlns:org-fortiss-af3-safety-annotation="http://www.fortiss.org/af3/safety/annotation" xmlns:org-fortiss-af3-state="http://www.fortiss.org/af3/state" xmlns:org-fortiss-tooling-base-model-layout="http://www.fortiss.org/tooling/base/model/layout" xmi:id="456" id="456" name="SimpleTrafficLightsExample">
<org-fortiss-af3-project:FileProject xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org-fortiss-af3-component="http://www.fortiss.org/af3/component" xmlns:org-fortiss-af3-expression="http://www.fortiss.org/af3/expression" xmlns:org-fortiss-af3-expression-definitions="http://www.fortiss.org/af3/expression/definitions" xmlns:org-fortiss-af3-expression-terms="http://www.fortiss.org/af3/expression/terms" xmlns:org-fortiss-af3-expression-terms-imperative="http://www.fortiss.org/af3/expression/terms/imperative" xmlns:org-fortiss-af3-expression-types="http://www.fortiss.org/af3/expression/types" xmlns:org-fortiss-af3-mira="http://www.fortiss.org/af3/mira" xmlns:org-fortiss-af3-mira-glossary="http://www.fortiss.org/af3/mira/glossary" xmlns:org-fortiss-af3-operatorpanel="http://www.fortiss.org/af3/operatorpanel" xmlns:org-fortiss-af3-project="http://www.fortiss.org/af3/project" xmlns:org-fortiss-af3-project-configuration="http://www.fortiss.org/af3/project/configuration" xmlns:org-fortiss-af3-project-execution="http://www.fortiss.org/af3/project/execution" xmlns:org-fortiss-af3-safety-annotation="http://www.fortiss.org/af3/safety/annotation" xmlns:org-fortiss-af3-state="http://www.fortiss.org/af3/state" xmlns:org-fortiss-tooling-base-model-layout="http://www.fortiss.org/tooling/base/model/layout" xmi:id="456" id="456" name="SimpleTrafficLightsExample">
<rootElements xsi:type="org-fortiss-af3-project:ProjectConfiguration" xmi:id="1" id="1">
<configurationElements xsi:type="org-fortiss-af3-project-configuration:TypeSystemConfiguration" xmi:id="2" id="2">
<typesystem xsi:type="org-fortiss-af3-expression:MicroTypeSystem"/>
</configurationElements>
<configurationElements xsi:type="org-fortiss-af3-project-configuration:DevelopmentProcessConfiguration" xmi:id="3" id="3">
<development xsi:type="org-fortiss-af3-project-development:DummyDevelopmentProcess"/>
</configurationElements>
</rootElements>
<rootElements xsi:type="org-fortiss-af3-expression:DataDictionary" xmi:id="4" id="4" name="Data Dictionary">
<typeDefinitions xsi:type="org-fortiss-af3-expression-definitions:Enumeration" xmi:id="5" id="5" name="TrafficColor">
......@@ -143,6 +140,7 @@
</specifications>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points">
<points x="160" y="260"/>
<points x="160" y="260"/>
</layoutData>
</connections>
<connections xsi:type="org-fortiss-af3-state:TransitionSegment" xmi:id="47" id="47" name="forwardB" comment="" source="36" target="37">
......@@ -175,6 +173,7 @@
</specifications>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points">
<points x="160" y="70"/>
<points x="160" y="70"/>
</layoutData>
</connections>
<connections xsi:type="org-fortiss-af3-state:TransitionSegment" xmi:id="52" id="52" name="forwardBoth" comment="" source="38" target="39">
......@@ -207,6 +206,7 @@
</specifications>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points">
<points x="300" y="165"/>
<points x="300" y="165"/>
</layoutData>
</connections>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Point" key="pos"/>
......@@ -488,7 +488,10 @@
<value xsi:type="org-fortiss-af3-expression-terms:IntConst" value="-1"/>
</actions>
</specifications>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points"/>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points">
<points x="294" y="117"/>
<points x="294" y="117"/>
</layoutData>
</connections>
<connections xsi:type="org-fortiss-af3-state:TransitionSegment" xmi:id="115" id="115" name="initializeWithPresent" comment="" source="73" target="79">
<specifications xsi:type="org-fortiss-af3-state:TransitionSegmentSpecification" xmi:id="116" id="116">
......@@ -534,7 +537,10 @@
</value>
</actions>
</specifications>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points"/>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points">
<points x="288" y="139"/>
<points x="288" y="139"/>
</layoutData>
</connections>
<connections xsi:type="org-fortiss-af3-state:TransitionSegment" xmi:id="122" id="122" name="greenToYellow" comment="" source="80" target="104">
<specifications xsi:type="org-fortiss-af3-state:TransitionSegmentSpecification" xmi:id="123" id="123">
......@@ -570,7 +576,10 @@
</value>
</actions>
</specifications>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points"/>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points">
<points x="307" y="237"/>
<points x="307" y="237"/>
</layoutData>
</connections>
<connections xsi:type="org-fortiss-af3-state:TransitionSegment" xmi:id="128" id="128" name="yellowToRed" comment="" source="105" target="97">
<specifications xsi:type="org-fortiss-af3-state:TransitionSegmentSpecification" xmi:id="129" id="129">
......@@ -606,7 +615,10 @@
</value>
</actions>
</specifications>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points"/>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points">
<points x="289" y="432"/>
<points x="289" y="432"/>
</layoutData>
</connections>
<connections xsi:type="org-fortiss-af3-state:TransitionSegment" xmi:id="134" id="134" name="redToRedyellow" comment="" source="98" target="89">
<specifications xsi:type="org-fortiss-af3-state:TransitionSegmentSpecification" xmi:id="135" id="135">
......@@ -642,7 +654,10 @@
</value>
</actions>
</specifications>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points"/>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points">
<points x="516" y="430"/>
<points x="516" y="430"/>
</layoutData>
</connections>
<connections xsi:type="org-fortiss-af3-state:TransitionSegment" xmi:id="140" id="140" name="redyellowToGreen" comment="" source="90" target="81">
<specifications xsi:type="org-fortiss-af3-state:TransitionSegmentSpecification" xmi:id="141" id="141">
......@@ -676,7 +691,10 @@
<value xsi:type="org-fortiss-af3-expression-terms:IntConst" value="-1"/>
</actions>
</specifications>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points"/>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points">
<points x="541" y="237"/>
<points x="541" y="237"/>
</layoutData>
</connections>
<connections xsi:type="org-fortiss-af3-state:TransitionSegment" xmi:id="145" id="145" name="receive" comment="" source="82" target="83">
<specifications xsi:type="org-fortiss-af3-state:TransitionSegmentSpecification" xmi:id="146" id="146">
......@@ -724,6 +742,7 @@
</specifications>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points">
<points x="456" y="216"/>
<points x="456" y="216"/>
</layoutData>
</connections>
<connections xsi:type="org-fortiss-af3-state:TransitionSegment" xmi:id="152" id="152" name="countdown" comment="" source="84" target="85">
......@@ -746,6 +765,7 @@
</specifications>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points">
<points x="456" y="72"/>
<points x="456" y="72"/>
</layoutData>
</connections>
<connections xsi:type="org-fortiss-af3-state:TransitionSegment" xmi:id="154" id="154" name="countdown" comment="" source="106" target="107">
......@@ -768,6 +788,7 @@
</specifications>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points">
<points x="276" y="348"/>
<points x="276" y="348"/>
</layoutData>
</connections>
<connections xsi:type="org-fortiss-af3-state:TransitionSegment" xmi:id="156" id="156" name="countdown" comment="" source="99" target="100">
......@@ -790,6 +811,7 @@
</specifications>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points">
<points x="420" y="420"/>
<points x="420" y="420"/>
</layoutData>
</connections>
<connections xsi:type="org-fortiss-af3-state:TransitionSegment" xmi:id="158" id="158" name="countdown" comment="" source="91" target="92">
......@@ -812,6 +834,7 @@
</specifications>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points">
<points x="696" y="348"/>
<points x="696" y="348"/>
</layoutData>
</connections>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Point" key="pos"/>
......@@ -1379,6 +1402,7 @@
</specifications>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points">
<points x="160" y="260"/>
<points x="160" y="260"/>
</layoutData>
</connections>
<connections xsi:type="org-fortiss-af3-state:TransitionSegment" xmi:id="403" id="403" name="outputVariables" comment="" source="397" target="398">
......@@ -1433,6 +1457,7 @@
</specifications>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Points" key="points">
<points x="160" y="70"/>
<points x="160" y="70"/>
</layoutData>
</connections>
<layoutData xsi:type="org-fortiss-tooling-base-model-layout:Point" key="pos"/>
......@@ -1765,55 +1790,17 @@
<containedElements xsi:type="org-fortiss-af3-mira-glossary:GlossaryEntry" xmi:id="217" id="217" name="Traffic" comment="" definition="All vehicles and persons moving on or next to the street."/>
<containedElements xsi:type="org-fortiss-af3-mira-glossary:GlossaryEntry" xmi:id="218" id="218" name="Controller" comment="" definition="The Traffic Light Controller controls a traffic light system, which consists of a Pedestrian Light for the pedestrians and a traffic light for the motor vehicle."/>
</containedElements>
<containedElements xsi:type="org-fortiss-af3-mira-requirementSource:RequirementSource" xmi:id="219" id="219" name="Requirement Sources" comment="">
<containedElements xsi:type="org-fortiss-af3-mira-requirementSource:RequirementDocument" xmi:id="220" id="220" name="ISO 26262 standard" comment="First 3 parts of ISO 26262 added, more parts exist." definition="ISO 26262 Road vehicles - Functional safety, 2011.">
<containedElements xsi:type="org-fortiss-af3-mira-requirementSource:FileItem" xmi:id="221" id="221" name="http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=43464" uri="http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=43464" version="2011" description="ISO 26262-1:2011: Part 1: Vocabulary"/>
<containedElements xsi:type="org-fortiss-af3-mira-requirementSource:FileItem" xmi:id="222" id="222" name="http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=51356" uri="http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=51356" version="2011" description="ISO 26262-2:2011: Part 2: Management of functional safety"/>
<containedElements xsi:type="org-fortiss-af3-mira-requirementSource:FileItem" xmi:id="223" id="223" name="http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=51358" uri="http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=51358" version="2011" description="ISO 26262-3:2011: Part 3: Concept phase"/>
</containedElements>
<containedElements xsi:type="org-fortiss-af3-mira-requirementSource:Stakeholder" xmi:id="224" id="224" name="System architect" comment="" definition="System architect of the traffic light controller.">
<containedElements xsi:type="org-fortiss-af3-mira-requirementSource:Person" xmi:id="225" id="225" name="Christopher Pike" eMailAddress="Pike@uss.org" telephoneNr="+123456789"/>
</containedElements>
<containedElements xsi:type="org-fortiss-af3-mira-requirementSource:Stakeholder" xmi:id="226" id="226" name="Pedestrian" comment="" definition="A pedestrian is a person traveling on foot, whether walking or running. In some communities, those traveling using tiny wheels such as roller skates, skateboards, and scooters, as well as wheelchair users are also included as pedestrians. In modern times, the term mostly refers to someone walking on a road or sidewalk, but this was not the case historically (http://en.wikipedia.org/wiki/Pedestrian, last accessed: 05/29/2013).">
<synonyms text="Walker"/>
</containedElements>
<containedElements xsi:type="org-fortiss-af3-mira-requirementSource:ExternalSystem" xmi:id="227" id="227" name="Traffic light" comment="" definition="Traffic lights are signalling devices positioned at or near road intersections, pedestrian crossings and other locations to control competing flows of traffic."/>
<containedElements xsi:type="org-fortiss-af3-mira-requirementSource:ExternalSystem" xmi:id="228" id="228" name="Pedestrian light" comment="" definition="The pedestrian light indicates whether pedestrians are allowed to cross the street."/>
<containedElements xsi:type="org-fortiss-af3-mira-requirementSource:ExternalSystem" xmi:id="229" id="229" name="Indicator" comment="" definition="An actuation indicator is a light, a tone, a voice message, or a combination of audible and visual indicators that informs pedestrians that the button has been pressed and that their desire to cross has been communicated to the controller."/>
</containedElements>
<containedElements xsi:type="org-fortiss-af3-mira:RequirementsContainer" xmi:id="230" id="230" name="Requirements" comment="">
<containedElements xsi:type="org-fortiss-af3-mira:RequirementsPackage" xmi:id="231" id="231" name="Requirements Package" comment="">
<containedElements xsi:type="org-fortiss-af3-mira:Requirement" xmi:id="232" id="232" name="Traffic light timing constraint" description="The traffic light should always be at least two minutes green before switching to red again." rationale="Traffic has to move on." author="Sabine" sources="System architect Christopher Pike" status="Analyzed" priority="Normal - Satisfier" reqId="2" incomingRequirementRelation="335">
<specifications xsi:type="org-fortiss-af3-mira-verification:CheckList" xmi:id="233" id="233" name="Discovery Phase" comment="Check list for discovery Phase">
<items xmi:id="234" id="234" name="Requirement is relevant" comment="TODO" category="E3.1"/>
<items xmi:id="235" id="235" name="Requirement description is correct" comment="TODO" category="E4.1"/>
<items xmi:id="236" id="236" name="Consistent wording -- check with glossary" comment="TODO" category="E6.1"/>
</specifications>
<specifications xsi:type="org-fortiss-af3-mira-verification:CheckList" xmi:id="237" id="237" name="Detailed Modeling Phase" comment="Check list for conceptual modeling phase">
<items xmi:id="238" id="238" name="Consistent wording -- check with glossary" comment="TODO" category="E6.1"/>
</specifications>
<containedElements xsi:type="org-fortiss-af3-mira:Requirement" xmi:id="232" id="232" name="Traffic light timing constraint" description="The traffic light should always be at least two minutes green before switching to red again." rationale="Traffic has to move on." author="Sabine" sources="System architect Christopher Pike" status="Analyzed" priority="Normal - Satisfier" reqId="2">
<specifications xsi:type="org-fortiss-af3-safety-annotation:SafetyIntegrityLevel" xmi:id="454" id="454"/>
<connectors xsi:type="org-fortiss-af3-mira:RequirementConnector"/>
</containedElements>
<containedElements xsi:type="org-fortiss-af3-mira:Requirement" xmi:id="239" id="239" name="Pedestrian light timing constraint" description="The pedestrian should wait no more than two minutes before pedestrian light switching to 'go'." rationale="Traffic has to move." author="Sabine" sources="System architect Christopher Pike" status="In Analysis" priority="Normal - Satisfier" todo="Two minutes limit is not yet confirmed due to an conflict." reqId="3" incomingRequirementRelation="335">
<specifications xsi:type="org-fortiss-af3-mira-verification:CheckList" xmi:id="240" id="240" name="Discovery Phase" comment="Check list for discovery Phase">
<items xmi:id="241" id="241" name="Requirement is relevant" comment="TODO" category="E3.1"/>
<items xmi:id="242" id="242" name="Requirement description is correct" comment="TODO" category="E4.1"/>
<items xmi:id="243" id="243" name="Consistent wording -- check with glossary" comment="TODO" category="E6.1"/>
</specifications>
<specifications xsi:type="org-fortiss-af3-mira-verification:CheckList" xmi:id="244" id="244" name="Detailed Modeling Phase" comment="Check list for conceptual modeling phase">
<items xmi:id="245" id="245" name="Consistent wording -- check with glossary" comment="TODO" category="E6.1"/>
</specifications>
<containedElements xsi:type="org-fortiss-af3-mira:Requirement" xmi:id="239" id="239" name="Pedestrian light timing constraint" description="The pedestrian should wait no more than two minutes before pedestrian light switching to 'go'." rationale="Traffic has to move." author="Sabine" sources="System architect Christopher Pike" status="In Analysis" priority="Normal - Satisfier" todo="Two minutes limit is not yet confirmed due to an conflict." reqId="3">
<specifications xsi:type="org-fortiss-af3-safety-annotation:SafetyIntegrityLevel" xmi:id="455" id="455"/>
<connectors xsi:type="org-fortiss-af3-mira:RequirementConnector"/>
</containedElements>
</containedElements>
</containedElements>
<requirementRelation xmi:id="335" id="335" targetRequirement="232 239" requirementRelationStatus="337">
<requirementRelationType xsi:type="org-fortiss-af3-mira-relations:ConflictedRequirementRelationType"/>
</requirementRelation>
<requirementRelationStatus xmi:id="337" id="337" name="New" comment=""/>
<requirementRelationStatus xmi:id="338" id="338" name="In Analysis" comment=""/>
<requirementRelationStatus xmi:id="339" id="339" name="Analyzed" comment=""/>
</rootElements>
</org-fortiss-af3-project:FileProject>
Source diff could not be displayed: it is too large. Options to address this: view the blob.
Source diff could not be displayed: it is too large. Options to address this: view the blob.
Source diff could not be displayed: it is too large. Options to address this: view the blob.
......@@ -4,7 +4,7 @@ Eclipse-BundleShape: dir
Bundle-ManifestVersion: 2
Bundle-Name: AF3 Online Help
Bundle-SymbolicName: org.fortiss.af3.rcp.help;singleton:=true
Bundle-Version: 2.17.0.qualifier
Bundle-Version: 2.19.0.qualifier
Bundle-Vendor: fortiss GmbH
Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
......
MIRA.glossary.html 72db44909e982b0a3999054fbbf3dc589cb235d1 GREEN
MIRA.requirements.html b0cc481d8fce753a834572074d96b4ef35b4a308 GREEN
MIRA.requirements_analysis.html 8201ce94671b5d1ad453dee4b23257452de5a004 GREEN
af3_faq.html 5fcc2680c2ababe82b6f8bf9bffc120d08476ac8 GREEN
code_specification.html 6abb0c1e49b2545e5b3d81444481689ca5bbd611 RED
component_architecture.html 07026f0362ee3afa6f9e90223a04d429e1430aa1 GREEN
cosimulation_with_af3.html a2daa6bb9a39083cf2498df26df54572f69c38da RED
data_dictionary.html 1cfdcfe5879e210456f78095a8b7b4790ab409af RED
getting_started.html 9550a77ddfb6e053bdbce599807e79ead75d9d5a GREEN
hierarchical_state_automaton.html cebd924f514cd50f229c7745e173f76bd0c0038b RED
loading_standard_examples.html a2693477f0afb902f2899d12b3166f01378f6d8d RED
mode_automaton.html dc395eab03cb6920580f54e317c3d203e64cb496 RED
model_element_attributes.html 778a7ff5b5be649b43ec014dd0f7098fd70a6e10 RED
model_markers_view.html fc7a4563f00643e3a6da6d68008160318586425a GREEN
model_testing.html 1337b89d2933f98c3ce76fb70a5e2f96c34c8613 RED
operatorpanels.html a5343a0ad3a8421da55bf809e831b61d968c5623 RED
operatorpanels_advanced.html f48da6255d25f04cf83e5c181bfeba5c537bcfd4 RED
refactoring.html a0e1ef29371696aac8cc9c966e67324d547e5299 GREEN
safety.html 5f7d5b677b31bc916ec2c62d82b44502c0705a2d RED
scheduling.html 94646464662c1745795ab1954dfcc5f469fdaee7 RED
simulation_with_af3.html 36223384af0af325642fe1dce007aecafa62843f RED
state_automaton.html 5850977b2e0f2b760e15340ee8eca319ec16c71f RED
tipsAndTricks.html 6eef4c172b9f40ec52010e28050f256cad969f36 RED
af3_faq.html 6f530dee154e0abac047d8f3b655d9582e2bed08 GREEN
example_co-simulation.html 92f60eb7a00cb781eb3df2d9f2d50f7d00b566c4 GREEN
examples.MainPage.html 2c4306f571d68206ce7511bbe0fda2ee428cd2d9 GREEN
getting_started.html c14e905bd433534ec9f7ace46b487e743d78f502 GREEN
managing_projects.html 3ae1eb6a7d50f6467403de239692289bb07b93f6 GREEN
rcphelp.gettingstarted.MainPage.html 069e1cec825c3f2497151a95f91de3e85b6165e3 GREEN
tipsAndTricks.html 84078f2bbea99db29dfa1a38d59dda2540ee00fa GREEN
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--
Documentation of MIRA - Model-based Integrated Requirements Analysis.
@author becker
@ConQAT.Rating GREEN Hash: 850E39092E4DF6F9EEB6D26D886BEF68
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>MIRA - Creating a Requirements Glossary using AutoFOCUS3 (AF3)</title>
</head>
<body>
<h2><font color="#336699">Creating a Glossary</font></h2>
A glossary is used to capture the vocabulary of the problem domain. Once created, the glossary is automatically linked to the requirements. Using the glossary it is easily visible whether the agreed vocabulary is used in all descriptions.
<br><br>
To create a new glossary, select <i>Glossary</i> in the context menu of a requirements analysis.
<br><br>
<img src="./pictures/MIRA.Glossary.NewGlossary.png">
<br><br>
<br><br>
You can create multiple glossary nodes with specific names (set in the properties view) to group your glossary terms.
<h3><font color="#336699">Creating Glossary Entries</font></h3>
In the context menu of the glossary node you can then create glossary entries by clicking <i>Entry</i>.
<br><br>
<img src="./pictures/MIRA.Glossary.NewEntry.png">
<h2><font color="#336699">Glossary Overview</font></h2>
By double-clicking on the <i>Glossary</i> node, an overview over all glossary entries opens.
<br><br>
<img src="./pictures/MIRA.GlossaryOverview.png">
<br><br>
The list of glossary entries can be sorted by clicking on the column headers of the overview list.
You can filter the glossary entries by inserting filter text in the filter section. Double-clicking on a column opens the corresponding glossary entry.
<h2><font color="#336699">Specifying Glossary Entries</font></h2>
For each entry you should at least specify the <i>name</i> (the vocabulary term it represents). In the <i>definition</i> field you should enter what this term means in your problem domain.
An entry also has a <i>status</i> field (Options: New, In consolidation, Consolidated) which can be used to consolidate it with others.
Furthermore you can specify <i>abbreviations</i> and <i>synonyms</i> for the entry and add a comment.
In <i>names</i>, <i>abbreviations</i> and <i>synonyms</i> only the special characters "-_/&rsquo;()" are allowed.
<br><br>
<img src="./pictures/MIRA.Glossary.GlossaryEntry.png">
<br><br>
For further description of the entry you can add pictures. To add a picture click on the <i>Add</i> button and choose an image file in the dialog.
You can add as many pictures as you want.
Each image has a description field which can be used to give information about the picture and to number the pictures.
If you click on an added picture, it should be displayed in full resolution in your systems picture viewer. <br>
When you add a picture it is copied into the <i>Images</i> folder in the project directory, next to your .af3_20 file.
If you want to send the model file to someone else, you should also send the <i>Images</i> folder.
</body>
</html>
\ No newline at end of file
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head><!--
Documentation of MIRA - Model-based Integrated Requirements Analysis.
@author becker
@ConQAT.Rating GREEN Hash: 9E1B5106815B8C6D8DF2ECC5890F5C39
-->
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
<title>MIRA - Creating a Requirements Analysis using AutoFOCUS3 (AF3)</title>
</head>
<body>
<h2><font color="#336699">Create a Requirements Node</font></h2>
<p>Before creating <i>Requirements</i>, you have to create a <a href="MIRA.requirements_analysis.html">Requirements Analysis</a> node.<br />
<br />
Create a new <i>Requirements</i> node by choosing <i>Requirements</i>, in the context menu of the <i>Requirements Analysis</i> node.<br />
<br />
<img src="./pictures/MIRA.Requirements.NewRequirements.png" /><br />
<br />
<br />
<br />
Change the name of a <i>Requirements</i> node in the properties view. You also can create multiple requirement nodes with different names to organize your requirements.</p>
<h2><font color="#336699">Requirements Overview</font></h2>
<p>By double-clicking on the <i>Requirements</i> node, an overview over all requirements opens.<br />
<br />
<img src="./pictures/MIRA.RequirementsOverview.png" /><br />
<br />
The list of requirements can be sorted by clicking on the column headers of the overview list. You can filter the requirements by inserting a filter text in the filter section. Double-clicking on a column opens the corresponding requirement source element.</p>
<h2><font color="#336699">Requirements Packages</font></h2>
<p>Requirements are structured by <i>Requirements Packages</i>.<br />
<br />
<img src="./pictures/MIRA.Requirements.Packages.png" /></p>
<h2><font color="#336699">Specify Requirements</font></h2>
<p>To add a new requirement, open the context menu of the requirements node. You can choose between the following requirement types:</p>
<p><img src="./pictures/MIRA.Requirements.NewRequirement.png" /><br />
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--
Documentation of MIRA - Model-based Integrated Requirements Analysis.
@author becker
@ConQAT.Rating YELLOW Hash: 26C75A61229717DC7D05E53111B31834
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>MIRA - Creating a Requirements Analysis using AutoFOCUS3 (AF3)</title>
</head>
<body>
<h2><font color="#336699">Create a Requirements Analysis Node</font></h2>
To create a new <i>Requirements Analysis Node</i> in project, open the context menu of the project by right-clicking on the project and select <i>Requirements Analysis</i>.
<br><br>
<img src="./pictures/MIRA.NewAnalysis.png">
<br><br>
In the same way, you can add more requirements analysis nodes to your project.
<h2><font color="#336699">Requirements overview</font></h2>
By double-clicking on the <i>Requirements Analysis</i> node, an overview over all requirements opens.
<br><br>
<img src="./pictures/MIRA.RequirementsOverview.png">
<br><br>
The list of requirements can be sorted by clicking on the column headers of the overview list.
You can filter the requirements by inserting filter text in the filter section. Double-clicking on a requirement opens the corresponding requirement.
</body>
</html>
\ No newline at end of file
BehaviorMod.ContentPage.html 8add0e6ba4dffc4715af499f681576b90d24a252 GREEN
ModandSim.MainPage.html 2ffbbecd7d06ade3f5a0a0ca3b3f8407d6ba5879 GREEN
code_specification.html 2212a40a032718892a24ab7aef701f40a90e4f7a GREEN
component_architecture.html d122d62d6622714a597a6ffbbf12bf0c8a092861 GREEN
cosimulation_with_af3.html 2a6979db8f96a812defc5df6294a9381031cbb2e GREEN
data_dictionary.html f16333315733a5223868fdf2e0b1ec06c0419d43 GREEN
hierarchical_state_automaton.html b1e1f12b3bd667fce2158df8d0dd7379b7fb7703 GREEN
mode_automaton.html 57688d041d31a074174bd8708118fb4833626753 GREEN
model_element_attributes.html 73e7c702b37beb7b5ab82339e69aa31777f2d399 GREEN
model_markers_view.html 6505b258c9611eca0d287bbf9950e4b386c09d7d GREEN
operatorpanels.html fde760953b84f47d1f52409f57570f86cc0b1e8d GREEN
operatorpanels_advanced.html 7ed058b9798842f9a9a980794257ab80cd25a760 GREEN
refactoring.html d3c98b10c0d01dadc48613f793b9f4087af20141 GREEN
simulation_with_af3.html 992557ae7d586fe3bc7b5259d8e071e7517a7ca2 GREEN
state_automaton.html f47ef2c725bad53a08ed764c76faf9d9eaec8e84 GREEN
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Documentation of MIRA - Model-based Integrated Requirements. -->
<html>
<head>
<link rel="stylesheet" type="text/css" href="../layout/stylesheet.css"/>
<title>Modeling and Simulation Main-Page</title>
<style>
.center {
margin: auto;
width: 60%;
padding: 10px;
}
</style>
</head>
<body>
<div class="header">
<div class="box">
<div class="navbar">
<div class="dropdown">
<a href="../getting_started.html" style="padding:0;">
<button class="btn" id="hamburger" onclick="javascript:window.location.href='../getting_started.html'">
<label for="hamburger" class="hamburger">
<span class="hamburgerLine"></span>
<span class="hamburgerLine"></span>
<span class="hamburgerLine"></span>
</label>
</button>
</a>
<div class="dropdown-content">
<a href=".././rcphelp.gettingstarted.MainPage.html">Getting Started</a>
<a href="../requirements/MIRA.requirements.MainPage.html">Requirements Engineering</a>
<a style="background-color:#f2f2f2;">Modeling and Simulation</a>
<a href="../ta/DepandCodGen.MainPage.html">Deployment and Code Generation</a>
<a href="../dse/dse.MainPage.html">Design Space Exploration (DSE)</a>
<a href="../assuranceCases/creation.html">Assurance Case Modeling</a>
</div>
</div>
<div class="topnav-right">
<a href="mailto:af_user@lists.fortiss.org?subject=Reporting 'ModandSim.MainPage.html' Documentation Problem!&body= Dear AutoFOCUS3 team, I am reporting an issue related to Modeling and Simulation Main Page.
{Please specify the problem precisely here.}.">Report a Problem?</a>
</div>
</div>
</div>
</div>
<div class="box">
<button onclick="topFunction()" id="upBtn" title="Go to top">Top</button>
<div class="row center">
<div class="column">
<div class="mainfeature">
<h2>Behavior Modeling</h2>
<img src="../gettingStarted/img/sim.png"/>
<ul>
<li><a href="code_specification.html">Code Specifications</a></li>
<li><a href="state_automaton.html">State Automata</a></li>
<li><a href="hierarchical_state_automaton.html">Hierarchical State Automata</a></li>
<li><a href="mode_automaton.html">Mode Automata</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../layout/jsscript/topBtn.js">
</script>
<div class="footer">
<p>
&copy; 2020 <a href="https://www.fortiss.org/">fortiss GmbH</a> &nbsp;&nbsp;&bull;&nbsp;&nbsp;
<a href="https://www.fortiss.org/en/publications/software/autofocus-3#c2007">Contact</a>&nbsp;&nbsp;&bull;&nbsp;&nbsp;
<a href="https://www.fortiss.org/en/imprint">Imprint</a>
</p>
</div>
</body>
</html>
\ No newline at end of file
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Documentation of MIRA - Model-based Integrated Requirements. -->
<html>
<head>
<link rel="stylesheet" type="text/css" href="../layout/stylesheet.css"/>
<title>Modeling and Simulation Main-Page</title>
<style>
.center {
margin: auto;
width: 60%;
padding: 10px;
}
</style>
</head>
<body>
<div class="header">
<div class="box">
<div class="navbar">
<div class="dropdown">
<a href="../getting_started.html" style="padding:0;">
<button class="btn" id="hamburger" onclick="javascript:window.location.href='../getting_started.html'">
<label for="hamburger" class="hamburger">
<span class="hamburgerLine"></span>
<span class="hamburgerLine"></span>
<span class="hamburgerLine"></span>
</label>
</button>
</a>
<div class="dropdown-content">
<a href=".././rcphelp.gettingstarted.MainPage.html">Getting Started</a>
<a href="../requirements/MIRA.requirements.MainPage.html">Requirements Engineering</a>
<a style="background-color:#f2f2f2;">Modeling and Simulation</a>
<a href="../ta/DepandCodGen.MainPage.html">Deployment and Code Generation</a>
<a href="../dse/dse.MainPage.html">Design Space Exploration (DSE)</a>
<a href="../assuranceCases/creation.html">Assurance Case Modeling</a>
</div>
</div>
<div class="topnav-right">
<a href="mailto:af_user@lists.fortiss.org?subject=Reporting 'ModandSim.MainPage.html' Documentation Problem!&body= Dear AutoFOCUS3 team, I am reporting an issue related to Modeling and Simulation Main Page.
{Please specify the problem precisely here.}.">Report a Problem?</a>
</div>
</div>
</div>
</div>
<div class="box">
<button onclick="topFunction()" id="upBtn" title="Go to top">Top</button>
<div class="row center">
<div class="column">
<div class="mainfeature">
<h2>Modeling and Simulation</h2>
<img src="../gettingStarted/img/sim.png"/>
<ul>
<li><a href="model_element_attributes.html">Introduction to Graphical Modeling Interface</a></li>
<li><a href="component_architecture.html">Component Architecture Modeling</a></li>
<li><a href="data_dictionary.html">Data Dictionary: Types and Functions</a></li>
<li><a href="refactoring.html">Refactoring</a></li>
<li><a href="model_markers_view.html">On-the-fly Checks</a></li>
<li>Behavior Modeling
<ul>
<li><a href="code_specification.html">Code Specifications</a></li>
<li><a href="state_automaton.html">State Automata</a></li>
<li><a href="hierarchical_state_automaton.html">Hierarchical State Automata</a></li>
<li><a href="mode_automaton.html">Mode Automata</a></li>
</ul>
</li>
<li>Simulation
<ul>
<li><a href="simulation_with_af3.html">Simulation</a></li>
<li><a href="operatorpanels.html">Operator Panels</a> (<a href="ModandSim/operatorpanels_advanced.html">advanced interface</a>)</li>
<li><a href="cosimulation_with_af3.html">Co-Simulation and FMI Support</a><font color="#ff0000"> </font></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../layout/jsscript/topBtn.js">
</script>
<div class="footer">
<p>
&copy; 2020 <a href="https://www.fortiss.org/">fortiss GmbH</a> &nbsp;&nbsp;&bull;&nbsp;&nbsp;
<a href="https://www.fortiss.org/en/publications/software/autofocus-3#c2007">Contact</a>&nbsp;&nbsp;&bull;&nbsp;&nbsp;
<a href="https://www.fortiss.org/en/imprint">Imprint</a>
</p>
</div>
</body>
</html>
\ No newline at end of file