key: cord-0058765-xks3d3qr authors: Souza, Layse Santos; Misra, Sanjay; Soares, Michel S. title: SmartCitySysML: A SysML Profile for Smart Cities Applications date: 2020-08-24 journal: Computational Science and Its Applications - ICCSA 2020 DOI: 10.1007/978-3-030-58817-5_29 sha: 16cca4d496cd5b34fa21e4e60f4e9f72ca47d7db doc_id: 58765 cord_uid: xks3d3qr Current infrastructures in modern cities are highly dependent on complex software-intensive systems, which are composed of many elements, including software, sensors, actuators, and processes. Citizens and managers are also important stakeholders in these systems, as they provide data, provide and retrieve information and also manage the many systems that control the city infrastructures’. UML has been often considered for designing these types of systems, mostly with focus only on designing the software elements of the system. However, these infrastructures systems are composed of many more elements than software, including processes, constraints, sensors, networks, laws and further documents. SysML is a UML profile that has gained attention in past years, as SysML also models systems elements that are not software. In this paper, the main idea is to describe a SysML profile for modeling smart cities applications, which is useful as it specifies common elements of a city as native elements of system design. The profile, named SmartCitySysML, extended from SysML Requirements, Sequence and Block Definition diagrams in order to model system and software elements for smart cities. Design of a road traffic control system regarding a group of intersections is used as a case study. As a result, SmartCitySysML facilitates the use of common elements in smart city infrastructures and provides a visual representation to assess quality of diagrams from a practical point of view. Modern life in cities is highly dependent on infrastructures such as road, rail and air traffic, energy, water and waste supply. These infrastructures are highly demanded by citizens and organizations, and their design and maintenance are crucial for our daily activities. These infrastructures present high complexity and demand, which leads to the necessity of applying Information and Communication Technologies and Processes for their design, control and management. The term smart city generally refers to the search and identification of smart solutions that allow modern cities to improve the quality of services provided to citizens. Giffinger et al. [7] state that a smart city has a good prospective performance in the economy, improves governance and mobility, and provides better life for citizens. Currently, a large number of modeling languages are used for modeling software systems that are responsible for controlling cities infrastructures'. For instance, UML has been applied in [10] for developing a sewerage system using UML Activity diagrams and then converting them into Non-deterministic Finite Automata (NFA) in which a junction is represented by a state, and flow of water is represented as a transition. The proposed UML and automata-based models are then transformed into a formal model using TLA+ which has effective model checking capability. In another example, in Bouazza et al. [4] , interconnected sensing and actuating devices modeled with Petri Nets are configured to provide users with comfort and energy-saving functionality. Another example of modeling language used for software-intensive systems is SysML, which is considered a potential modeling language for smart cities, as a specific modeling language for systems engineering projects. Munuva et al. [13] presents a holistic SysML model in which a smart city works as an intelligent system and shows how the smart subsystems of a city system collect data from different sources, process it and share information on an integrated platform. The proposal in this article is to extend SysML to include elements of smart cities as native components of SysML, tailoring the language to represent elements related to smart cities. The reason to chose SysML is twofold. First, SysML is an extension of UML, which means that designers who use UML already have basic knowledge about SysML. In addition, as UML is widely used for software development, there is a smooth learning curve related to designers who will use SysML. Finally, infrastructure systems for smart cities are a union of software but also systems elements, which means that it makes sense to integrate UML and SysML for modeling software-intensive systems [14, 15] . The proposed approach has three main steps in this article: i) to identify and describe the decision-makers in a city, ii) to model the structure of a road traffic control system, and iii) to model the behavior of scenarios of a road traffic control system. For all these steps, the profile SmartCitySysML, which extends from SysML Requirements and Block Definition diagrams, is used for creating a design of a road traffic control system regarding a group of intersections. Smart Cities are cities with computerized software-intensive systems composed of processes sensitive to the context of Big Data, cloud networks, and standalone communication across multiple distributed devices. These processes are used in a more efficient urban planning paradigm through predictions, which allow decision-making before problems and/or emergencies occur, as well as making urban activities more economic and sustainable [17] . Batty et al. [2] declare that smart cities are often pictured as constellations of instruments across many scales that are connected through multiple networks. These networks provide continuous data regarding the movements of people and materials in terms of the flow of decisions about the physical and social form of the city. Cities, however, can only be smart if there are intelligent functions that can integrate and synthesize these data to some purpose, ways of improving the equity, efficiency, sustainability and quality of life in cities [3] . According to Albino et al. [1] , there are four most common characteristics of emerging smart cities. First, the network infrastructure of a city that allows political and social efficiency and cultural development. Second, an emphasis on urban development led by companies and creative activities for promoting urban growth. Third, social inclusion of various urban residents and social capital in urban development. Finally, the natural environment as a strategic component for the future. SysML is a UML profile that supports the specification, analysis, design, verification, and validation of complex systems [5] . SysML has a focus on Systems Engineering, different from UML, which is a software engineering modeling language. Therefore, some UML diagrams and elements are used in SysML from the systems point of view, and software elements such as classes and objects are not present in SysML. A full description of all SysML diagrams can be found in [21] . In this paper, only the SysML Requirements and Block diagrams are briefly introduced in this section, due to shortage of space, and also because they are the most important diagrams for the proposed profile. The SysML Requirements diagram is a useful way to organize requirements by showing the types of relationships between each requirement. Another characteristic of using the SysML Requirements diagram is to standardize the way of specifying requirements through a defined semantics [19] . SysML can be combined with UML, and the requirements constructs provided by SysML fills the gap between user requirements specification, which are most often written in natural language, and Use Case diagrams, used as an initial specification of scenarios of system requirements [21] . Each individual SysML Requirement is represented with attributes Id and Name, but additional attributes can be considered by extending the basic SysML Requirement model. The SysML Requirements diagram represents relationships between requirements, through relationships hierarchy, derive, master/slave, satisfy, verify, refine and trace [21] . The meaning of each of these relationships is, respectively: • Hierarchy: to represent hierarchy between requirements, providing a hierarchy of different levels of abstraction for requirements. • Derive: derive relationship relates a derived requirement to its source requirement. • Satisfy: the satisfy requirement describes how a model satisfies one or more requirements. • Verify: the verify relationship defines how a test case can verify a requirement. • Refine: this relationship is typically used to refine a text-based requirement with a model. • Trace: this relationship provides a general-purpose relationship between a requirement and any other model element. Its semantics has no real constraints and is not as well-defined as the other relationships. SysML Blocks are based on UML Classes extended by UML Composite Structures [21] . The SysML blocks are, respectively: • Block Definition Diagram: defines resources and relationships between blocks, such as associations, generalizations, and dependencies. The Block Definition diagram specifies blocks in terms of properties, operations and relationships as a system hierarchy. • Internal Block Diagram: captures the internal structure of a block in terms of properties and connectors between properties. A block can include elements, properties, values, parts, and references to other blocks. The SmartCitySysML profile can be used to meet the needs of management, operation and decision making, as well as the basis for designing software solutions for smart cities through urban data modeling so that various information services are related and provided to different users. Thus, this profile allows the realization of a successful system and is a good option for the design of complex systems, for example, real-time systems that are used to control a city infrastructure. It is worth mentioning that the structure of a digital urban space is not static, that is, with the continuous improvement of theory and practice related to urban management and operations, urban components and their systems can be dynamically optimized and adjusted so that they can better cover all areas of the city. This structure can be changed according to big data that will carry out the self-optimization of a digital urban space driven by data [11] . Initially, the profile is organized into 5 main elements, named Stakeholders, Requirements, Solutions, Processes and Dimensions which are explained as follows. By definition, a Stakeholder is a person or group that can affect the organization and management behavior adopted in response to these groups and individuals [6] . The person interested in SmartCitySysML can be the citizen, the manager or an employee, as depicted in Fig. 1 . Managers can be the mayor, secretaries or councilors. Citizens can be class entities or residents' associations. By definition, Requirements illustrated in Fig. 2 describes functions and restrictions in detail that should address the needs and identify the possible benefits of a city. The types of requirements proposed here are economic resources, laws, problems, contracts and restrictions. These requirements are essential for the development of a sustainable city with good governance. By definition, Solutions illustrated in Fig. 3 are possible solutions for a city that can be related to transformations for the well-being of the popula- tion, so they need elements such as data, assets, devices, sensors, actuators, and machines to be used for designing possible solutions to the identified problems. By definition, a Process illustrated in Fig. 4 is composed of tasks, for example, managing the city, managing taxes, organizing services, obeying laws, developing social functions, and activities, such as consulting and projects related to health, education, safety, transportation, among others. Dimensions illustrated in Fig. 5 were identified by Giffinger et al. [7] . Staffans et al. [20] argue that governance refers to strategies and policies, including expanded urban planning, which enables the co-production of public services, economy refers to holistic economic transactions, environment refers to the care of natural resources and planetary culture, mobility refers to sustainable and innovative transport, logistics and communication systems, people refers to social The main objective of this section is to detail an application of the SmartCi-tySysML profile for modeling a road traffic signal control software system. For a better understanding of the case study, this section is divided into the specification of characteristics related to the control of traffic signals for a better understanding of the problem and description of the use of SysML extensions to model the problem. For this case study, software requirements for the intersection controller are inspired by examples in [9] and [18] . The traffic signal at intersections are control provisions applied to urban traffic and their objective is to optimize the flow of vehicles, allowing safe, efficient and appropriate crossing possible. When these signals are properly installed and operated, they provide safe crossing for vehicles, reducing the frequency and severity of accidents, and interruptions in heavy flows. However, when improperly installed and operated, these traffic signals can cause delays, an increase in the number of accidents, violation of red light and redirection of drivers who wish to avoid these signals [18] . The implementation of traffic signals for vehicles or pedestrians at an intersection is complex, as it is necessary to make decisions, that is, to establish rules to control the right of way, both for vehicles and pedestrians. Thus, it is necessary to establish new rules of priority between approaches to the intersection to allow crossing or prohibiting movement at the intersection, which could lead to accidents. At an intersection between two or more roads, some movements cannot be performed simultaneously, as they conflict with each other. Traffic flow at the intersection changes constantly, depending on weather conditions, day of the week and time of year, in addition to road work and accidents that influence even more complexity and performance. Thus, a definition of priority time for traffic signals is considered, since the priority time deals with events that may occur in traffic based on the difference in traffic flow each day. To solve this situation, a good solution is to establish a "green wave", that is, two or more traffic signals on a road or intersection are open for a period, allowing traffic to flow more efficiently. A traffic signal controller can provide fixed-time, actuated or adaptive time policies. The fixed-time controller uses simple timers with fixed-time and follows a canned cycle regardless of demand [12] . The actuated controller uses flexible, pre-established plans, where the displacement and phase duration at the intersections can be changed in response to perceived changes in traffic [8] . The adaptive controller uses distributed systems, that run at local intersections, advanced controllers that recalculate predictions, and optimizations for real-time traffic flow [12] . Most traffic signals use a fixed time controller. Figure 6 shows a region with a high flow of vehicles in a city in northeastern Brazil. At this intersection, the driver can move forward or turn right at either of the two intersections. In this work, the two chosen intersections are controlled by traffic signals, limiting the conversion to the left on any of the roads. Figure 7 illustrates the same region highlighting the traffic signals that are considered for modeling this case study. The following user requirements are used to model the system. Main users in SmartCitySysML are Citizens of the stereotype Stakeholders. Functional user requirements are presented below, at a high degree of abstraction, to solve the problem. • FR01: The system should control the vehicle traffic pattern at the intersection. • FR02: The system should control the pedestrian traffic pattern at the intersection. • FR03: The system should store the vehicle flow on the roads. • FR04: The system should control the traffic pattern related to each road. • FR05: The system should allow a fixed traffic management policy. • FR06: The system should allow a managed traffic management policy. • FR07: The system should allow adaptive traffic management policy. • FR08: The system should allow the synchronization of traffic signals. • FR09: The system should allow choosing a priority route. • FR10: The system should allow detection of the presence of pedestrians. • FR11: The system should allow for in-person maintenance. • FR12: The system should allow remote maintenance. • FR13: The system should maintain the vehicle traffic history of the roads. • FR14: The system should maintain the history of traffic policies in the periods of the year. • FR15: The system must be able to implement new traffic policies. • FR16: The system should store incidents at the intersection. • FR17: The system should allow automatic operation of traffic signals. • FR18: The system should store the incidents that occurred in software and hardware. Model of the SysML Block, Requirements, and Sequence diagrams illustrated below use the SmartCitySysML profile and are intended to help in understanding the system and offer a different view of the elements that make up that system. Figure 8 illustrates a SmartCitySysML Block Definition diagram which includes the elements needed to solve the problem listed in this section. At this point, it is important to mention that in the proposed approach, concurrent behavior is modeled by synchronizing multiple Block Definition Diagrams via events. The SmartCitySysML Requirements model constructs are intended to provide a bridge between traditional requirements management tools and the other SmartCitySysML models [21] . Figure 9 illustrates the SmartCitySysML Requirements diagram, considering the user requirements described previously and the SmartCitySysML profile using the Problem stereotype. With this stereotype, the system must control traffic on roads, manage traffic, synchronize traffic signals and detect the presence of pedestrians. Figure 10 illustrates a SmartCitySysML Sequence diagram with a stakeholder (vehicle) that initiates the behavior by sending a message to a sensor. The sensor sends a message to the traffic controller. After evaluating the traffic, the controller assigns a response scenario (morning rush hour, afternoon rush hour, friday, sunday or quiet hour), that is, it will send the command (green, red or yellow signal) to the actuator (traffic signal). A smart city is an urban center that integrates a variety of solutions to improve infrastructure performance and achieve sustainable urban development. A smart city includes a collection of urban infrastructure with a common goal of enabling certain goals, for example, energy, transportation and municipal infrastructure, which represents the backbone of a city's efficient, livable and sustainable operations [16] . Thus, a city needs to be modeled as a system and transformed into a system due to the process of technological transformation, that is, the transformation of the city into a smart city system consists of uniting technology in infrastructures that allow intelligent operations, for example, road traffic signal control. In addition, it is essential to guarantee quality of life of citizens in a safe and healthy environment. Traffic signal control is an important and challenging problem in the real world. Traffic signals need to operate in a synchronized manner and yet react to unexpected events such as a pedestrian pressing a button on the crosswalk or The profile proposed in this article extended SysML to include elements of smart cities as native components of SysML, adapting the language to represent elements related to smart cities. The profile facilitates the use of common elements found in smart city infrastructures, as they are native elements to be used to build system models. SmartCitySysML extended from the SysML Requirements, Sequence and Block Definition diagrams to model system and software elements for smart cities. The SysML Requirements, Sequence and Block Definition diagrams are used because they are the most important diagrams considered for the SmartCi-tySysML profile. These diagrams are used for the design of a road traffic control system. During the elaboration of the design, some challenges arose related to formalism and consistency between the diagrams, mainly due to the lack of software tools that can fully implement all SysML resources. Modeling real-time systems controlling infrastructures of a modern city is a complex activity, so there is no single standard to be used, as there are many modeling languages. This article proposed the SmartCitySysML profile to model elements useful for modeling software for smart cities using the SysML Requirements, Block and Sequence diagrams. The purpose of this article is to apply a new SysML profile to model a distributed system in real-time for the control of road traffic, more specifically, the control of interconnected traffic signals. The proposed profile SmartCitySysML is applied to model the road traffic control system for a group of intersections, providing a visual representation of a smart city system. For that, the SysML Sequence diagrams and the SysML Block and Requirements and diagrams were used. Within SysML, it is possible to create other profiles or stereotypes to add to any profile or resources created. A first attempt to validate the SmartCitySysML profile is shown in this article through the case study. Future work will focus on formal modeling using Petri nets and deploy the proposed case study in a simulated environment. In this way, it is possible to provide software developers with real-time modeling using SysML and evaluate the quality of diagrams from a practical point of view. In addition, it is possible to perform software modeling of other case studies, for example, in the domain of health information systems. Smart cities: definitions, dimensions, performance, and initiatives Smart cities of the future On the sustainability of smart and smarter cities in the era of big data: an interdisciplinary and trans disciplinary literature review Smart petri nets temperature control framework for reducing building energy consumption A Practical Guide to SysML: The Systems Modeling Language Stakeholder influence strategies City-ranking of European Medium-Sized Cities Real-Time Systems Design and Analysis Modeling of sewerage system linking UML, automata and TLA+ City profile: using smart data to create digital urban spaces Traffic Engineering Systems engineering approach to design and modelling of smart cities Model-based requirements specification of real-time systems with UML, SysML and MARTE An approach for architectural design of automotive systems using MARTE and SysML Smart cities for a sustainable urbanization: illuminating the need for establishing smart urban infrastructures A crowdsensing platform for monitoring of vehicular emissions: a smart city perspective Modeling road traffic signals control using UML and the MARTE profile User requirements modeling and analysis of software-intensive systems Expanded urban planning as a vehicle for understanding and shaping smart, liveable cities Acknowledgments. This study was financed in part by FAPITEC and the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior -Brasil (CAPES) -Finance Code 001.