10.07.2015 Views

all FREECO11-workshop-papers.pdf - trese

all FREECO11-workshop-papers.pdf - trese

all FREECO11-workshop-papers.pdf - trese

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1 Policy (Id = ”Compute Service”) {2 Rule {3 Service−Offer = ”Compute Bulk Low”,4 Payment = ”Flat”, Privacy = ”Non−Critical”5 }6 ...7 Rule {8 Service−Offer = ”Compute By Usage High”,9 Payment = ”Per Minute”, Privacy = ”Critical”10 }}1112 Aspect (Id = ”Service Invoicing Billing”) {13 Pointcut(Binding =”1”){14 Policy–ID = ”Compute Service”, Service−Provider = NOT(ME),15 Service−Offer = ”∗”, Operation = ”∗”, Payment = ”Per Minute”16 }17 Advice(Binding =”1”){18 Accounting = ”Mandatory Invoice” }1920 Pointcut(Binding =”2”){21 Policy–ID = ”Compute Service”, Service−Provider = ”∗”,22 Service−Offer = ”∗”, Operation = ”∗”, Payment = ”Flat”23 }24 Advice(Binding =”2”,Priority=”1”) {25 Accounting = ”User Choice” }26 }2728 Aspect (Id = ”Service Security”) {29 Pointcut(Binding =”1”){30 Policy–ID = ”Compute Service”, Service−Provider = ”∗”,31 Service−Offer = ”∗”, Operation = ”∗”, Privacy = ”Non−Critical”3233 }34 Advice(Binding =”1”){35 Storage Encryption = ”256−bit BlowFish”,36 Transfer Encryption= ”None”37 }38 ...39 }Listing 8: Using aspects to disentangle crosscutting1 Policy (Id = ”Service−Operation”) {2 Rule(Id = ”Permissible−Operations”) {3 Paradigm(FSM){4 State (Id = ”not read”) { ”FileXRead” −> ”read”}5 State (Id = ”read”) { ... }6 }7 ...8 Paradigm(RBAC−Ponder){9 inst auth+ fileaccess {10 subject User; target FileX; action read();11 }}}}Listing 9: Policy with different paradigmsposed policy language is that users can select an appropriateparadigm from an extensible set of existing paradigms,of which each enables the user of a policy to freely definerequirements using the concise terms of a DSL. The ch<strong>all</strong>engeof refining disparate composed paradigms into a cohesive,less highly abstracted policy language can be metby translating the composed policy into a lower-level unifiedlanguage using a pre-processor. This, then, can occurautomatic<strong>all</strong>y and transparent to the user.5. DISCUSSION AND CONCLUSIONIn this paper, we have proposed a prototype policy languagethat makes use of well-established composition mechanismsto meet the special requirements of distributed businessapplications. To conclude the paper, we sketch our planto implement a policy language toolkit for building such extensiblepolicy languages. In the toolkit, we will implementeach of the proposed mechanism as one modular languageplug-in, so that users can select a set of plug-ins to tailor apolicy language instantiation to their specific requirements.The toolkit then composes the selected mechanisms. Futurework will evaluate how the different mechanisms interactand how this effects policy language complexity.For enabling an extensible policy language, we plan tocombine techniques for programming languages. For enablingextensible and composable languages, we will use theconcept of embedded DSLs [5], where each policy dialectand mechanism is embedded as a library into an existinglanguage. For polymorphic policies, we will embed a modulesystem for policies with support for user-defined inheritanceschemes. For precise scoping, we will make use of theconcept of scoping strategies [8]. For aspects, we will usedomain-specific join points to enable composing aspects inpolicies written in DSLs [3]. For multiple paradigms, userscan load a new paradigm with a special syntax [4].6. ACKNOWLEDGMENTSThe work presented in this paper was performed in thecontext of the Software-Cluster project EMERGENT (www.software-cluster.org). It was funded by the German FederalMinistry of Education and Research (BMBF) undergrant no. ”01IC10S01” and by the Center for Advanced SecurityResearch Darmstadt (CASED, www.cased.de).7. REFERENCES[1] A. Anderson. An introduction to the Web ServicesPolicy Language (WSPL). Workshop on Policies forDistributed Systems and Networks, pages 189–192, 2004.[2] N. Damianou, N. Dulay, E. Lupu, and M. Sloman. Theponder policy specification language. In M. Sloman,E. Lupu, and J. Lobo, editors, Policies for DistributedSystems and Networks, volume 1995 of Lecture Notes inComputer Science, pages 18–38. Springer Berlin /Heidelberg, 2001.[3] T. Dinkelaker, M. Eichberg, and M. Mezini. Anarchitecture for composing embedded domain-specificlanguages. In Proceedings of the 9th InternationalConference on Aspect-Oriented Software Development(AOSD’10), pages 49–60, NY, USA, 2010. ACM.[4] T. Dinkelaker, M. Eichberg, and M. Mezini.Incremental Concrete Syntax for Embedded Languages.In ACM Symposium on Applied Computing—TechnicalTrack on Programming Languages (PL at SAC). ACM,NY, USA, 2011.[5] P. Hudak. Building Domain-Specific EmbeddedLanguages. ACM Computing Surveys, 28(4es):196–196,1996.[6] G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten,J. Palm, and W. G. Griswold. An Overview of AspectJ.In ECOOP, volume 2072 of LNCS, pages 327–353,2001.[7] G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda,C. Lopes, J. Loingtier, and J. Irwin. Aspect-OrientedProgramming. In ECOOP, pages 220–242, 1997.[8] E. Tanter. Beyond static and dynamic scope.SIGPLAN Not., 44:3–14,October2009.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!