Mohamed Fayad

Mohamed Fayad
San Jose State University | SJSU · Department of Computer Engineering

PhD

About

290
Publications
52,933
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
4,243
Citations
Introduction
DR. M.E. FAYAD is a Full Professor of Computer Engineering at San Jose State University from 2002 to present. He was a J.D. Edwards Professor, Computer Science & Engineering, at the University of Nebraska, Lincoln, from 1999 to 2002, and an associate professor at the computer science and computer engineering faculty at the University of Nevada, from 1995 - 1999. He has 15+ years of industrial experience. Dr. Fayad is an IEEE Distinguished Speaker, an Associate Editor, Editorial Advisor, a columnist for The Communications of the ACM and his column is Thinking Objectively, a columnist for Al-Ahram Egyptians Newspaper (2 million subscribers), an Editor-In-Chief for IEEE Computer Society Press - Computer Science and Engineering Practice Press (1995-1997), a general chair of IEEE/Arab Computer Society International Conference on Computer Systems and Applications (AICCSA 2001), Beirut, Lebanon, June 26-29, 2001, and the founder and president of Arab Computer Society (ACS) from April 04 to April 2007. Dr. Fayad is a known and well recognized authority in the domain of theory and the applications of software engineering. Fayad’s publications are in the very core, archival journals and conferences in the software engineering field Dr. Fayad was a guest editor on Ten (10) theme issues: CACM's OO Experiences, Oct. 1995, IEEE Computer's Managing OO Software Development Projects, Sept. 1996, CACM's Software Patterns, Oct. 1996, CACM's OO Application Frameworks, Oct. 1997, ACM Computing Surveys – OO Application Frameworks, March 2000, IEEE Software - Software Engineering in-the-small, Sept./Oct. 2000, and International Journal on Software Practice and Experiences, July 2001, IEEE Transaction on Robotics and Automation -- Object-Oriented Methods for Distributed Control Architecture, October 2002, Annals of Software Engineering Journal – OO Web-Based Software Engineering, October 2002, and Journal of Systems and Software, Elsevier, Software Architectures and Mobility, July 2010. Dr. Fayad has published more than 218 high quality papers, that includes profound reports (more than 50 in number) in reputed journals, and 84 advanced articles in refereed conferences, more than 20 journal columns, 16 blogged columns; 9 well-cited theme issues in prestigious journals and flagship magazines, 24 different workshops in very respected conferences, over 125 tutorials, seminars, and short presentations in 20+ different counties, such as Hong Kong (April 96), Canada (12 times), Bahrain, Saudi Arabia, Egypt (15 times), Lebanon (04 & 05), UAE (06), Qatar (Dec. 07), Portugal (Oct. 96, July 99), Finland (July 99), Mexico (Oct. 98), Argentina (3 times), Chile (00), Peru (02), and Spain (02), Brazil (04), a founder of 7 new online journals, NASA Red Team Review of QRAS and NSF-USA Research Delegations’ Workshops to Argentina and Chili and four authoritative books, of which three of them are translated into different languages such as Chinese and over 5 books currently in progress. Dr. Fayad is also filling for 8 new, valuable, and innovative patents and developed over 400 stable software patterns. Dr. Fayad received an MS and a Ph.D. in computer science from the University of Minnesota at Minneapolis. His research topic was OO Software Engineering: Problems & Perspectives. He is the lead author of several classic Wiley books: Transition to OO Software Development, August 1998, Building Application Frameworks, Sept., 1999, Implementing Application Frameworks, Sept., 1999, Domain-Specific Application Frameworks, Oct., 1999, and several new books in Progress, such as: Stable Analysis Patterns, Stable Design Patterns, Stable Patterns in Action, Service and Production Engines, Moviemaking: UML and Knowledge Map in Action, and Knowledge Map: Stable Pattern Languages.
Additional affiliations
August 2002 - present
San Jose State University
Position
  • Professor (Full)
August 1999 - July 2002
University of Nebraska at Lincoln
Position
  • Professor
Description
  • J.D. Edwards Professor, Associate Professor, Computer Science & Engineering Dept., University of Nebraska, Lincoln http://cse.unl.edu/
August 1996 - June 1998
University of Nevada, Reno
Position
  • Professor
