1 public Ou t p u t S c o p e callActi v i t y ( /*
... */ ) {
2 if (! v a l id a t e P re c o n dit i o n (
activity . getPolicies () ) ) {
3 return null;
4 }
5 Outp u t S c o p e o u t put = activity .
run ( inpu t );
6 if (! v a li d a t e Po s t c o nd i t i o n (
activity . getPolicies () ) ) {
7 return null;
8 }
9 return o u tput ;
10 }
Figure 10: Implementation of Sandbox.callActivity(...).
not be seen in this code because it is a result of the
instrumented APIs of the JDK.
5 CONCLUSION
We have introduced the policy system, which is used
in the domain specific language D
◦
. We demonstrated
how D
◦
implements the paradigm of policy-agnostic
programming and how to ensure that all defined poli-
cies are enforced at the right place at time.
Using an example, we presented how D
◦
is used
for application development with a prototype using
Java as host language. Using the same example, we
demonstrated how the different subsystems of the lan-
guage can be extended in order to meet specific re-
quirements (regarding the domain).
ACKNOWLEDGMENTS
This work was developed in Fraunhofer-Cluster of
Excellence “Cognitive Internet Technologies”.
This research was supported by the Excellence
Center for Logistics and IT funded by the Fraunhofer-
Gesellschaft and the Ministry of Culture and Science
of the German State of North Rhine-Westphalia.
REFERENCES
Austin, T. H., Yang, J., Flanagan, C., and Solar-Lezama,
A. (2013). Faceted execution of policy-agnostic pro-
grams. In Proceedings of the Eighth ACM SIGPLAN
workshop on Programming languages and analysis
for security, pages 15–26.
Barthe, G., Naumann, D. A., and Rezk, T. (2006). Deriving
an information flow checker and certifying compiler
for Java. In 2006 IEEE Symposium on Security and
Privacy (S&P’06), pages 229–242.
Eitel, A., Jung, C., K
¨
uhnle, C., Bruckner, F., Brost, G., Birn-
still, P., Nagel, R., and Bader, S. (2019). Usage Con-
trol in International Data Spaces: Version 2.0.
Jung, C., Eitel, A., and Schwarz, R. (2014). Enhanc-
ing Cloud Security with Context-aware Usage Control
Policies. In GI-Jahrestagung, pages 211–222.
Katt, B., Zhang, X., and Breu, R. (2008). A general obliga-
tion model and continuity: enhanced policy enforce-
ment engine for usage control. In Proceedings of the
13th ACM symposium on Access control models and
technologies, pages 123–132.
Lazouski, A., Martinelli, F., and Mori, P. (2010). Usage
control in computer security: A survey. Computer
Science Review, 4(2):81–99.
Myers, A. C. (1999). JFlow: Practical mostly-static infor-
mation flow control. In Proceedings of the 26th ACM
SIGPLAN-SIGACT symposium on Principles of pro-
gramming languages, pages 228–241.
Otto, B. and Jarke, M. (2019). Designing a multi-sided data
platform: findings from the International Data Spaces
case. Electronic Markets, 29(4):561–580.
Park, J. (2003). Usage control: A unified framework for
next generation access control. Dissertation, George
Mason University, Virginia.
Park, J. and Sandhu, R. S. (2004). The UCON ABC usage
control model. ACM Transactions on Information and
System Security (TISSEC), 7(1):128–174.
Park, J., Zhang, X., and Sandhu, R. S. (2004). Attribute
mutability in usage control. In Research Directions in
Data and Applications Security XVIII, pages 15–29.
Polikarpova, N., Yang, J., Itzhaky, S., Hance, T., and Solar-
Lezama, A. (2018). Enforcing information flow poli-
cies with type-targeted program synthesis. In Pro-
ceedings of the ACM on Programming Languages,
volume 1.
Sandhu, R. S. and Park, J. (2003). Usage control: A vision
for next generation access control. In International
Workshop on Mathematical Methods, Models, and Ar-
chitectures for Computer Network Security, pages 17–
31.
Schuette, J. and Brost, G. S. (2018). LUCON: data flow
control for message-based IoT systems. In 2018 17th
IEEE International Conference On Trust, Security
And Privacy In Computing And Communications/12th
IEEE International Conference On Big Data Science
And Engineering (TrustCom/BigDataSE), pages 289–
299.
Yang, J. (2015). Preventing information leaks with policy-
agnostic programming. Dissertation, Massachusetts
Institute of Technology, Massachusett.
Yang, J., Yessenov, K., and Solar-Lezama, A. (2012). A
language for automatically enforcing privacy policies.
ACM SIGPLAN Notices, 47(1):85–96.
Zdancewic, S. (2004). Challenges for information-flow se-
curity. In Proceedings of the 1st International Work-
shop on the Programming Language Interference and
Dependence (PLID’04), pages 6–11.
Zolnowski, A., Christiansen, T., and Gudat, J. (2016). Busi-
ness model transformation patterns of data-driven in-
novations.
DATA 2020 - 9th International Conference on Data Science, Technology and Applications
42