• Constraint: a property describes what the links and/or constraints are between
facts. In this case, the property is translated on a positive or negative conceptual
graph constraint. A positive constraint between two facts A and B must be
interpreted as: “If A is true, then B must also be true”. Conversely, a negative
constraint must be interpreted as: “If A is true then B must be false” (if B is true, A
must be true or false).
Object
Concepts lattice (partial view)
Resource
HumanResource
Patient
ResourceRole
InformationObject
T2
Relations Lattices (partial view)
AttributeOf(T,T)
PlayARole(Resource,ResourceRole)
isResponsibleOfObject(HumanResource,Object)
T
Attribute
MedicalFile
InformationObjectType
TangibleObjectType
IsPlayedBy(ResourceRole,Resource)
TangibleObject
ofType(Attribute,Type)
Type
Boolean
String
Number
Object
Concepts lattice (partial view)
Resource
HumanResource
Patient
ResourceRole
InformationObject
T2
Relations Lattices (partial view)
AttributeOf(T,T)
PlayARole(Resource,ResourceRole)
isResponsibleOfObject(HumanResource,Object)
T
Attribute
MedicalFile
InformationObjectType
TangibleObjectType
IsPlayedBy(ResourceRole,Resource)
TangibleObject
ofType(Attribute,Type)
Type
Boolean
String
Number
Patient
<<Atom>>
MedicalFile : field
CurrentPathology : field
PlayARole
<<Connection>>
Resource
<<Atom>>
TangibleObject
<<Atom>>
TanglibleObjectType : enum
Ob je ct
<<FCO>>
DisposabilityPlanning : field
UpdatingPeriod : field
LifeDuration : field
ExigenceLevel : field
is PlayedBy
<<Connection>>
IsRes ponsibleOfObject
<<Connection>>
Res ou rceRole
<<Atom>>
InformationObject
<<Atom>>
InformationObjectType : enum
HumanResource
<<Atom>>
dst
0. .*
dst 0. .*
dst
0.. *
src
0.. *
src
0. .*
src 0..*
Meta model (partial
view)
Patient
<<Atom>>
MedicalFile : field
CurrentPathology : field
PlayARole
<<Connection>>
Resource
<<Atom>>
TangibleObject
<<Atom>>
TanglibleObjectType : enum
Ob je ct
<<FCO>>
DisposabilityPlanning : field
UpdatingPeriod : field
LifeDuration : field
ExigenceLevel : field
is PlayedBy
<<Connection>>
IsRes ponsibleOfObject
<<Connection>>
Res ou rceRole
<<Atom>>
InformationObject
<<Atom>>
InformationObjectType : enum
HumanResource
<<Atom>>
dst
0. .*
dst 0. .*
dst
0.. *
src
0.. *
src
0. .*
src 0..*
Meta model (partial
view)
/* Initialise the hierarchy of concepts */
GenerateConcept(‘T’, nil)
GenerateConcept(‘Attribute’, ‘T’)
GenerateConcept(‘Type’,‘T’)
GenerateConcept(‘Boolean’,‘Type’)
GenerateConcept(‘Number’,‘Type’)
GenerateConcept(‘String’,‘Type’)
GenerateRelation(‘T2’,nil)
Signature (‘T2’,2,’T’,’T’)
GenerateRelation(‘AttributeOf’,’T2’)
Signature (‘AttributeOf’,2,’Attribute’,’T’)
GenerateRelation(‘ofType’,’T2’)
Signature (‘ofType’,’Attribute’,’Type’)
/* begin of the generation
For each Object::object where object.class in {FCO, Model, Atom, AtomProxy, ModelProxy,
FCOProxy, Set, SetProxy}
Do
GenerateConcept (object.name, object.inheritFrom)
End do
For each Connection::connection
Do
GenerateRelation (connection.name, connection.inheritFrom)
Signature(connection.name,2,connection.conceptOrigin,connection.conceptDestination)
End do
For each Attribute::attribute
Do
GenerateConcept(attribute.name, ‘Attribute’)
GenerateRelation( attribute.name+’ofType’, ‘ofType’)
if attribute.type=Boolean then Signature(attribute.name+’ofType’, 2, Attribute.name,
‘Boolean’)
if attribute.type=Enum(String) or attribute.type=Field(String) then
Signature(attribute.name+’ofType’, 2, Attribute.name, ‘String’)
if attribute.type=Enum(Number) or attribute.type=Field(Number) then
Signature(attribute.name+’ofType’, 2, Attribute.name, ‘Number’)
End do
/* end
Fig. 4. From meta model to lattices (translating rules).
• Dynamic and static rules: A property is directly modelled as a rule composed
of a cause and an effect as shown in
Fig. 6. If the graph corresponding to the causes
matches with a part of the conceptual graph translating the system models, then the
effect must be checked in the same way.
For some specific modelling languages used in the modelling framework
particularly the state diagrams used for describing state of each entities all along its
life cycle, another verification approach can consist to translate the state diagram into
input language of existing model checkers [28], [31]. This can allow to prove some
behavioural properties such as state attainability or absence of deadlock and to
highlight some model improvement or limitation.
6 Conclusion
The proposed methodology for verification is now under development. The modelling
framework is still under validation by partners from Hospital of Nice in France. This
approach can be a significant benefit for one in charge of risk management in a
hospital. The modelling phase is currently used by some medical specialists. The
analysis phase has now to define translation rules for obtaining dynamic rules and to
define how projection must be automated by using Cogitant tool [32].
A possible development consists on using this approach in order to help the
modeller not only to detect risk, but also to test different alternatives of organisation
allowing to reduce the vulnerability of a healthcare organisation [33] and to improve
the performance of this organisation.
142