Education
August 1983 - June 1993
University of Minnesota Twin Cities
Field of study
  • Computer Science and Engineering
August 1983 - June 1994
University of Minnesota Twin Cities
Field of study
  • Computer Science and Engineering
September 1968
Cairo University
Field of study
  • Agr. Engineering

Publications

Publications (290)
Book
Full-text available
Software design patterns are known to play a vital role in enhancing the quality of software systems while reducing development time and cost. However, the use of these design patterns has also been known to introduce problems that can significantly reduce the stability, robustness, and reusability of software. This book introduces a new process fo...
Chapter
Often, changing market dynamics require business applications to quickly and efficiently adapt to the needs of the ensuing business environment. Business Rules excel in delivering software solutions that are implicitly adaptable to changing business requirements; thus they can prove to be an effective tool to provide necessary flexibility and contr...
Conference Paper
Abstract -- Privacy is the ability of a person or a group of people to seclude themselves from public scrutiny or selectively protect information about. Privacy is an important human right and everyone has the right to privacy [1, 2]. Privacy is a concept, as it does not have any beginning or end. In addition, it is an Enduring Business Theme (EBT)...
Conference Paper
Abstract -- Often changing market dynamics require business applications to adapt quickly and efficiently to user needs and the ensuing business environment. Business rules can prove to be an effective tool to provide flexibility and control for rapidly deploying these changes across a wide array of business operations. They are a robust and capabl...
Conference Paper
Full-text available
In current business environment, often changing market dynamics like evolving user needs, faults, and intrusions etc. require constant updates in system behavior and resource availability. These changes however should be done without significantly affecting the application structure, thus allowing the system to effortlessly optimize and tune itself...
Conference Paper
Full-text available
Abstract--The world as of today, is witnessing a phenomenon in which a large number of software engineers are trying to solve many different problems and are trying to make tools which make our lives easier, be it simple day to day activities or big tasks involving a huge effort and a number of people working together on it. With Web 2.0, as it mov...
Conference Paper
Full-text available
Abstract -- Why do we need projects? What is the need to carry out a project? What is the ultimate-goal of a project? These are few thoughts that crop up in one’s mind while trying to implement any project. The main motivation behind writing this essay on a project is to highlight that “there are no existing patterns for a project that supports sta...
Conference Paper
A complaint is a statement or an act of expression that exhibits dissatisfaction or unhappiness towards something. A complaint represents an objection to anything unacceptable and hence it can exist in anything we do. However, in the case of software patterns, traditional modeling does not provide a design pattern for a complaint. This paper introd...
Chapter
Full-text available
Conference Paper
Abstract -- Policies are a set of ascertained goals that somebody seeks to achieve. They constitute the core principles and guidelines required to direct the future course of action for any organization. In other words, any policy is usually adopted for control. The policy stable design pattern represents the core knowledge of anything that constit...
Conference Paper
Reputation is the opinion (more technically, a social evaluation) of the public towards a person, a group of people, or an organization. In other words, reputation is the general estimation that the public has for a person or an institution. It is an important factor in many fields, like business, online communities or social status. It is also a s...
Conference Paper
There are many situations in the modern world where influence is a subtle, but significant, factor. Business and politics abound with a myriad of instances that each must be analyzed and understood for the right course of action to be determined and followed. This paper proposes a model for analyzing these situations without resorting to constructi...
Conference Paper
Full-text available
The endless pursuit for creating effective systems for software reuse has continued for as long as software has existed. To date, there have been few, if any, such effective systems created for ensuring a high degree of reusability from one project to the next. The inherent tendency for projects to demand substantial alterations, despite being desi...
Article
Full-text available
The rich and complex elements existing across the development process that define the ultimate goal of the developers’ team could be viewed as their context. This can be viewed across different dimensions and is helpful for a team of developers to remain within a predefined limit. In other words, they can easily recognize their boundaries and are a...
Article
Full-text available
The term Software Reuse can be defined as a process of developing software systems from existing ones, instead of creating them from scratch [2, 3, 4, 5]. In many software engineering disciplines, systems are designed by recomposing existing software components that have been used in other systems. It has become a topic of renewed interest in the s...
Article
Full-text available
The main actors in Unified Modeling Language (UML) are Humans and Machines. After examining thoroughly, we find that this is arbitrary and it may limit the types and the numbers of applications that that may be modeled. It is most challenging to symbolize the interaction of UML Actors with a system, when the actors are not classified and defined pr...
Article
Full-text available
Legal actors do not exist in UML, which prevents us from using UML in legal applications such as binding contracts etc. The goal is the utilization of legal users in UML to model legal applications. The idea is to introduce legal users in modelling and law applications and how to use them. Reduction in the legal cost is one of the benefits apart fr...
Conference Paper
Full-text available
The Accessibility Stable Analysis Pattern intends to describe the core knowledge behind the concept of Accessibility. Accessibility finds an extensive range of usages in various applications. The pattern also gives an excellent start to software developers, by defining the core knowledge of any accessibility problem. Any developer can build on, ext...
Book
Business rules are the rules of a business, company or corporation that defines their policies and practices. However, most organizations still find it difficult to explicitly define or model these rules. Much of this has to do with a lack of a truly global and widely acceptable set of standards to specify these rules. A uniformly applicable set of...
Article
Full-text available
Legality is an umbrella term that encompasses every aspect of dealing and working with different entities in a lawful manner. Although, legality finds application across almost every existing system, an explicitly defined pattern do not exist for it even now. Hence, this paper will introduce the process of modeling different kinds of related applic...
Article
Full-text available
In business, stress can account for a surprising energy expense, leaving employees drained and unproductive. Stress can also have detrimental effects to teamwork further hampering their ability to function. The term stress can have different meanings under different contexts. It is impossible to use this word to apply to a multitude of scenarios in...
Conference Paper
Full-text available
The pattern Accessibility stable analysis intends to describe the core knowledge behind the concept of “Accessibility”. Accessibility finds an extensive range of usages in various applications. The pattern also gives an excellent start to software developers, by defining the core knowledge of any accessibility problem. Any developer can build on, e...
Article
Full-text available
In business, stress can account for a surprising energy expense, leaving employees drained and unproductive. Stress can also have detrimental effects to teamwork further hampering their ability to function. The objective of this paper is to provide a model for stress that may be used to analyze stress in practically any environment or scenario. Thi...
Book
Software design patterns are known to play a vital role in enhancing the quality of software systems while reducing development time and cost. However, the use of these design patterns has also been known to introduce problems that can significantly reduce the stability, robustness, and reusability of software. This book introduces a new process fo...
Book
Software design patterns are known to play a vital role in enhancing the quality of software systems while reducing development time and cost. However, the use of these design patterns has also been known to introduce problems that can significantly reduce the stability, robustness, and reusability of software. This book introduces a new process fo...
Book
Software design patterns are known to play a vital role in enhancing the quality of software systems while reducing development time and cost. However, the use of these design patterns has also been known to introduce problems that can significantly reduce the stability, robustness, and reusability of software. This book introduces a new process fo...
Book
Full-text available
Software design patterns are known to play a vital role in enhancing the quality of software systems while reducing development time and cost. However, the use of these design patterns has also been known to introduce problems that can significantly reduce the stability, robustness, and reusability of software. This book introduces a new process fo...
Book
Full-text available
Software design patterns are known to play a vital role in enhancing the quality of software systems while reducing development time and cost. However, the use of these design patterns has also been known to introduce problems that can significantly reduce the stability, robustness, and reusability of software. This book introduces a new process fo...
Article
The Special Issue of Software Practice and Experience presents papers on pattern language that usually consists of a cascade or hierarchy of parts, linked closely together by patterns, which solve generically recurring problems that are associated with these parts. The first paper is titled 'Towards Design Pattern Definition Language'. It proposes...
Article
Full-text available
In previous work we have discussed some of the problems that face the contemporary analysis patterns, and proposed the new concept of "Stable Analysis Patterns" as a solution to these problems [2,3,5]. Since that time we have applied the same concepts to design as well as analysis, resulting in the broad concept of Stable Software Patterns, with sp...
Article
A role of an entity can be defined as the set of properties that are important for an object in order to behave in a certain way, as expected by a set of other objects. A role model is a software that specifies a style of designing and implementing roles. ...
Conference Paper
Full-text available
This paper aims at modeling a system that has to perform maintenance, by employing a Corrective Action and come up with a stable pattern, which can form a part of such a system, focusing at applying corrective action in a holistic way, rather than tying it on only one application specific context, which might cause potential impedance mismatch betw...
Article
Modern software-intensive systems are characterized not only by the movement of data, as has been the case in traditional distributed systems, but also by the movement of users, devices, and code. Developing effective, efficient, and dependable systems ...
Conference Paper
Full-text available
E-businesses are increasingly facing the need of porting the provision of their e-services to mobile customers. Evolving requirements, such as reliability, security, scalability, performance and privacy, from fixed to mobile settings, has revealed new and important challenges. This is due to the behavioral constraints that mobility poses, and that...
Conference Paper
A life cycle is defined as the description of the distinct phases, through which each product or organism passes during its life. For example, state transition diagrams (STD) describe the dynamic behavior of objects over time, by modeling the lifecycles of the objects in each class. This paper discusses the life cycle pattern by building a life cyc...
Conference Paper
This paper explores and probes the accessibility stable analysis pattern. The pattern describes the core knowledge behind the concept of "accessibility". Accessibility finds an extensive use in various applications. The pattern gives an excellent start to software developers, by defining the core knowledge of any accessibility problem. Any develope...
Conference Paper
Full-text available
This paper specifically deals with patterns topology or pattern language for performance evaluation, a cognitive process involved in producing and understanding different concepts of patterns in this discipline. It also explains how this language can be used to obtain the relationship between certain stable patterns, exhibiting a rich set of behavi...
Conference Paper
This paper specifically deals with patterns topology or pattern language for performance evaluation, a cognitive process involved in producing and understanding different concepts of patterns in this discipline. It also explains how this language can be used to obtain the relationship between certain stable patterns, exhibiting a rich set of behavi...
Conference Paper
Full-text available
Conference Paper
Full-text available
Conference Paper
A pattern language consists of a cascade or hierarchy of parts, linked closely together by patterns, which solve generically recurring problems that are associated with the parts. Each pattern has a title, and collectively the titles form a language for design [1] Pattern Languages are in life, simply a collection of interrelated patterns [2]. Thes...
Conference Paper
Building a Unified Data Mining Engine (UDME) is not an easy exercise, specifically, when several factors can undermine their quality success, such as cost, time, and lack of systematic approaches. We would like to architect and develop a UDME, that has the some or all of the following properties: 1. Ease of use, 2. No Need of Expert to run the tool...

