Mohammad Moshirpour
University of Calgary
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Mohammad Moshirpour.
Social Network Analysis and Mining | 2015
Mohammad Moshirpour; Shimaa M. El-Sherif; Reda Alhajj; Behrouz H. Far
The scalability of the system is of vital importance in the design of social networks. This research attempts to establish a comprehensive framework for analysis and validation of requirements and design documents for software systems. In previous work, we applied this framework to analyze the requirements of a social network of agents with respect to scalability of the system. In our approach, system requirements were expressed using scenario-based specifications. Scenarios are appealing because of their expressive power and simplicity. Moreover, due to the clear and concise notation of scenarios, they can be used to analyze the system requirements for general validity, lack of deadlock, and existence of emergent behavior. In this paper a methodology is presented to formally verify that certain scenarios do not emerge in the system’s behavior. This methodology is devised to indicate whether or not the new requirements of the system are consistent with the current requirements in place. A larger prototype of a social network of MSA for semantic search is utilized to illustrate the developed methodology.
international conference on tools with artificial intelligence | 2010
Mohammad Moshirpour; Abdolmajid Mousavi; Behrouz H. Far
Distributed systems are employed in countless applications such as information systems, robotics, etc. Lack of central control makes the design of such systems a challenging task because of possible unwanted behavior at runtime, commonly known as emergent behavior. Developing a methodology to detect emergent behavior in the pre-implementation stages of the software development life-cycle of distributed systems can potentially lead to huge savings in time and cost. Moreover, due to the typical large size of the modern distributed systems, automating the detection methodology is considered greatly beneficial. An effective and efficient approach for the design of distributed systems is to describe system requirements using scenarios. A scenario, commonly known as a message sequence chart (MSC), is a temporal sequence of messages sent between system components. However, scenario-based specifications may contain subtle deficiencies with respect to analysis and validation known as incompleteness and partial description. In this research, a tool to automatically detect emergent behavior of scenario-based specification of distributed systems is developed and demonstrated using a robotics example.
information reuse and integration | 2010
Mohammad Moshirpour; Abdolmajid Mousavi; Behrouz H. Far
Multi-agent systems (MAS) are efficient solutions for commercial applications such as information retrieval and search. In a MAS, agents are usually designed with distribution of functionality and control. Lack of central control implies that the quality of service of MAS may be degraded because of possible unwanted behavior at the runtime, commonly known as emergent behavior. Detecting and removing emergent behavior during the design phase of MAS will lead to huge savings in deployment costs of such systems. An effective approach for the MAS design is to describe system requirements using scenarios. A scenario, commonly known as a message sequence chart or a sequence diagram, is a temporal sequence of messages sent between agents. In this paper a method for detecting emergent behavior of MAS by detecting incompleteness and partial description of scenarios is proposed. The method is explained along with a prototype MAS for semantic search that blends the search and ontological concept learning.
systems, man and cybernetics | 2011
Mohammad Moshirpour; Reda Alhajj; Mahmood Moussavi; Behrouz H. Far
Lack of central control makes the design of distributed software systems a challenging task because of possible unwanted behavior at runtime, commonly known as emergent behavior. Developing methodologies to detect emergent behavior prior to the implementation stage of the system can lead to huge savings in time and cost. However manual review of requirements and design documents for real-life systems is inefficient and error prone; thus automation of analysis methodologies is considered greatly beneficial. This paper proposes the utilization of an ontology-based approach to analyze system requirements expressed by a set of message sequence charts (MSC). This methodology involves building a domain-specific ontology of the system, and examines the requirements based on this ontology. The advantages of this approach in comparison with other methodologies are its consistency and increased level of automation. The effectiveness of this approach is explained using a case study of an IntelliDrive system.
information reuse and integration | 2012
Mohammad Moshirpour; Seyedehmehrnaz Mireslami; Reda Alhajj; Behrouz H. Far
Ontologies have been utilized in many different areas of software engineering. As software systems grow in size and complexity, the need to devise methodologies to manage the amount of information and knowledge becomes more apparent. Utilizing ontologies in requirement elicitation and analysis is very practical as they help to establish the scope of the system and facilitate information reuse. Moreover ontologies can serve as a natural bridge to transition from the requirements gathering stage to designing the architecture for the system. However manual construction of ontologies is time consuming, error prone and subjective. Therefore it is greatly beneficial to devise automated methodologies which allow knowledge extraction from system requirements using an automated and systematic approach. This paper introduces an approach to systematically extract knowledge from system requirements to construct different views of ontologies for the system as a part of a comprehensive framework to analyze and validate software requirements and design.
Social Network Analysis and Mining | 2013
Mohammad Moshirpour; Shimaa M. El-Sherif; Behrouz H. Far; Reda Alhajj
An effective and efficient approach in designing software systems to describe system requirements is using scenarios. A scenario, commonly shown as a message sequence chart or a sequence diagram, is a temporal sequence of messages sent between system components. Scenarios are appealing because of their expressive power and simplicity. Moreover due to the clear and concise syntactic of scenarios, they can be used to analyze the system requirements for general validity, lack of deadlock, and existence of emergent behavior. Emergent behavior or implied scenarios are specifications of behavior that are derived from compiling of all requirements together but are not explicitly specified in the set of scenarios. Although emergent behavior is not necessarily unwanted, nevertheless it is useful for system designers and engineers to be aware of its existence. Defining requirements using scenarios and conducting consequent analysis has been done for distributed systems as well as multi-agent system. In this research the requirements of a social network are described using scenarios. The scenarios are then used to detect emergent behavior using a systematic methodology. This is illustrated using a prototype of a social network of MAS for semantic search that blends the search and ontological concept learning.
knowledge science engineering and management | 2011
Elham Paikari; Emadoddin Livani; Mohammad Moshirpour; Behrouz H. Far; Günther Ruhe
Agent-oriented analysis and design is a prosperous approach to model and build software systems. On the other hand, semantic web services are software components that have been emerging to enable dynamic service discovery, composition, invocation, and provide services, which can be considered as the main function of an agent. Semantic web service composition is a feature that improves the flexibility of the system. In this paper we propose a multi-agent system for web service composition. We modeled it by MaSE (Multi-agent System Engineering) methodology, which is a top-down approach. Also an implementation of our system is illustrated for semantic search engines. The case study shows that our system is feasible and effective for composition of semantic web services in a distributed network.
information reuse and integration | 2013
Beenish Khurshid; Mohammad Moshirpour; Armin Eberlein; Behrouz H. Far
Due to the lack of central control in distributed systems, design and implementation of such systems is a challenging task. Interaction of multiple autonomous components can easily result in unwanted behavior in the system. Therefore it is vital to carefully review the design of distributed systems. Manual review of software documents is too inefficient and error prone. It would therefore be beneficial to have a systematic methodology to automatically analyze software requirements and design documents. However automating the process of software analysis is a challenging task because besides the design know-how, each software system requires its own domain knowledge. Existing approaches often require a great deal of input from system engineers familiar with the domain. Such information needs to be interpreted by the designer which is a time-consuming and error prone process. This research suggests the use of a scenario-based approach to represent system requirements. Scenarios are often depicted using message sequence charts (MSCs). Due to their formal notation, MSCs can be used to analyze software requirements in a systematic manner. In an earlier paper, it was demonstrated that ontologies can be used to effectively automate the construction of domain knowledge for the system. However the construction of ontologies remained a challenging task. This paper describes a process which infers ontology from the provided message sequence charts. Furthermore this paper introduces a software tool which automates the process of domain ontology construction. This methodology is demonstrated using a case study of a fleet-management software system.
biomedical and health informatics | 2014
Lisa Graham; Mohammad Moshirpour; Michael R. Smith; Behrouz H. Far
As patients become more proactive about their health and turn to technologies such as the Internet to acquire knowledge, the patient-health care professional relationship has been changing. Traditionally, information has flowed from health care professional to patient, but change to a two-way dialogue is taking place. In this study, we examine a high level design of a perceived medical system and determine the implications of adding patients as active contributors. The main challenge of modifying existing systems to incorporate patient interaction is preserving system integrity. We propose a systematic approach to support scaling health care systems while preserving system integrity. Distributed systems such as personal health records and eHealth systems provide two ways in which patients can become more involved with their own health care with or without the involvement of health care professionals. It is important that modifications to such systems do not compromise patient record integrity regardless of whether the patient is working alone or with their health care professional. The lack of central control in distributed systems added to the complexity of health systems poses challenges for design and modification. Of particular interest is the identification of emergent behavior (behavior not explicitly specified in the specifications) in distributed systems not explicitly defined in the requirements of its individual components. Use of the new emergent behavior detection (EBD) tool offers potentially considerable cost savings by proactively identifying such behaviors during the design rather than the deployment phase of a project. Based on high level message sequence charts, the EBD tool highlighted a data synchronization issue between the main database and the patients interface to the system. This provides valuable feedback of the early health system design which benefits future design development.
frontiers in education conference | 2016
Emily Marasco; Laleh Behjat; Marjan Eggermont; William D. Rosehart; Mohammad Moshirpour; Ronald J. Hugo
Within technical engineering courses, students may struggle with difficult concepts, overwhelming workloads, loss of motivation and a lack of classroom engagement. Studies have shown that students who are engaged and creative in their education have improved learning outcomes in technical understanding and application. This work proposes the use of gamification for the development of both creative and technical understanding. Gamification is the application of game mechanics and typical elements of game playing (e.g. point scoring, competition with others, rules of play, etc.) to technical education as a method of encouraging student engagement with course material in a compelling and familiar way. This paper describes the development and implementation of a creative design project within an electronic design automation course, as well as a further teaching and learning research evaluation by general public focus groups.