Abstract-Norms have become a promising mechanism to ensure that open multi-agent systems (MASs) produce a desirable social outcome. MASs can be defined as societies in which autonomous agents work to achieve both societal and individual goals. Norms regulate the behavior of agents by defining permissions, obligations and prohibitions, as well as encouraging and discouraging the fulfillment of norms through rewards and punishments mechanisms. Once the priority of software agent is the satisfaction of its own desires and goals, each agent must evaluate the effects associated to the fulfillment or violation of one or more norms before choosing which one should be complied. This paper introduces a framework for normative MASs simulation that provides mechanisms for understanding the impact of norms on an agent and the society to which an agent belongs.
The Unified Modeling Language (UML) has become the standard for modeling software. Several surveys on the UML usage have been proposed in recent years. However, none of them explores the UML use in specific regional scope, and thus little is known about the practices and perceptions of UML use from the perspective of practitioners in the Brazilian industry. Objective: This paper reports on a survey focused on identifying the state-of-the-practice of the Brazilian industry for what concerns the UML usage in real-world settings. Method: In total, 222 practitioners from 140 different Information Technology companies have answered an on-line (or printed) questionnaire concerning their UML use experiences, the difficulty in adopting UML and what should be done to increase the UML adoption in practice. Result: The results show that: (1) 60 participants (28.2%) have used UML in their daily work, while 73.2% have not; (2) 55.41% of the surveyed participants did not disagree with the statement that UML is the "lingua franca" in software modeling; (3) 61.26% reported to find that the automatic creation of UML diagrams to represent a big picture of the system under development would be useful to boost UML use. Conclusion: The UML is not often used in the work life of participants. In addition, no relationship was identified between the use of UML and the participant company being a software factory.
Code anomalies are symptoms of software maintainability problems, particularly harmful when contributing to architectural degradation. Despite the existence of many automated techniques for code anomaly detection, identifying the code anomalies that are more likely to cause architecture problems remains a challenging task. Even when there is tool support for detecting code anomalies, developers often invest a considerable amount of time refactoring those that are not related to architectural problems. In this paper we present and evaluate four different heuristics for helping developers to prioritize code anomalies, based on their potential contribution to the software architecture degradation. Those heuristics exploit different characteristics of a software project, such as change-density and error-density, for automatically ranking code elements that should be refactored more promptly according to their potential architectural relevance. Our evaluation revealed that software maintainers could benefit from the recommended rankings for identifying which code anomalies are harming architecture the most, helping them to invest their refactoring efforts into solving architecturally relevant problems.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.