{"data":{"id":"10.6084/m9.figshare.1477876","type":"dois","attributes":{"doi":"10.6084/m9.figshare.1477876","prefix":"10.6084","suffix":"m9.figshare.1477876","identifiers":[],"alternateIdentifiers":[],"creators":[{"name":"Molderez, Tim","nameType":"Personal","givenName":"Tim","familyName":"Molderez","affiliation":[],"nameIdentifiers":[]},{"name":"Janssens, Dirk","nameType":"Personal","givenName":"Dirk","familyName":"Janssens","affiliation":[],"nameIdentifiers":[]}],"titles":[{"title":"Modular Reasoning in Aspect-Oriented Languages"}],"publisher":"figshare","container":{},"publicationYear":2015,"subjects":[{"subject":"80309 Software Engineering","subjectScheme":"FOR"},{"subject":"FOS: Computer and information sciences","schemeUri":"http://www.oecd.org/science/inno/38235147.pdf","subjectScheme":"Fields of Science and Technology (FOS)"},{"subject":"FOS: Computer and information sciences","subjectScheme":"Fields of Science and Technology (FOS)"}],"contributors":[],"dates":[{"date":"2015-07-09","dateType":"Created"},{"date":"2015-07-09","dateType":"Updated"},{"date":"2015","dateType":"Issued"}],"language":null,"types":{"ris":"DATA","bibtex":"misc","citeproc":"dataset","schemaOrg":"Dataset","resourceType":"Dataset","resourceTypeGeneral":"Dataset"},"relatedIdentifiers":[],"relatedItems":[],"sizes":["1464215 Bytes"],"formats":[],"version":null,"rightsList":[{"rights":"Creative Commons Attribution 4.0 International","rightsUri":"https://creativecommons.org/licenses/by/4.0/legalcode","schemeUri":"https://spdx.org/licenses/","rightsIdentifier":"cc-by-4.0","rightsIdentifierScheme":"SPDX"}],"descriptions":[{"description":"Aspect-oriented programming aims to separate crosscutting concerns into their own modules, called aspects. While aspects can achieve this at a syntactic level, this is done at the expense of modular reasoning: Whenever a method call is made, all aspects should be inspected to determine whether or not that call's behaviour will be affected by an aspect. To restore modular reasoning, we present a two-part approach that does not affect the programming language itself, but rather governs how to write contracts for aspect-oriented programs. Presented at SATToSE'15.","descriptionType":"Abstract"}],"geoLocations":[],"fundingReferences":[],"xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00LjEvbWV0YWRhdGEueHNkIj4KICA8aWRlbnRpZmllciBpZGVudGlmaWVyVHlwZT0iRE9JIj4xMC42MDg0L005LkZJR1NIQVJFLjE0Nzc4NzY8L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZT5UaW0gTW9sZGVyZXo8L2NyZWF0b3JOYW1lPgogICAgPC9jcmVhdG9yPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZT5EaXJrIEphbnNzZW5zPC9jcmVhdG9yTmFtZT4KICAgIDwvY3JlYXRvcj4KICA8L2NyZWF0b3JzPgogIDx0aXRsZXM+CiAgICA8dGl0bGU+TW9kdWxhciBSZWFzb25pbmcgaW4gQXNwZWN0LU9yaWVudGVkIExhbmd1YWdlczwvdGl0bGU+CiAgPC90aXRsZXM+CiAgPGRlc2NyaXB0aW9ucz4KICAgIDxkZXNjcmlwdGlvbiBkZXNjcmlwdGlvblR5cGU9IkFic3RyYWN0Ij4mbHQ7cCZndDtBc3BlY3Qtb3JpZW50ZWQgcHJvZ3JhbW1pbmcgYWltcyB0byBzZXBhcmF0ZSBjcm9zc2N1dHRpbmcgY29uY2VybnMgaW50byB0aGVpciBvd24gbW9kdWxlcywgY2FsbGVkIGFzcGVjdHMuIFdoaWxlIGFzcGVjdHMgY2FuIGFjaGlldmUgdGhpcyBhdCBhIHN5bnRhY3RpYyBsZXZlbCwgdGhpcyBpcyBkb25lIGF0IHRoZSBleHBlbnNlIG9mIG1vZHVsYXIgcmVhc29uaW5nOiBXaGVuZXZlciBhIG1ldGhvZCBjYWxsIGlzIG1hZGUsIGFsbCBhc3BlY3RzIHNob3VsZCBiZSBpbnNwZWN0ZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IHRoYXQgY2FsbCdzIGJlaGF2aW91ciB3aWxsIGJlIGFmZmVjdGVkIGJ5IGFuIGFzcGVjdC4gVG8gcmVzdG9yZSBtb2R1bGFyIHJlYXNvbmluZywgd2UgcHJlc2VudCBhIHR3by1wYXJ0IGFwcHJvYWNoIHRoYXQgZG9lcyBub3QgYWZmZWN0IHRoZSBwcm9ncmFtbWluZyBsYW5ndWFnZSBpdHNlbGYsIGJ1dCByYXRoZXIgZ292ZXJucyBob3cgdG8gd3JpdGUgY29udHJhY3RzIGZvciBhc3BlY3Qtb3JpZW50ZWQgcHJvZ3JhbXMuJmx0Oy9wJmd0OwombHQ7cCZndDtQcmVzZW50ZWQgYXQgU0FUVG9TRScxNS4mbHQ7L3AmZ3Q7PC9kZXNjcmlwdGlvbj4KICA8L2Rlc2NyaXB0aW9ucz4KICA8c3ViamVjdHM+CiAgICA8c3ViamVjdCBzY2hlbWVVUkk9Imh0dHA6Ly93d3cuYWJzLmdvdi5hdS9hdXNzdGF0cy9hYnNALm5zZi8wLzZCQjQyN0FCOTY5NkMyMjVDQTI1NzQxODAwMDQ0NjNFIiBzdWJqZWN0U2NoZW1lPSJGT1IiPjgwMzA5IFNvZnR3YXJlIEVuZ2luZWVyaW5nPC9zdWJqZWN0PgogIDwvc3ViamVjdHM+CiAgPHB1Ymxpc2hlcj5maWdzaGFyZTwvcHVibGlzaGVyPgogIDxwdWJsaWNhdGlvblllYXI+MjAxNTwvcHVibGljYXRpb25ZZWFyPgogIDxkYXRlcz4KICAgIDxkYXRlIGRhdGVUeXBlPSJDcmVhdGVkIj4yMDE1LTA3LTA5PC9kYXRlPgogICAgPGRhdGUgZGF0ZVR5cGU9IlVwZGF0ZWQiPjIwMTUtMDctMDk8L2RhdGU+CiAgPC9kYXRlcz4KICA8cmVzb3VyY2VUeXBlIHJlc291cmNlVHlwZUdlbmVyYWw9IkRhdGFzZXQiPkRhdGFzZXQ8L3Jlc291cmNlVHlwZT4KICA8c2l6ZXM+CiAgICA8c2l6ZT4xNDY0MjE1IEJ5dGVzPC9zaXplPgogIDwvc2l6ZXM+CiAgPHJpZ2h0c0xpc3Q+CiAgICA8cmlnaHRzIHJpZ2h0c1VSST0iaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzQuMC8iPkNDIEJZIDQuMDwvcmlnaHRzPgogIDwvcmlnaHRzTGlzdD4KPC9yZXNvdXJjZT4=","url":"https://figshare.com/articles/dataset/Modular_Reasoning_in_Aspect_Oriented_Languages/1477876","contentUrl":null,"metadataVersion":1,"schemaVersion":"http://datacite.org/schema/kernel-4","source":"mds","isActive":true,"state":"findable","reason":null,"viewCount":0,"viewsOverTime":[],"downloadCount":0,"downloadsOverTime":[],"referenceCount":0,"citationCount":0,"citationsOverTime":[],"partCount":0,"partOfCount":0,"versionCount":0,"versionOfCount":0,"created":"2015-07-09T09:59:34.000Z","registered":"2015-07-09T09:59:35.000Z","published":"2015","updated":"2020-09-04T16:37:12.000Z"},"relationships":{"client":{"data":{"id":"figshare.ars","type":"clients"}},"provider":{"data":{"id":"otjm","type":"providers"}},"media":{"data":{"id":"10.6084/m9.figshare.1477876","type":"media"}},"references":{"data":[]},"citations":{"data":[]},"parts":{"data":[]},"partOf":{"data":[]},"versions":{"data":[]},"versionOf":{"data":[]}}}}