Expressivness

This page contains a detailed report on an experiment performed in order to assess the expressivness of Dicto. The experiment consisted in: (1) collecting a comprehensive set of rules, as reported in scientific publications; (2) finding an appropriate translation of the rules in Dicto. Based on the reported results we can see that the vast majority of the rules encountered during our study can be expressed in Dicto.

Discovered Rule

Dicto translation

supported by Dicto?

HiDao elements must have suffix DAO in their name.

HiDaoClasses must be named "*DAO"

yes

HiForms is responsible for presentation logic only.

— unprecise formulation

yes

HiManager classes have package visibility or lower.

HiManagerClasses have visibility "" / "private"

yes

HiManager may be accessed only via HimInterface.

only HimInterface can depend on HiManager

yes

HiDao classes must extend CorporateWebCore.Dao.GenEntityDao.

HiDaoClasses must extend GenEntityDao

yes

HF-Kiosk is not allowed to use HP-Device.

HFKiosk cannot depend on HPDevice

yes

HF-Kiosk is only allowed to use HP-Kiosk.

HFKiosk can only depend on HPKiosk

yes

HiDao is the only module allowed to use CorporateWebcore.

only HiDao can depend on CorporateWebcore

yes

HiDao must use CorporateWebcore.

HiDao must depend on CorporateWebcore

yes

yes

yes

Methods inside class AbstractConnector must be used internally only.

only AbstractConnectorMethods can invoke AbstractConnectorMethods

yes

The only caller of method connectorVisibility of class Connector should be the method draw.