Network

Cited By

Projects

Projects (10)
Project
Every field of knowledge depends on ABSTRACTIONS.  Currently we are doing very poorly on abstraction process and the type of abstractions because it is based mostly on tangibility and ignoring other type of abstractions.  The art of abstraction is Looking at every concept within the dictionary of natural language (which the way that will be used and utilized in the future for all our systems) as a unique system in a way every concept has unique discovery that includes functional requirements, unique non-functional requirements, contexts, challenges, constraints, applicability, measure-ability, etc. Each concept can be documented in 3, 6, 20, 60, or 100+ pages.  I am in the process of generating a few dictionaries called the art of abstraction discoveries of Intelligent Systems, Image Process, Smart cities, robots, and robotic systems, strategic thinking and planning, I am almost done with the base art of abstraction volume. These art of abstraction discoveries unlimited advantages: 1. Understand and appreciate our natural languages 2. The future of the technology depend on these discovery. 3. Unification of domain analysis of any filed of knowledge 4. Know how to generate stable and unified requirements and ultimate design of any system. 5. Knowledge Unification 7. Limit and control maintenance 8. Explore and create huge number of new systems 9. Generate better methodologies for developing unified ans stable systems 10. Stop re-inventing the wheels 11. Develop self manageable, self-adaptable, self, extendable, self configurable, systems with unlimited applicability and reuse. 12. Appreciate and deep understanding of the holey books 13. A peak of how the future looks like. and many more. We developed a lot of materials on this projects and here some of the outcomes 1. A large number of short and large books in many field of knowledge 2. A large number of short and large papers for prestige journals and conferences. 3. A large number of columns, reviews, citations, etc. 4. A large number of new technical and social events events, gathering, etc. and many more. Please watch the video and check the responses on my Facebook page https://m.youtube.com/watch?v=DAI52UA2dUQ http://www.facebook.com/drmfayad I will be adding a lot of reading materials, many different concept discoveries, articles, columns, books, etc.