Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
monticore
MontiSecArc
Commits
ae3d1bc5
Commit
ae3d1bc5
authored
Nov 20, 2014
by
Paff
Browse files
workflows for filters
wrapper tool TODO: Test tool
parent
3071f061
Changes
10
Hide whitespace changes
Inline
Side-by-side
montiSecArcAnalysis/pom.xml
View file @
ae3d1bc5
...
...
@@ -104,6 +104,14 @@
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-jar-plugin
</artifactId>
<version>
2.4
</version>
<configuration>
<archive>
<manifest>
<addClasspath>
true
</addClasspath>
<mainClass>
secarc.WrapperMontiSecArcAnalysisTool
</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>
grammars
</id>
...
...
montiSecArcAnalysis/src/main/java/secarc/MontiSecArcAnalysis.java
View file @
ae3d1bc5
...
...
@@ -75,14 +75,14 @@ public final class MontiSecArcAnalysis extends MontiSecArc {
//Transformation-Workflow before coco checks (can be called by "preCheckTransformation" on the command line)
addExecutionUnit
(
"preCheckTransformation"
,
new
PreCoCoCheckMontiSecArcTransformationWorkflow
<
MontiSecArcRoot
>(
LANGUAGE_ROOT
));
//Workflow for analysis
this
.
addAnalysisWorkflow
(
analysisConfPath
,
analysisParameter
);
//Workflow for analysis with trustlevel
this
.
addTrustlevelW
hatIfW
orkflow
(
analysisParameter
,
analysisConfPath
);
this
.
add
Filter
TrustlevelWorkflow
(
analysisParameter
,
analysisConfPath
);
//Workflow for analysis with critical ports
this
.
addCriticalPortWhatIfWorkflow
(
analysisConfPath
);
this
.
addFilterCriticalPortWorkflow
(
analysisConfPath
);
//Workflow for analysis
this
.
addAnalysisWorkflow
(
analysisConfPath
,
analysisParameter
);
}
/**
...
...
@@ -97,7 +97,11 @@ public final class MontiSecArcAnalysis extends MontiSecArc {
//AnalysisCreator
analysisWorkflow
.
setAnalysis
(
MontiSecArcAnalysisCreator
.
createAnalysis
(
analysisConfPath
));
//AnalysisConfiguratin
analysisWorkflow
.
setAnalysisConfiguration
(
MontiSecArcAnalysisCreator
.
createConfig
());
if
(
analysisConfPath
!=
null
&&
!
analysisConfPath
.
isEmpty
())
{
analysisWorkflow
.
setAnalysisConfiguration
(
MontiSecArcAnalysisCreator
.
createConfig
());
}
else
{
analysisWorkflow
.
setAnalysisConfiguration
(
MontiSecArcAnalysisCreator
.
createConfig
(
analysisConfPath
));
}
//AnalysisParaemter
analysisWorkflow
.
setAnalysisParameter
(
analysisParameter
);
//Add Workflow for Analysis for advanced users
...
...
@@ -115,15 +119,10 @@ public final class MontiSecArcAnalysis extends MontiSecArc {
*
* @param analysisConfPath Configuration file path
*/
private
void
addCriticalPortW
hatIfW
orkflow
(
String
analysisConfPath
)
{
private
void
add
Filter
CriticalPortWorkflow
(
String
analysisConfPath
)
{
AnalysisCriticalPortTransformationWorkflow
<
MontiSecArcRoot
>
criticalPortTransformationWorkflow
=
new
AnalysisCriticalPortTransformationWorkflow
<
MontiSecArcRoot
>(
MontiSecArcRoot
.
class
);
criticalPortTransformationWorkflow
.
setAdvanced
(
false
);
criticalPortTransformationWorkflow
.
setAnalysisConfPath
(
analysisConfPath
);
addExecutionUnit
(
MontiSecArcConstants
.
ANALYSIS_WORKFLOW_BEGINNERS_WHAT_IF_CRITICAL_PORT
,
criticalPortTransformationWorkflow
);
criticalPortTransformationWorkflow
.
setAdvanced
(
true
);
addExecutionUnit
(
MontiSecArcConstants
.
ANALYSIS_WORKFLOW_BEGINNERS_WHAT_IF_CRITICAL_PORT
,
criticalPortTransformationWorkflow
);
addExecutionUnit
(
MontiSecArcConstants
.
FILTER_CRITICAL_PORT
,
criticalPortTransformationWorkflow
);
}
/**
...
...
@@ -132,15 +131,10 @@ public final class MontiSecArcAnalysis extends MontiSecArc {
* @param analysisParameter Referenced components for what if analysis
* @param analysisConfPath Configuration file path
*/
private
void
addTrustlevelW
hatIfW
orkflow
(
List
<
String
>
analysisParameter
,
String
analysisConfPath
)
{
private
void
add
Filter
TrustlevelWorkflow
(
List
<
String
>
analysisParameter
,
String
analysisConfPath
)
{
AnalysisTrustlevelTransformationWorkflow
<
MontiSecArcRoot
>
trustlevelTransformationWorkflow
=
new
AnalysisTrustlevelTransformationWorkflow
<
MontiSecArcRoot
>(
MontiSecArcRoot
.
class
);
trustlevelTransformationWorkflow
.
setAnalysisParameter
(
analysisParameter
);
trustlevelTransformationWorkflow
.
setAdvanced
(
false
);
trustlevelTransformationWorkflow
.
setAnalysisConfPath
(
analysisConfPath
);
addExecutionUnit
(
MontiSecArcConstants
.
ANALYSIS_WORKFLOW_BEGINNERS_WHAT_IF_TRUSTLEVEL
,
trustlevelTransformationWorkflow
);
trustlevelTransformationWorkflow
.
setAdvanced
(
true
);
addExecutionUnit
(
MontiSecArcConstants
.
ANALYSIS_WORKFLOW_ADVANCED_WHAT_IF_TRUSTLEVEL
,
trustlevelTransformationWorkflow
);
addExecutionUnit
(
MontiSecArcConstants
.
FILTER_TRUSTLEVEL
,
trustlevelTransformationWorkflow
);
}
/**
...
...
montiSecArcAnalysis/src/main/java/secarc/MontiSecArcAnalysisTool.java
View file @
ae3d1bc5
...
...
@@ -101,11 +101,7 @@ public class MontiSecArcAnalysisTool extends ETSTool {
List
<
String
>
cleanedArguments
=
new
ArrayList
<
String
>();
boolean
isAnalysisParameter
=
false
;
boolean
isAnalysisConfPath
=
false
;
for
(
String
argument
:
arguments
)
{
if
(
argument
.
equals
(
MontiSecArcConstants
.
ANALYSIS_CIRITICAL_PORTS
))
{
continue
;
}
for
(
String
argument
:
arguments
)
{
if
(
argument
.
equals
(
MontiSecArcConstants
.
ANALYSIS_WORKFLOW_BEGINNERS
)
||
argument
.
equals
(
MontiSecArcConstants
.
ANALYSIS_WORKFLOW_ADVANCED
))
{
isAnalysisParameter
=
true
;
cleanedArguments
.
add
(
argument
);
...
...
@@ -155,7 +151,12 @@ public class MontiSecArcAnalysisTool extends ETSTool {
// set default CoCos
Map
<
String
,
Type
>
cocoConfig
=
MontiSecArcContextConditionCreator
.
createConfig
();
cocoConfig
.
putAll
(
MontiSecArcAnalysisCreator
.
createConfig
());
if
(
analysisConfPath
!=
null
&&
!
analysisConfPath
.
isEmpty
())
{
cocoConfig
.
putAll
(
MontiSecArcAnalysisCreator
.
createConfig
(
analysisConfPath
));
}
else
{
cocoConfig
.
putAll
(
MontiSecArcAnalysisCreator
.
createConfig
());
}
setCocoConfiguration
(
cocoConfig
);
}
...
...
montiSecArcAnalysis/src/main/java/secarc/ets/transform/criticalport/AnalysisCriticalPortTransformationWorkflow.java
View file @
ae3d1bc5
...
...
@@ -31,16 +31,6 @@ import mc.umlp.common._ast.UMLPNode;
*/
public
class
AnalysisCriticalPortTransformationWorkflow
<
T
extends
MontiSecArcRoot
>
extends
DSLWorkflow
<
T
>
{
/**
* Output for beginner or advanced users
*/
boolean
advanced
=
false
;
/**
* Path of configuration file
*/
String
analysisConfPath
=
""
;
/**
* @param responsibleClass class of the dsl root
*/
...
...
@@ -98,31 +88,7 @@ public class AnalysisCriticalPortTransformationWorkflow<T extends MontiSecArcRoo
node
.
delete
();
}
}
//Analysis for transformed Entries
//Workflow for Analysis
MontiSecArcAnalysisWorkflow
<
MontiSecArcRoot
>
analysisTransformWorkflow
=
new
MontiSecArcAnalysisWorkflow
<
MontiSecArcRoot
>(
MontiSecArcRoot
.
class
);
//AnalysisCreator
analysisTransformWorkflow
.
setAnalysis
(
MontiSecArcAnalysisCreator
.
createAnalysis
(
analysisConfPath
));
//AnalysisConfiguratin
analysisTransformWorkflow
.
setAnalysisConfiguration
(
MontiSecArcAnalysisCreator
.
createConfig
());
//Visitor for Analysis
MontiSecArcAnalysisVisitor
analysisTransfromVisitor
=
new
MontiSecArcAnalysisVisitor
();
analysisTransfromVisitor
.
setAdvanced
(
advanced
);
analysisTransformWorkflow
.
run
(
dslroot
);
//Set original AST
dslroot
.
setAst
(
astCopy
);
}
public
void
setAdvanced
(
boolean
advanced
)
{
this
.
advanced
=
advanced
;
}
public
void
setAnalysisConfPath
(
String
analysisConfPath
)
{
this
.
analysisConfPath
=
analysisConfPath
;
}
}
montiSecArcAnalysis/src/main/java/secarc/ets/transform/trustlevel/AnalysisTrustlevelTransformationWorkflow.java
View file @
ae3d1bc5
...
...
@@ -36,16 +36,6 @@ public class AnalysisTrustlevelTransformationWorkflow<T extends MontiSecArcRoot>
*/
private
List
<
String
>
analysisParameter
;
/**
* advanced or beginner output
*/
boolean
advanced
=
false
;
/**
* path to configuration file
*/
String
analysisConfPath
=
""
;
/**
* @param responsibleClass class of the dsl root
*/
...
...
@@ -83,43 +73,17 @@ public class AnalysisTrustlevelTransformationWorkflow<T extends MontiSecArcRoot>
AnalysisTrustlevelTransformationVisitor
visitor
=
new
AnalysisTrustlevelTransformationVisitor
();
visitor
.
setAnalysisParameter
(
analysisParameter
);
visitor
.
setResolver
(
resolver
);
visitor
.
setNodesToNameSpaces
(
nodesToNameSpaces
);
visitor
.
setNodesToNameSpaces
(
nodesToNameSpaces
);
visitor
.
isReverse
(
false
);
InheritanceVisitor
.
run
(
visitor
,
dslroot
.
getAst
());
Map
<
String
,
TrustlevelEntry
>
actualTrustlevels
=
visitor
.
getActualTrustlevel
();
//Analysis for transformed Entries
//Workflow for Analysis
MontiSecArcAnalysisWorkflow
<
MontiSecArcRoot
>
analysisTransformWorkflow
=
new
MontiSecArcAnalysisWorkflow
<
MontiSecArcRoot
>(
MontiSecArcRoot
.
class
);
//AnalysisCreator
analysisTransformWorkflow
.
setAnalysis
(
MontiSecArcAnalysisCreator
.
createAnalysis
(
analysisConfPath
));
//AnalysisConfiguratin
analysisTransformWorkflow
.
setAnalysisConfiguration
(
MontiSecArcAnalysisCreator
.
createConfig
());
//Visitor for Analysis
MontiSecArcAnalysisVisitor
analysisTransfromVisitor
=
new
MontiSecArcAnalysisVisitor
();
analysisTransfromVisitor
.
setAdvanced
(
advanced
);
analysisTransfromVisitor
.
setAnalysisParameter
(
analysisParameter
);
analysisTransformWorkflow
.
run
(
dslroot
);
//Reverse
visitor
.
isReverse
(
true
);
visitor
.
setActualTrustlevel
(
actualTrustlevels
);
InheritanceVisitor
.
run
(
visitor
,
dslroot
.
getAst
());
}
public
void
setAnalysisParameter
(
List
<
String
>
analysisParameter
)
{
this
.
analysisParameter
=
analysisParameter
;
}
public
void
setAdvanced
(
boolean
advanced
)
{
this
.
advanced
=
advanced
;
}
public
void
setAnalysisConfPath
(
String
analysisConfPath
)
{
this
.
analysisConfPath
=
analysisConfPath
;
}
}
montiSecArcAnalysis/src/test/java/secarc/MontiSecArcAnalysisTransformationCriticalPortTest.java
View file @
ae3d1bc5
...
...
@@ -35,7 +35,7 @@ public class MontiSecArcAnalysisTransformationCriticalPortTest extends TestWithS
assertTrue
(
toolTransformation
.
run
());
MontiSecArcRoot
rootTransformed
=
(
MontiSecArcRoot
)
initSymtabForRoot
(
toolTransformation
,
"secarc.analysis.connector.EncryptedPathEndInLowTrustlevel"
);
if
(
root
.
getAst
().
deepEquals
(
rootTransformed
.
getAst
())){
if
(
!
root
.
getAst
().
deepEquals
(
rootTransformed
.
getAst
())){
assertTrue
(
true
);
}
else
{
assertTrue
(
false
);
...
...
@@ -62,7 +62,7 @@ public class MontiSecArcAnalysisTransformationCriticalPortTest extends TestWithS
assertTrue
(
toolTransformation
.
run
());
MontiSecArcRoot
rootTransformed
=
(
MontiSecArcRoot
)
initSymtabForRoot
(
toolTransformation
,
"secarc.analysis.criticalport.CriticalPort"
);
if
(
root
.
getAst
().
deepEquals
(
rootTransformed
.
getAst
())){
if
(
!
root
.
getAst
().
deepEquals
(
rootTransformed
.
getAst
())){
assertTrue
(
true
);
}
else
{
assertTrue
(
false
);
...
...
montiSecArcAnalysis/src/test/java/secarc/MontiSecArcAnalysisTransformationTrustlevelTest.java
View file @
ae3d1bc5
...
...
@@ -61,7 +61,7 @@ public class MontiSecArcAnalysisTransformationTrustlevelTest extends TestWithSym
assertEquals
(
true
,
((
SecComponentEntry
)
entry
).
getTrustlevel
().
get
().
isPositive
());
}
assertEquals
(
11
,
handler
.
getWarnings
().
size
());
assertEquals
(
5
,
handler
.
getWarnings
().
size
());
}
/**
...
...
@@ -93,7 +93,7 @@ public class MontiSecArcAnalysisTransformationTrustlevelTest extends TestWithSym
assertEquals
(
false
,
((
SecComponentEntry
)
entry
).
getTrustlevel
().
isPresent
());
}
assertEquals
(
4
,
handler
.
getWarnings
().
size
());
assertEquals
(
2
,
handler
.
getWarnings
().
size
());
}
/**
...
...
@@ -213,7 +213,7 @@ public class MontiSecArcAnalysisTransformationTrustlevelTest extends TestWithSym
}
assertEquals
(
null
,
entry
);
assertEquals
(
11
,
handler
.
getWarnings
().
size
());
assertEquals
(
5
,
handler
.
getWarnings
().
size
());
}
protected
ComponentEntry
existComponent
(
String
parameter
,
NameSpace
np
)
throws
AmbigousException
{
...
...
montiSecArcAnalysis/src/test/java/secarc/MontiSecArcAnalysisWhatIfTrustlevelTest.java
View file @
ae3d1bc5
...
...
@@ -38,7 +38,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
ReasonDifferingTrustlevel
);
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
TaintTracking
);
assertEquals
(
11
,
handler
.
getWarnings
().
size
());
assertEquals
(
5
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -51,7 +51,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
tool
.
init
();
assertTrue
(
tool
.
run
());
assertEquals
(
7
,
handler
.
getWarnings
().
size
());
assertEquals
(
3
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -64,7 +64,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
tool
.
init
();
assertTrue
(
tool
.
run
());
assertEquals
(
13
,
handler
.
getWarnings
().
size
());
assertEquals
(
6
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -77,7 +77,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
tool
.
init
();
assertTrue
(
tool
.
run
());
assertEquals
(
7
,
handler
.
getWarnings
().
size
());
assertEquals
(
3
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -100,7 +100,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
UnencryptedConnectorThroughLowTrustlevel
);
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
FilterWithHigherTrust
);
assertEquals
(
8
,
handler
.
getWarnings
().
size
());
assertEquals
(
4
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -113,7 +113,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
tool
.
init
();
assertTrue
(
tool
.
run
());
assertEquals
(
5
,
handler
.
getWarnings
().
size
());
assertEquals
(
2
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -135,7 +135,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
ReviewedConfiguration
);
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
ListThirdPartyComponents
);
assertEquals
(
6
,
handler
.
getWarnings
().
size
());
assertEquals
(
3
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -150,7 +150,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
ListThirdPartyComponents
);
assertEquals
(
4
,
handler
.
getWarnings
().
size
());
assertEquals
(
2
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -175,7 +175,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
RoleAccess
);
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
ListThirdPartyComponents
);
assertEquals
(
24
,
handler
.
getWarnings
().
size
());
assertEquals
(
11
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -197,7 +197,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
ListOutgoingPorts
);
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
ListAllCriticalPorts
);
assertEquals
(
4
,
handler
.
getWarnings
().
size
());
assertEquals
(
2
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -210,7 +210,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
tool
.
init
();
assertTrue
(
tool
.
run
());
assertEquals
(
4
,
handler
.
getWarnings
().
size
());
assertEquals
(
2
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -223,7 +223,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
tool
.
init
();
assertTrue
(
tool
.
run
());
assertEquals
(
4
,
handler
.
getWarnings
().
size
());
assertEquals
(
2
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -246,7 +246,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
DerivedRolesPort
);
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
RoleAccess
);
assertEquals
(
11
,
handler
.
getWarnings
().
size
());
assertEquals
(
5
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -259,7 +259,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
tool
.
init
();
assertTrue
(
tool
.
run
());
assertEquals
(
12
,
handler
.
getWarnings
().
size
());
assertEquals
(
6
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -272,7 +272,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
tool
.
init
();
assertTrue
(
tool
.
run
());
assertEquals
(
5
,
handler
.
getWarnings
().
size
());
assertEquals
(
2
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -295,7 +295,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
ReasonDifferingTrustlevel
);
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
DerivedTrustlevel
);
assertEquals
(
4
,
handler
.
getWarnings
().
size
());
assertEquals
(
2
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -310,7 +310,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
tool
.
init
();
assertTrue
(
tool
.
run
());
assertEquals
(
4
,
handler
.
getWarnings
().
size
());
assertEquals
(
2
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
@@ -331,7 +331,7 @@ public class MontiSecArcAnalysisWhatIfTrustlevelTest extends TestWithSymtabAnaly
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
TrustlevelForTrustlevelrelation
);
errorCodes
.
add
(
MontiSecArcAnalysisErrorCodes
.
DerivedTrustlevel
);
assertEquals
(
9
,
handler
.
getWarnings
().
size
());
assertEquals
(
4
,
handler
.
getWarnings
().
size
());
for
(
ProblemReport
error
:
handler
.
getErrors
())
{
assertTrue
(
errorCodes
.
contains
(
error
.
getErrorcode
()));
}
...
...
montiSecArcAnalysis/src/test/java/secarc/TestWithSymtabAnalysis.java
View file @
ae3d1bc5
...
...
@@ -99,9 +99,9 @@ public class TestWithSymtabAnalysis<T extends ETSTool> extends
ARG_SYNTHESIS
,
"arcd"
,
WF_PRE_CHECK_TRAFO
,
ARG_SYNTHESIS
,
Parameters
.
ALL
,
WF_RUN_CHECK
,
//Uses analysis workflow
ARG_SYNTHESIS
,
"secarc"
,
MontiSecArcConstants
.
ANALYSIS_WORKFLOW_BEGINNERS
,
whatIfElement
,
MontiSecArcConstants
.
ARG_ANALYSISCONFPATH
,
"/home/user/workspace/MA-Paff/03.Implementierung/montiSecArcAnalysis/src/main/conf/Analysis_Conf.txt"
,
ARG_SYNTHESIS
,
"secarc"
,
MontiSecArcConstants
.
ANALYSIS_WORKFLOW_BEGINNERS_WHAT_IF_TRUSTLEVEL
};
ARG_SYNTHESIS
,
"secarc"
,
MontiSecArcConstants
.
FILTER_TRUSTLEVEL
,
ARG_SYNTHESIS
,
"secarc"
,
MontiSecArcConstants
.
ANALYSIS_WORKFLOW_BEGINNERS
,};
List
<
String
>
argsAsList
=
new
LinkedList
<
String
>();
argsAsList
.
addAll
(
Arrays
.
asList
(
args
));
for
(
String
mp
:
additionalModelPath
)
{
...
...
@@ -138,8 +138,8 @@ public class TestWithSymtabAnalysis<T extends ETSTool> extends
ARG_SYNTHESIS
,
"arcd"
,
WF_PRE_CHECK_TRAFO
,
ARG_SYNTHESIS
,
Parameters
.
ALL
,
WF_RUN_CHECK
,
//Uses analysis workflow
ARG_SYNTHESIS
,
"secarc"
,
MontiSecArcConstants
.
ANALYSIS_WORKFLOW_BEGINNERS
,
ARG_SYNTHESIS
,
"secarc"
,
MontiSecArcConstants
.
ANALYSIS_WORKFLOW_BEGINNERS
_WHAT_IF_CRITICAL_PORT
,};
ARG_SYNTHESIS
,
"secarc"
,
MontiSecArcConstants
.
FILTER_CRITICAL_PORT
,
ARG_SYNTHESIS
,
"secarc"
,
MontiSecArcConstants
.
ANALYSIS_WORKFLOW_BEGINNERS
,};
List
<
String
>
argsAsList
=
new
LinkedList
<
String
>();
argsAsList
.
addAll
(
Arrays
.
asList
(
args
));
for
(
String
mp
:
additionalModelPath
)
{
...
...
montiSecArcFE/src/main/java/secarc/MontiSecArcConstants.java
View file @
ae3d1bc5
...
...
@@ -87,35 +87,20 @@ public final class MontiSecArcConstants extends Interfaces2Constants {
public
static
final
String
ANALYSIS_WORKFLOW_BEGINNERS
=
"secAnalysisBeginners"
;
/**
* Workflow name for
analysis as beginner What if
trustevel
* Workflow name for trustevel
filter
*/
public
static
final
String
ANALYSIS_WORKFLOW_BEGINNERS_WHAT_IF_TRUSTLEVEL
=
"secAnalysisBeginnersWhatIf
Trustlevel"
;
public
static
final
String
FILTER_TRUSTLEVEL
=
"secFilter
Trustlevel"
;
/**
* Workflow name for
analysis as beginner What if
critical port
* Workflow name for critical port
filter
*/
public
static
final
String
ANALYSIS_WORKFLOW_BEGINNERS_WHAT_IF_CRITICAL_PORT
=
"secAnalysisBeginnersWhatIf
CriticalPort"
;
public
static
final
String
FILTER_CRITICAL_PORT
=
"secFilter
CriticalPort"
;
/**
* Workflow name for analysis as advanced user
*/
public
static
final
String
ANALYSIS_WORKFLOW_ADVANCED
=
"secAnalysisAdvanced"
;
/**
* Workflow name for analysis as advanced user What if trustlevel
*/
public
static
final
String
ANALYSIS_WORKFLOW_ADVANCED_WHAT_IF_TRUSTLEVEL
=
"secAnalysisAdvancedWhatIfTrustlevel"
;
/**
* Workflow name for analysis as advanced user What if trustlevel
*/
public
static
final
String
ANALYSIS_WORKFLOW_ADVANCED_WHAT_IF_CRITICAL_PORT
=
"secAnalysisAdvancedWhatIfCriticalPort"
;
/**
* Parameter, which activates analysis for critical ports
*/
public
static
final
String
ANALYSIS_CIRITICAL_PORTS
=
"-critical"
;
/**
* List of MontiSecArc AST nodes that have public visibility in the symbol table.
*/
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment