private void addAssignPart(StringBuilder sb, BreezeMode initState, Map<String, List<BreezeEvent>> outerEventMap) {
		sb.append("\tASSIGN\n");
		Map<String, List<BreezeModeTransition>> outValTrans = null;
		if (this.modeList.size() > 0) {
			outValTrans = this.addAssignModePart(sb, initState, outerEventMap);
		}

		for (String portKey : this.portMap.keySet()) {
			BreezePort port = this.portMap.get(portKey);

			Map<String, BreezePort> sourcePorts = port.getSource();
			for (String sourcePortId : sourcePorts.keySet()) {
				BreezePort sourcePort = sourcePorts.get(sourcePortId);
				String varId = port.getSmvInName(sourcePort.getId());
				Integer count = (Integer) port.getProperty(varId);
				if (count != null && count > 0) {
					sb.append(templateInit.replaceAll("\\$\\{var\\}", varId).replaceAll("\\$\\{value\\}", BASE_EVENT));
				}
			}

			Integer sizeOfEventSend = (Integer) port.getProperty(port.getSmvOutName());

			if (sizeOfEventSend != null && sizeOfEventSend > 0) {
				sb.append(templateInit.replaceAll("\\$\\{var\\}", port.getSmvOutName()).replaceAll("\\$\\{value\\}", BASE_EVENT));

				StringBuffer value = new StringBuffer();
				List<BreezeModeTransition> tList = outValTrans.get(port.getId());
				if (tList != null) {
					for (BreezeModeTransition trans : tList) {
						value.append("\t\t\t").append(SMVElement.DECL_MODE_NAME).append(" = ")
								.append(trans.getTargetState().getSmvName()).append(" : ").append(trans.getTrigger().getId())
								.append(";\n");
					}
				}
				value.append("\t\t\tTRUE : ").append(BreezeNode.BASE_EVENT).append(";\n");
				sb.append(templateNext.replaceAll("\\$\\{var\\}", port.getSmvOutName()).replaceAll("\\$\\{expr\\}",
						value.toString()));
			}
		}
	}